v1/doc/google/firestore/admin/v1/doc_index.js

"use strict";
// Copyright 2019 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Note: this file is purely for documentation. Any contents are not expected
// to be loaded as the JS file.
/**
 * Cloud Firestore indexes enable simple and complex queries against
 * documents in a database.
 *
 * @property {string} name
 *   Output only. A server defined name for this index.
 *   The form of this name for composite indexes will be:
 *   `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`
 *   For single field indexes, this field will be empty.
 *
 * @property {number} queryScope
 *   Indexes with a collection query scope specified allow queries
 *   against a collection that is the child of a specific document, specified at
 *   query time, and that has the same collection id.
 *
 *   Indexes with a collection group query scope specified allow queries against
 *   all collections descended from a specific document, specified at query
 *   time, and that have the same collection id as this index.
 *
 *   The number should be among the values of [QueryScope]{@link google.firestore.admin.v1.QueryScope}
 *
 * @property {Object[]} fields
 *   The fields supported by this index.
 *
 *   For composite indexes, this is always 2 or more fields.
 *   The last field entry is always for the field path `__name__`. If, on
 *   creation, `__name__` was not specified as the last field, it will be added
 *   automatically with the same direction as that of the last field defined. If
 *   the final field in a composite index is not directional, the `__name__`
 *   will be ordered ASCENDING (unless explicitly specified).
 *
 *   For single field indexes, this will always be exactly one entry with a
 *   field path equal to the field path of the associated field.
 *
 *   This object should have the same structure as [IndexField]{@link google.firestore.admin.v1.IndexField}
 *
 * @property {number} state
 *   Output only. The serving state of the index.
 *
 *   The number should be among the values of [State]{@link google.firestore.admin.v1.State}
 *
 * @typedef Index
 * @memberof google.firestore.admin.v1
 * @see [google.firestore.admin.v1.Index definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/firestore/admin/v1/index.proto}
 */
const Index = {
    // This is for documentation. Actual contents will be loaded by gRPC.
    /**
     * A field in an index.
     * The field_path describes which field is indexed, the value_mode describes
     * how the field value is indexed.
     *
     * @property {string} fieldPath
     *   Can be __name__.
     *   For single field indexes, this must match the name of the field or may
     *   be omitted.
     *
     * @property {number} order
     *   Indicates that this field supports ordering by the specified order or
     *   comparing using =, <, <=, >, >=.
     *
     *   The number should be among the values of [Order]{@link google.firestore.admin.v1.Order}
     *
     * @property {number} arrayConfig
     *   Indicates that this field supports operations on `array_value`s.
     *
     *   The number should be among the values of [ArrayConfig]{@link google.firestore.admin.v1.ArrayConfig}
     *
     * @typedef IndexField
     * @memberof google.firestore.admin.v1
     * @see [google.firestore.admin.v1.Index.IndexField definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/firestore/admin/v1/index.proto}
     */
    IndexField: {
        // This is for documentation. Actual contents will be loaded by gRPC.
        /**
         * The supported array value configurations.
         *
         * @enum {number}
         * @memberof google.firestore.admin.v1
         */
        ArrayConfig: {
            /**
             * The index does not support additional array queries.
             */
            ARRAY_CONFIG_UNSPECIFIED: 0,
            /**
             * The index supports array containment queries.
             */
            CONTAINS: 1,
        },
        /**
         * The supported orderings.
         *
         * @enum {number}
         * @memberof google.firestore.admin.v1
         */
        Order: {
            /**
             * The ordering is unspecified. Not a valid option.
             */
            ORDER_UNSPECIFIED: 0,
            /**
             * The field is ordered by ascending field value.
             */
            ASCENDING: 1,
            /**
             * The field is ordered by descending field value.
             */
            DESCENDING: 2,
        },
    },
    /**
     * Query Scope defines the scope at which a query is run. This is specified on
     * a StructuredQuery's `from` field.
     *
     * @enum {number}
     * @memberof google.firestore.admin.v1
     */
    QueryScope: {
        /**
         * The query scope is unspecified. Not a valid option.
         */
        QUERY_SCOPE_UNSPECIFIED: 0,
        /**
         * Indexes with a collection query scope specified allow queries
         * against a collection that is the child of a specific document, specified
         * at query time, and that has the collection id specified by the index.
         */
        COLLECTION: 1,
        /**
         * Indexes with a collection group query scope specified allow queries
         * against all collections that has the collection id specified by the
         * index.
         */
        COLLECTION_GROUP: 2,
    },
    /**
     * The state of an index. During index creation, an index will be in the
     * `CREATING` state. If the index is created successfully, it will transition
     * to the `READY` state. If the index creation encounters a problem, the index
     * will transition to the `NEEDS_REPAIR` state.
     *
     * @enum {number}
     * @memberof google.firestore.admin.v1
     */
    State: {
        /**
         * The state is unspecified.
         */
        STATE_UNSPECIFIED: 0,
        /**
         * The index is being created.
         * There is an active long-running operation for the index.
         * The index is updated when writing a document.
         * Some index data may exist.
         */
        CREATING: 1,
        /**
         * The index is ready to be used.
         * The index is updated when writing a document.
         * The index is fully populated from all stored documents it applies to.
         */
        READY: 2,
        /**
         * The index was being created, but something went wrong.
         * There is no active long-running operation for the index,
         * and the most recently finished long-running operation failed.
         * The index is not updated when writing a document.
         * Some index data may exist.
         * Use the google.longrunning.Operations API to determine why the operation
         * that last attempted to create this index failed, then re-create the
         * index.
         */
        NEEDS_REPAIR: 3,
    },
};
//# sourceMappingURL=doc_index.js.map