2021-09-14 20:36:40 +02:00
|
|
|
import joi from 'joi';
|
|
|
|
import { nameType } from '../routes/util';
|
2020-09-28 21:54:44 +02:00
|
|
|
|
2021-09-14 20:36:40 +02:00
|
|
|
export const projectSchema = joi
|
2020-09-28 21:54:44 +02:00
|
|
|
.object()
|
|
|
|
.keys({
|
|
|
|
id: nameType,
|
|
|
|
name: joi.string().required(),
|
2021-08-12 15:04:37 +02:00
|
|
|
description: joi.string().allow(null).allow('').optional(),
|
2023-09-15 10:01:25 +02:00
|
|
|
mode: joi
|
|
|
|
.string()
|
|
|
|
.valid('open', 'protected', 'private')
|
|
|
|
.default('open'),
|
2023-04-04 14:52:45 +02:00
|
|
|
defaultStickiness: joi.string().default('default'),
|
2023-07-13 13:02:35 +02:00
|
|
|
featureLimit: joi.number().allow(null).optional(),
|
2023-09-04 13:53:33 +02:00
|
|
|
featureNaming: joi.object().keys({
|
2023-09-05 13:40:03 +02:00
|
|
|
pattern: joi.string().allow(null).allow('').optional(),
|
|
|
|
example: joi.string().allow(null).allow('').optional(),
|
2023-09-06 10:13:28 +02:00
|
|
|
description: joi.string().allow(null).allow('').optional(),
|
2023-09-04 13:53:33 +02:00
|
|
|
}),
|
2020-09-28 21:54:44 +02:00
|
|
|
})
|
|
|
|
.options({ allowUnknown: false, stripUnknown: true });
|