@maniwrld/marzjs
Version:
A powerful and easy-to-use Node.js client for interacting with Marzban's VPN management API. It supports popular protocols like Xray, V2Ray, and more.
34 lines (28 loc) • 1.04 kB
JavaScript
const Joi = require('joi');
const adminSchema = Joi.object({
username: Joi.string().required(),
is_sudo: Joi.boolean().required(),
telegram_id: Joi.number().optional(),
discord_webhook: Joi.string().allow(null, '').uri().optional().pattern(new RegExp('^https://discord.com'))
});
const adminCreateSchema = adminSchema.keys({
password: Joi.string().min(8).required()
});
const adminModifySchema = Joi.object({
password: Joi.string().min(8).optional(),
is_sudo: Joi.boolean().required(),
telegram_id: Joi.number().optional(),
discord_webhook: Joi.string().allow(null, '').uri().optional().pattern(new RegExp('^https://discord.com'))
});
const adminPartialModifySchema = Joi.object({
password: Joi.string().min(8).optional(),
is_sudo: Joi.boolean().optional(),
telegram_id: Joi.number().optional(),
discord_webhook: Joi.string().allow(null, '').uri().optional().pattern(new RegExp('^https://discord.com'))
});
module.exports = {
adminSchema,
adminCreateSchema,
adminModifySchema,
adminPartialModifySchema
};