"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Storage = exports.AccessLevel = exports.PermissionRole = exports.CollectionOperation = exports.DataOperation = void 0;
var DataOperation;
(function (DataOperation) {
    DataOperation["aggregate"] = "aggregate";
    DataOperation["bulkInsert"] = "bulkInsert";
    DataOperation["bulkRemove"] = "bulkRemove";
    DataOperation["bulkSave"] = "bulkSave";
    DataOperation["bulkUpdate"] = "bulkUpdate";
    DataOperation["count"] = "count";
    DataOperation["distinct"] = "distinct";
    DataOperation["find"] = "find";
    DataOperation["get"] = "get";
    DataOperation["insert"] = "insert";
    DataOperation["insertReference"] = "insertReference";
    DataOperation["isReferenced"] = "isReferenced";
    DataOperation["queryReferenced"] = "queryReferenced";
    DataOperation["remove"] = "remove";
    DataOperation["removeReference"] = "removeReference";
    DataOperation["replaceReferences"] = "replaceReferences";
    DataOperation["save"] = "save";
    DataOperation["truncate"] = "truncate";
    DataOperation["update"] = "update";
    DataOperation["patch"] = "patch";
    DataOperation["bulkPatch"] = "bulkPatch";
})(DataOperation = exports.DataOperation || (exports.DataOperation = {}));
var CollectionOperation;
(function (CollectionOperation) {
    CollectionOperation["UPDATE"] = "update";
    CollectionOperation["REMOVE"] = "remove";
})(CollectionOperation = exports.CollectionOperation || (exports.CollectionOperation = {}));
var PermissionRole;
(function (PermissionRole) {
    /**
     * Anyone (anonymous) can perform the operation
     */
    PermissionRole["anyone"] = "anyone";
    /**
     * User of user can perform the operation
     */
    PermissionRole["siteMember"] = "siteMember";
    /**
     * User of user who is the owner (producer) of the
     * data can perform the operation.
     *
     * In regular Wix Data collections, this allows
     * performing operation on an item if _owner field
     * matches the currently logged Site Member id.
     *
     * In case of DB drivers, this can match the
     * ownership that is appropriate to vertical, ex.:
     * UoU can see his purchases, or contact can see
     * his details.
     */
    PermissionRole["siteMemberAuthor"] = "siteMemberAuthor";
    /**
     * Site Admin can perform the operation.
     */
    PermissionRole["admin"] = "admin";
})(PermissionRole = exports.PermissionRole || (exports.PermissionRole = {}));
var AccessLevel;
(function (AccessLevel) {
    /** Any subject, including visitors */
    AccessLevel["ANYONE"] = "ANYONE";
    /** Any signed-in user (both site members and collaborators) */
    AccessLevel["SITE_MEMBER"] = "SITE_MEMBER";
    /** Any signed-in user, but site members only have access to own items */
    AccessLevel["SITE_MEMBER_AUTHOR"] = "SITE_MEMBER_AUTHOR";
    /** Site collaborator that has a role with CMS Access permission */
    AccessLevel["CMS_EDITOR"] = "CMS_EDITOR";
    /** CMS administrators and users or roles granted with special access */
    AccessLevel["PRIVILEGED"] = "PRIVILEGED";
})(AccessLevel = exports.AccessLevel || (exports.AccessLevel = {}));
var Storage;
(function (Storage) {
    /**
     * DB driver collection
     */
    Storage["driver"] = "driver";
    /**
     * User collection
     */
    Storage["docstore"] = "docstore";
    /**
     * App builder collection
     * @deprecated
     * `Storage.staticAppSchema` should be used instead
     */
    Storage["app"] = "app";
    /**
     * External db driver collection
     */
    Storage["external"] = "external";
    /**
     * Dynamic application collection. For example Forms collection.
     * @deprecated
     * `Storage.driver` should be used instead
     */
    Storage["dynamicApplication"] = "dynamicApplication";
    /**
     * Static application collection. For example Blocks collection.
     */
    Storage["staticAppSchema"] = "staticAppSchema";
})(Storage = exports.Storage || (exports.Storage = {}));
//# sourceMappingURL=schema.js.map