فهرست منبع

Изменена схема бд

Vadim 3 ماه پیش
والد
کامیت
80b57d55de
1فایلهای تغییر یافته به همراه39 افزوده شده و 22 حذف شده
  1. 39 22
      src/db/db-schema.ts

+ 39 - 22
src/db/db-schema.ts

@@ -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(),
     },
   },
 };