@ozmap/ozn-sdk
Version:
OZN SDK is a powerful tool for developers to build their own applications on top of OZN using TMForum pattern.
66 lines (65 loc) • 2.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceQualificationOutputSchema = exports.RelatedEntitySchema = exports.EligibilityUnavailabilityReasonSchema = exports.ServiceQualificationAddressSchema = exports.serviceQualificationByIdInputSchema = void 0;
const zod_1 = require("zod");
const shared_1 = require("./shared");
exports.serviceQualificationByIdInputSchema = zod_1.z.object({
serviceQualificationItem: zod_1.z
.array(zod_1.z.object({
service: zod_1.z.object({
place: shared_1.externalSystemsSchema,
}),
}))
.nonempty(),
});
const GeographicLocationSchema = zod_1.z.object({
name: zod_1.z.string(),
type: zod_1.z.string(),
geometry: zod_1.z.array(zod_1.z.object({
x: zod_1.z.number(),
y: zod_1.z.number(),
z: zod_1.z.number().or(zod_1.z.null()),
})),
});
exports.ServiceQualificationAddressSchema = zod_1.z.object({
type: zod_1.z.string(),
geographicLocation: GeographicLocationSchema,
});
const ResourceLocationSchema = zod_1.z.object({
type: zod_1.z.string(),
labelType: zod_1.z.string(),
name: zod_1.z.string(),
description: zod_1.z.string().or(zod_1.z.null()),
parentLocation: zod_1.z.string(),
address: exports.ServiceQualificationAddressSchema,
});
exports.EligibilityUnavailabilityReasonSchema = zod_1.z.object({
code: zod_1.z.string().or(zod_1.z.null()).nullable(),
label: zod_1.z.string().or(zod_1.z.null()).nullable(),
});
const CharacteristicSchema = zod_1.z.object({
name: zod_1.z.string(),
valueType: zod_1.z.string(),
value: zod_1.z.string(),
});
exports.RelatedEntitySchema = zod_1.z.object({
'@type': zod_1.z.string(),
qualificationResult: zod_1.z.string(),
characteristic: zod_1.z.array(CharacteristicSchema),
resourceSpecification: shared_1.ResourceSpecificationSchema,
resourceLocation: ResourceLocationSchema,
eligibilityUnavailabilityReason: zod_1.z.array(exports.EligibilityUnavailabilityReasonSchema),
});
const ServiceSchema = zod_1.z.object({
serviceCharacteristic: zod_1.z.array(CharacteristicSchema),
relatedEntity: zod_1.z.array(exports.RelatedEntitySchema),
});
const ServiceQualificationItemSchema = zod_1.z.object({
qualificationResult: zod_1.z.string(),
service: ServiceSchema,
eligibilityUnavailabilityReason: zod_1.z.array(exports.EligibilityUnavailabilityReasonSchema),
});
exports.serviceQualificationOutputSchema = zod_1.z.object({
provideUnavailabilityReason: zod_1.z.boolean(),
serviceQualificationItem: zod_1.z.array(ServiceQualificationItemSchema),
});