@teikei/schemas
Version:
Teikei validation schemas. Teikei is the software that powers ernte-teilen.org, a website that maps out Community-supported Agriculture in Germany.
41 lines (33 loc) • 1.83 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.farmInitialValues = exports.farmSchema = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _joiBrowser = require('joi-browser');
var _joiBrowser2 = _interopRequireDefault(_joiBrowser);
var _entry = require('./entry');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const farmSchema = exports.farmSchema = _extends({}, _entry.entryDetails, {
depots: _joiBrowser2.default.array().items(_joiBrowser2.default.number()), // server only
acceptsNewMembers: _joiBrowser2.default.string().valid('yes', 'no', 'waitlist').required(),
foundedAtYear: _joiBrowser2.default.number().allow(null),
foundedAtMonth: _joiBrowser2.default.number().min(1).max(12).allow(null),
maximumMembers: _joiBrowser2.default.number().allow(null),
additionalProductInformation: _joiBrowser2.default.string().allow('').allow(null), // legacy
participation: _joiBrowser2.default.string().allow('').allow(null), // legacy
actsEcological: _joiBrowser2.default.boolean().required(),
economicalBehavior: _joiBrowser2.default.string().allow('').allow(null), // legacy
products: _joiBrowser2.default.array().items(_joiBrowser2.default.number()).required()
});
const farmInitialValues = exports.farmInitialValues = _extends({}, _entry.entryInitialValues, {
acceptsNewMembers: 'yes',
foundedAtYear: null,
foundedAtMonth: null,
maximumMembers: null,
additionalProductInformation: '',
participation: '',
actsEcological: false,
economicalBehavior: '',
products: []
});