|
@@ -1,3 +1,4 @@
|
|
|
+import { FieldTypeCode } from "#api/v_0.1.0/types/pe-types.js";
|
|
|
import { z } from "zod";
|
|
|
|
|
|
const DbSchema = {
|
|
@@ -6,9 +7,6 @@ const DbSchema = {
|
|
|
userId: z.string().uuid(),
|
|
|
email: z.string().email(),
|
|
|
password: z.string(),
|
|
|
- firstName: z.string(),
|
|
|
- lastName: z.string(),
|
|
|
- patronymic: z.string().nullable(),
|
|
|
wrongPassTries: z.number().int().default(0),
|
|
|
},
|
|
|
roles: {
|
|
@@ -45,7 +43,7 @@ const DbSchema = {
|
|
|
userRoles: {
|
|
|
roleId: z.string().uuid(),
|
|
|
userId: z.string().uuid(),
|
|
|
- eventId: z.string().uuid().nullable(),
|
|
|
+ eventId: z.string().uuid(),
|
|
|
},
|
|
|
confirmPins: {
|
|
|
transactionId: z.string().uuid(),
|
|
@@ -61,30 +59,45 @@ const DbSchema = {
|
|
|
rotDate: z.string().datetime(),
|
|
|
},
|
|
|
},
|
|
|
+
|
|
|
ev: {
|
|
|
events: {
|
|
|
eventId: z.string().uuid(),
|
|
|
code: z.string(),
|
|
|
+ eventTypeId: z.string().uuid(),
|
|
|
+ ownerId: z.string().uuid(),
|
|
|
+ },
|
|
|
+ eventInst: {
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
+ eventId: z.string().uuid(),
|
|
|
privateName: z.string(),
|
|
|
publicName: z.string(),
|
|
|
timezone: z.string(),
|
|
|
- eventTypeId: z.string().uuid(),
|
|
|
- ownerId: z.string().uuid(),
|
|
|
+ isCurrent: z.boolean().default(false),
|
|
|
},
|
|
|
eventTypes: {
|
|
|
eventTypeId: z.string().uuid(),
|
|
|
code: z.string(),
|
|
|
name: z.string(),
|
|
|
},
|
|
|
+ userEventFields: {
|
|
|
+ eventId: z.string().uuid(),
|
|
|
+ fieldDefinitionId: z.string().uuid(),
|
|
|
+ },
|
|
|
+ userEventFieldValues: {
|
|
|
+ userId: z.string().uuid(),
|
|
|
+ fieldDefinitionId: z.string().uuid(),
|
|
|
+ value: z.string().nullable(),
|
|
|
+ },
|
|
|
eventDates: {
|
|
|
evDateId: z.string().uuid(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
date: z.string().datetime(),
|
|
|
},
|
|
|
locations: {
|
|
|
locationId: z.string().uuid(),
|
|
|
name: z.string(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
},
|
|
|
areas: {
|
|
|
areaId: z.string().uuid(),
|
|
@@ -95,24 +108,25 @@ const DbSchema = {
|
|
|
programBlocks: {
|
|
|
blockId: z.string().uuid(),
|
|
|
name: z.string(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
},
|
|
|
programPoints: {
|
|
|
pointId: z.string().uuid(),
|
|
|
name: z.string(),
|
|
|
- dateStart: z.string().datetime(),
|
|
|
- dateEnd: z.string().datetime(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ dateStart: z.string().datetime().nullable(),
|
|
|
+ dateEnd: z.string().datetime().nullable(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
areaId: z.string().uuid().nullable(),
|
|
|
blockId: z.string().uuid().nullable(),
|
|
|
- isInternal: z.boolean().nullable(),
|
|
|
+ isInternal: z.boolean(),
|
|
|
},
|
|
|
},
|
|
|
+
|
|
|
act: {
|
|
|
activityCategories: {
|
|
|
categoryId: z.string().uuid(),
|
|
|
name: z.string(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
},
|
|
|
peTypes: {
|
|
|
peTypeId: z.string().uuid(),
|
|
@@ -123,7 +137,7 @@ const DbSchema = {
|
|
|
activityId: z.string().uuid(),
|
|
|
privateName: z.string(),
|
|
|
publicName: z.string(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
categoryId: z.string().uuid().nullable(),
|
|
|
blockId: z.string().uuid().nullable(),
|
|
|
},
|
|
@@ -134,7 +148,7 @@ const DbSchema = {
|
|
|
partEntities: {
|
|
|
peId: z.string().uuid(),
|
|
|
peTypeId: z.string().uuid(),
|
|
|
- eventId: z.string().uuid(),
|
|
|
+ eventInstId: z.string().uuid(),
|
|
|
ownerId: z.string().uuid(),
|
|
|
},
|
|
|
peMembers: {
|
|
@@ -149,7 +163,8 @@ const DbSchema = {
|
|
|
activityRegs: {
|
|
|
activityRegId: z.string().uuid(),
|
|
|
activityId: z.string().uuid(),
|
|
|
- peId: z.string().uuid(),
|
|
|
+ peId: z.string().uuid().nullable(),
|
|
|
+ userId: z.string().uuid().nullable(),
|
|
|
},
|
|
|
arFieldValues: {
|
|
|
activityRegId: z.string().uuid(),
|
|
@@ -166,10 +181,11 @@ const DbSchema = {
|
|
|
value: z.string().nullable(),
|
|
|
},
|
|
|
},
|
|
|
+
|
|
|
cf: {
|
|
|
fieldTypes: {
|
|
|
fieldTypeId: z.string().uuid(),
|
|
|
- code: z.string(),
|
|
|
+ code: FieldTypeCode,
|
|
|
},
|
|
|
fieldValidators: {
|
|
|
validatorId: z.string().uuid(),
|
|
@@ -178,16 +194,17 @@ const DbSchema = {
|
|
|
fieldTypeId: z.string().uuid(),
|
|
|
},
|
|
|
customFieldDefinitions: {
|
|
|
- fieldId: z.string().uuid(),
|
|
|
+ fieldDefinitionId: z.string().uuid(),
|
|
|
+ code: z.string().nullable(),
|
|
|
fieldTypeId: z.string().uuid(),
|
|
|
title: z.string(),
|
|
|
mask: z.string().nullable(),
|
|
|
- options: z.string().nullable(),
|
|
|
+ options: z.array(z.string()).nullable(),
|
|
|
},
|
|
|
customFieldValidators: {
|
|
|
- fieldId: z.string().uuid(),
|
|
|
+ fieldDefinitionId: z.string().uuid(),
|
|
|
validatorId: z.string().uuid(),
|
|
|
- param: z.string().nullable(),
|
|
|
+ value: z.string().nullable(),
|
|
|
},
|
|
|
},
|
|
|
};
|