UNPKG

@naturalcycles/db-lib

Version:

Lowest Common Denominator API to supported Databases

33 lines (32 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dbQuerySchema = exports.dbQueryOrderSchema = exports.dbQueryFilterSchema = exports.dbQueryFilterOperatorSchema = exports.commonDBSaveOptionsSchema = exports.commonDBOptionsSchema = void 0; const nodejs_lib_1 = require("@naturalcycles/nodejs-lib"); const dbQuery_1 = require("../query/dbQuery"); exports.commonDBOptionsSchema = (0, nodejs_lib_1.objectSchema)({ ['onlyCache']: nodejs_lib_1.booleanSchema.optional(), ['skipCache']: nodejs_lib_1.booleanSchema.optional(), }); exports.commonDBSaveOptionsSchema = (0, nodejs_lib_1.objectSchema)({ excludeFromIndexes: (0, nodejs_lib_1.arraySchema)(nodejs_lib_1.stringSchema).optional(), }).concat(exports.commonDBOptionsSchema); exports.dbQueryFilterOperatorSchema = nodejs_lib_1.Joi.string().valid(...dbQuery_1.dbQueryFilterOperatorValues); exports.dbQueryFilterSchema = (0, nodejs_lib_1.objectSchema)({ name: nodejs_lib_1.stringSchema, op: exports.dbQueryFilterOperatorSchema, val: nodejs_lib_1.anySchema, }); exports.dbQueryOrderSchema = (0, nodejs_lib_1.objectSchema)({ name: nodejs_lib_1.stringSchema, descending: nodejs_lib_1.booleanSchema.optional(), }); exports.dbQuerySchema = (0, nodejs_lib_1.objectSchema)({ table: nodejs_lib_1.stringSchema, _filters: (0, nodejs_lib_1.arraySchema)(exports.dbQueryFilterSchema).optional(), _limitValue: nodejs_lib_1.integerSchema.min(0).optional(), _offsetValue: nodejs_lib_1.integerSchema.min(0).optional(), _orders: (0, nodejs_lib_1.arraySchema)(exports.dbQueryOrderSchema).optional(), _startCursor: nodejs_lib_1.stringSchema.optional(), _endCursor: nodejs_lib_1.stringSchema.optional(), _selectedFieldNames: (0, nodejs_lib_1.arraySchema)(nodejs_lib_1.stringSchema).optional(), });