import propTypes from 'prop-types'; namespace solutions.poole.questlog.api.v0.models { export const user = propTypes.exact({ guid: propTypes.string.isRequired, email: propTypes.string, name: propTypes.string, }); export const guest = propTypes.exact({ email: propTypes.string, name: propTypes.string, }); } namespace solutions.poole.questlog.api.v0.unions { export const person = propTypes.oneOfType([propTypes.exact({ discriminator: propTypes.oneOf(['guest' as 'guest']).isRequired, email: propTypes.string, name: propTypes.string, }), propTypes.exact({ discriminator: propTypes.oneOf(['user' as 'user']).isRequired, guid: propTypes.string.isRequired, email: propTypes.string, name: propTypes.string, })]); } namespace solutions.poole.questlog.api.v0.enums { export const itemType = propTypes.oneOf(['Food', 'Clothes', 'Camp', 'Utensils', 'Gear']); } namespace solutions.poole.questlog.api.v0.models { export const item = propTypes.exact({ name: propTypes.string.isRequired, size: propTypes.number, description: propTypes.string, type: solutions.poole.questlog.api.v0.enums.itemType, }); export const participant = propTypes.exact({ person: solutions.poole.questlog.api.v0.unions.person.isRequired, items: propTypes.arrayOf(solutions.poole.questlog.api.v0.models.item), }); export const adventure = propTypes.exact({ guid: propTypes.string.isRequired, name: propTypes.string.isRequired, description: propTypes.string, location: propTypes.string, participants: propTypes.arrayOf(solutions.poole.questlog.api.v0.models.participant), pack_lists: propTypes.arrayOf(solutions.poole.questlog.api.v0.models.item), }); export const error = propTypes.exact({ code: propTypes.string.isRequired, message: propTypes.string.isRequired, }); } export const adventure = solutions.poole.questlog.api.v0.models.adventure; export const error = solutions.poole.questlog.api.v0.models.error; export const guest = solutions.poole.questlog.api.v0.models.guest; export const item = solutions.poole.questlog.api.v0.models.item; export const itemType = solutions.poole.questlog.api.v0.enums.itemType; export const participant = solutions.poole.questlog.api.v0.models.participant; export const person = solutions.poole.questlog.api.v0.unions.person; export const user = solutions.poole.questlog.api.v0.models.user;