UNPKG

@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
'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: [] });