@defra-fish/sales-api-service
Version:
Rod Licensing Sales API
30 lines (25 loc) • 1.32 kB
JavaScript
import Joi from 'joi'
import { validation } from '@defra-fish/business-rules-lib'
import { concessionProofSchema } from './concession-proof.schema.js'
import { permitSchema } from './permit.schema.js'
import { contactResponseSchema } from './contact.schema.js'
import { finalisedPermissionSchemaContent } from './permission.schema.js'
const REFERENCE_LENGTH = 6
export const authenticateRenewalRequestParamsSchema = Joi.object({
referenceNumber: Joi.string().min(REFERENCE_LENGTH).required().description('The permission reference number (supports partial)')
}).label('authenticate-renewal-request-params')
export const authenticateRenewalRequestQuerySchema = Joi.object({
licenseeBirthDate: validation.contact.createBirthDateValidator(Joi).description('The date of birth of the licensee'),
licenseePostcode: Joi.alternatives().try(
validation.contact.createUKPostcodeValidator(Joi).description('The postcode of the licensee'),
validation.contact.createOverseasPostcodeValidator(Joi)
)
}).label('authenticate-renewal-request-query')
export const authenticateRenewalResponseSchema = Joi.object({
permission: {
...finalisedPermissionSchemaContent,
licensee: contactResponseSchema,
concessions: concessionProofSchema,
permit: permitSchema
}
}).label('authenticate-renewal-response')