async create(request) {
    const body = request.getBody({});
    const { index, collection } = request.getIndexAndCollection();

    let config = {};

    // @deprecated sending directly the mappings is deprecated since 2.1.0
    if (body.properties || body.dynamic || body._meta) {
      config.mappings = body;
      request.addDeprecation(
        "2.1.0",
        'Using "properties", "dynamic" or "_meta" fields in the body has been deprecated since Kuzzle version 2.1.0. This feature might be removed in a future major version. Use "settings" and "mappings" fields instead',
      );
    } else {
      config = body;
    }

    await this.ask(
      "core:storage:public:collection:create",
      index,
      collection,
      config,
    );

    return { acknowledged: true };
  }
Creates a new collection with the specifed mappings and settings.
Only update the mappings and settings if the collection exists.

@param {Request} request
@returns {Promise.<Object>}