import { z } from "zod"; // TODO добавть везде uuid const ZDbShema = { events_management: { events: { event_id: z.string().uuid(), local_name: z.string(), timezone: z.string(), company_id: z.string().uuid(), }, event_dates: { event_id: z.string().uuid(), date: z.date(), }, program_points: { program_point_id: z.string().uuid(), name: z.string().min(1), start_date: z.date(), end_date: z.date(), event_id: z.string().uuid(), room_id: z.string().uuid().nullable(), group: z.string(), is_internal: z.boolean(), }, }, companies_management: { companies: { company_id: z.string().uuid(), name: z.string(), owner_id: z.string().uuid(), timezone: z.string(), }, }, tasks_management: { tasks: { task_id: z.string().uuid(), name: z.string(), start_date: z.date().nullable(), end_date: z.date().nullable(), accountable_id: z.string().uuid().nullable(), is_todo: z.boolean(), program_point_id: z.string().uuid().nullable(), room_id: z.string().uuid().nullable(), task_block_id: z.string().uuid(), }, task_blocks: { task_block_id: z.string().uuid(), name: z.string(), event_id: z.string().uuid(), }, task_executors: { task_id: z.string().uuid(), user_id: z.string().uuid(), }, }, locations_management: { locations: { location_id: z.string().uuid(), name: z.string(), event_id: z.string().uuid(), }, rooms: { room_id: z.string().uuid(), name: z.string(), location_id: z.string().uuid(), parent_id: z.string().uuid().nullable(), }, event_locations: { event_id: z.string().uuid(), location_id: z.string().uuid(), }, }, users_management: { users: { user_id: z.string().uuid(), email: z.string().email(), name: z.string(), password: z.string(), wrong_pass_tries: z.number(), }, user_refresh_tokens: { refresh_token: z.string(), user_id: z.string().uuid(), }, confirm_pins: { transaction_id: z.string().uuid(), email: z.string().email(), confirm_pin: z.number().min(1000).max(9999), create_time: z.date(), wrong_pin_tries: z.number(), }, }, permissions_management: { user_roles: { user_id: z.string().uuid(), role_id: z.string().uuid(), entity_id: z.string().uuid(), }, non_default_roles_overrides: { entity_id: z.string().uuid(), role_id: z.string().uuid(), permission_id: z.string(), permission_value_id: z.string(), }, roles: { role_id: z.string().uuid(), name: z.string(), description: z.string(), entity_id: z.string().uuid().nullable(), entity_type_id: z.string(), is_system: z.boolean(), }, permissions: { permission_id: z.string().uuid(), name: z.string(), entity_type_id: z.string(), }, permission_values: { permission_value_id: z.string(), permission_id: z.string(), name: z.string(), is_default: z.boolean(), parent_id: z.string().uuid().nullable(), }, cached_user_permissions: { user_id: z.string().uuid(), entity_id: z.string().uuid(), permission_id: z.string(), permission_value_id: z.string(), }, default_roles_overrides: { role_id: z.string().uuid(), permission_id: z.string(), permission_value_id: z.string(), }, }, entities_management: { entities: { entity_id: z.string().uuid(), entity_type_id: z.string(), parent_id: z.string().uuid().nullable(), }, entity_types: { entity_type_id: z.string().uuid(), name: z.string(), }, }, }; export { ZDbShema };