UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

33 lines 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createApiToken = void 0; const joi_1 = __importDefault(require("joi")); const api_token_1 = require("../types/models/api-token"); const constants_1 = require("../util/constants"); exports.createApiToken = joi_1.default .object() .keys({ username: joi_1.default.string().required(), type: joi_1.default .string() .lowercase() .required() .valid(api_token_1.ApiTokenType.ADMIN, api_token_1.ApiTokenType.CLIENT, api_token_1.ApiTokenType.FRONTEND), expiresAt: joi_1.default.date().optional(), project: joi_1.default.when('projects', { not: joi_1.default.required(), then: joi_1.default.string().optional().default(api_token_1.ALL), }), projects: joi_1.default.array().min(0).optional(), environment: joi_1.default.when('type', { is: joi_1.default.string().valid(api_token_1.ApiTokenType.CLIENT, api_token_1.ApiTokenType.FRONTEND), then: joi_1.default.string().optional().default(constants_1.DEFAULT_ENV), otherwise: joi_1.default.string().optional().default(api_token_1.ALL), }), }) .nand('project', 'projects') .options({ stripUnknown: true, allowUnknown: false, abortEarly: false }); //# sourceMappingURL=api-token-schema.js.map