@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.
45 lines (37 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.entryInitialValues = exports.entryDetails = exports.entry = 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);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const entry = exports.entry = {
id: _joiBrowser2.default.number(), // server only
legacyId: _joiBrowser2.default.number().allow(null), // server only
type: _joiBrowser2.default.string(), // server only
link: _joiBrowser2.default.string(), // server only
name: _joiBrowser2.default.string().max(255).trim().required(),
city: _joiBrowser2.default.string().max(255).trim().required(),
latitude: _joiBrowser2.default.number().required(),
longitude: _joiBrowser2.default.number().required()
};
const entryDetails = exports.entryDetails = _extends({}, entry, {
createdAt: _joiBrowser2.default.date().iso(), // server only
updatedAt: _joiBrowser2.default.date().iso().allow(null), // server only
address: _joiBrowser2.default.string().trim().allow('') // legacy (force address to be included in geocoder?)
.allow(null), // legacy
description: _joiBrowser2.default.string().allow('').allow(null), // legacy
url: _joiBrowser2.default.string().max(255).uri().allow('').allow(null) // legacy
.trim()
});
const entryInitialValues = exports.entryInitialValues = {
name: '',
city: '',
latitude: null,
longitude: null,
address: '',
description: '',
url: ''
};