"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
function _export(target, all) {
    for(var name in all)Object.defineProperty(target, name, {
        enumerable: true,
        get: Object.getOwnPropertyDescriptor(all, name).get
    });
}
_export(exports, {
    get createOrUpdateFloorSchema () {
        return createOrUpdateFloorSchema;
    },
    get floorNameValidator () {
        return floorNameValidator;
    },
    get floorOrderValidator () {
        return floorOrderValidator;
    },
    get printerInFloorSchema () {
        return printerInFloorSchema;
    },
    get updateFloorNameSchema () {
        return updateFloorNameSchema;
    },
    get updateFloorOrderSchema () {
        return updateFloorOrderSchema;
    },
    get xValidator () {
        return xValidator;
    },
    get yValidator () {
        return yValidator;
    }
});
const _zod = require("zod");
const _serviceconstants = require("../../constants/service.constants");
const _genericvalidation = require("../../controllers/validation/generic.validation");
const xValidator = _zod.z.number().int().min(0).max(12);
const yValidator = _zod.z.number().int().min(0).max(12);
const floorOrderValidator = _zod.z.number().int();
const floorNameValidator = _zod.z.string().min(_serviceconstants.minFloorNameLength);
const printerInFloorSchema = _zod.z.object({
    printerId: _genericvalidation.idRuleV2,
    floorId: _genericvalidation.idRuleV2,
    x: xValidator,
    y: yValidator
});
const updateFloorNameSchema = _zod.z.object({
    name: floorNameValidator
});
const updateFloorOrderSchema = _zod.z.object({
    order: floorOrderValidator
});
const createOrUpdateFloorSchema = _zod.z.object({
    name: floorNameValidator,
    order: floorOrderValidator,
    printers: _zod.z.array(_zod.z.object({
        printerId: _genericvalidation.idRuleV2,
        floorId: _genericvalidation.idRuleV2.optional(),
        x: xValidator,
        y: yValidator
    })).optional()
});

//# sourceMappingURL=floor-service.validation.js.map