@yimingliao/cms 0.0.252 → 0.0.253

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/export/server/index.js +1 -1
  2. package/dist/src/client/interfaces/components/resources/file/file-relations-section.js +6 -6
  3. package/dist/src/domain/resources/file/utils/is-file-locked.js +2 -2
  4. package/dist/src/server/infrastructure/database/config/command/create-config-command-repository.js +31 -1
  5. package/dist/src/server/infrastructure/database/config/include.js +17 -0
  6. package/dist/src/server/infrastructure/database/config/query/{create-post-query-repository.js → create-config-query-repository.js} +3 -2
  7. package/dist/src/server/infrastructure/database/file/include.js +6 -6
  8. package/dist/src/server/infrastructure/database/post/command/create-post-command-repository.js +24 -24
  9. package/dist/src/server/infrastructure/database/post/include.js +6 -6
  10. package/dist/src/server/infrastructure/database/utils/build-file-usage.js +6 -6
  11. package/dist/src/server/infrastructure/zod/schemas/schemas.js +8 -0
  12. package/dist/src/server/interfaces/actions/resources/config/commands/update/config-update-validator.js +11 -0
  13. package/dist/src/server/interfaces/actions/resources/file/commands/create/file-create-validator.js +3 -3
  14. package/dist/src/server/interfaces/actions/resources/file/commands/create-many/file-create-many-validator.js +3 -3
  15. package/dist/src/server/interfaces/actions/resources/file/commands/update/file-update-validator.js +3 -3
  16. package/dist/src/server/interfaces/actions/resources/post/commands/create/post-create-validator.js +29 -9
  17. package/dist/src/server/interfaces/actions/resources/post/commands/update/post-update-validator.js +29 -9
  18. package/dist/src/server/interfaces/apis/multi-files-upload/validator.js +2 -2
  19. package/dist/types/src/domain/resources/config/full.d.ts +7 -0
  20. package/dist/types/src/domain/resources/config/full.d.ts.map +1 -1
  21. package/dist/types/src/domain/resources/file/full.d.ts +6 -6
  22. package/dist/types/src/domain/resources/file/full.d.ts.map +1 -1
  23. package/dist/types/src/domain/resources/post/base.d.ts +12 -4
  24. package/dist/types/src/domain/resources/post/base.d.ts.map +1 -1
  25. package/dist/types/src/domain/resources/post/full.d.ts +6 -6
  26. package/dist/types/src/domain/resources/post/full.d.ts.map +1 -1
  27. package/dist/types/src/domain/resources/post/translation.d.ts +8 -0
  28. package/dist/types/src/domain/resources/post/translation.d.ts.map +1 -1
  29. package/dist/types/src/server/infrastructure/database/config/command/create-config-command-repository.d.ts +1 -1
  30. package/dist/types/src/server/infrastructure/database/config/command/create-config-command-repository.d.ts.map +1 -1
  31. package/dist/types/src/server/infrastructure/database/config/command/types.d.ts +7 -1
  32. package/dist/types/src/server/infrastructure/database/config/command/types.d.ts.map +1 -1
  33. package/dist/types/src/server/infrastructure/database/config/include.d.ts +34 -0
  34. package/dist/types/src/server/infrastructure/database/config/include.d.ts.map +1 -0
  35. package/dist/types/src/server/infrastructure/database/config/query/{create-post-query-repository.d.ts → create-config-query-repository.d.ts} +1 -1
  36. package/dist/types/src/server/infrastructure/database/config/query/create-config-query-repository.d.ts.map +1 -0
  37. package/dist/types/src/server/infrastructure/database/config/query/index.d.ts +1 -1
  38. package/dist/types/src/server/infrastructure/database/config/query/index.d.ts.map +1 -1
  39. package/dist/types/src/server/infrastructure/database/file/include.d.ts +6 -6
  40. package/dist/types/src/server/infrastructure/database/post/command/create-post-command-repository.d.ts +2 -2
  41. package/dist/types/src/server/infrastructure/database/post/command/create-post-command-repository.d.ts.map +1 -1
  42. package/dist/types/src/server/infrastructure/database/post/command/types.d.ts +44 -12
  43. package/dist/types/src/server/infrastructure/database/post/command/types.d.ts.map +1 -1
  44. package/dist/types/src/server/infrastructure/database/post/include.d.ts +6 -6
  45. package/dist/types/src/server/infrastructure/zod/schemas/schemas.d.ts +1 -0
  46. package/dist/types/src/server/infrastructure/zod/schemas/schemas.d.ts.map +1 -1
  47. package/dist/types/src/server/interfaces/actions/resources/config/commands/update/config-update-validator.d.ts +26 -0
  48. package/dist/types/src/server/interfaces/actions/resources/config/commands/update/config-update-validator.d.ts.map +1 -1
  49. package/dist/types/src/server/interfaces/actions/resources/post/commands/create/create-post-create-action.d.ts +7 -7
  50. package/dist/types/src/server/interfaces/actions/resources/post/commands/create/create-post-create-action.d.ts.map +1 -1
  51. package/dist/types/src/server/interfaces/actions/resources/post/commands/create/post-create-validator.d.ts +82 -18
  52. package/dist/types/src/server/interfaces/actions/resources/post/commands/create/post-create-validator.d.ts.map +1 -1
  53. package/dist/types/src/server/interfaces/actions/resources/post/commands/update/create-post-update-action.d.ts +7 -7
  54. package/dist/types/src/server/interfaces/actions/resources/post/commands/update/create-post-update-action.d.ts.map +1 -1
  55. package/dist/types/src/server/interfaces/actions/resources/post/commands/update/post-update-validator.d.ts +82 -18
  56. package/dist/types/src/server/interfaces/actions/resources/post/commands/update/post-update-validator.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/prisma/schema/Config/Config.prisma +18 -0
  59. package/prisma/schema/File/File.prisma +21 -11
  60. package/prisma/schema/Post/{Post.prisma → post.prisma} +39 -15
  61. package/dist/types/src/server/infrastructure/database/config/query/create-post-query-repository.d.ts.map +0 -1
@@ -28,7 +28,7 @@ export { createPostQueryRepository } from '../../src/server/infrastructure/datab
28
28
  export { POST_LIST_CARD_INCLUDE } from '../../src/server/infrastructure/database/post/include.js';
29
29
  export { createSeoMetadataCommandRepository } from '../../src/server/infrastructure/database/seo-metadata/command/create-seo-metadata-command-repository.js';
30
30
  export { createConfigCommandRepository } from '../../src/server/infrastructure/database/config/command/create-config-command-repository.js';
31
- export { createConfigQueryRepository } from '../../src/server/infrastructure/database/config/query/create-post-query-repository.js';
31
+ export { createConfigQueryRepository } from '../../src/server/infrastructure/database/config/query/create-config-query-repository.js';
32
32
  export { createInquiryCommandRepository } from '../../src/server/infrastructure/database/inquiry/command/create-inquiry-command-repository.js';
33
33
  export { createInquiryQueryRepository } from '../../src/server/infrastructure/database/inquiry/query/create-post-query-repository.js';
34
34
  export { ADMIN_ORDER_BY, ORDER_BY, POST_ORDER_BY } from '../../src/server/infrastructure/database/constants.js';
@@ -37,12 +37,12 @@ import 'next/image';
37
37
  const postRelations = [
38
38
  "postsAsContentImage",
39
39
  "postsAsCoverImage",
40
- "postsAsImages1",
41
- "postsAsImages2",
42
- "postsAsImage1",
43
- "postsAsImage2",
44
- "postsAsImage3",
45
- "postsAsImage4"
40
+ "postsAsFiles1",
41
+ "postsAsFiles2",
42
+ "postsAsFile1",
43
+ "postsAsFile2",
44
+ "postsAsFile3",
45
+ "postsAsFile4"
46
46
  ];
47
47
  function createFileRelationsSection({
48
48
  autherEnabled,
@@ -1,9 +1,9 @@
1
1
  const isFileLocked = (file) => {
2
2
  if (!file) return false;
3
- if (!("adminAsAvatarImage" in file && "postsAsCoverImage" in file && "postsAsContentImage" in file && "postsAsImages1" in file && "postsAsImages2" in file && "postsAsImage1" in file && "postsAsImage2" in file && "postsAsImage3" in file && "postsAsImage4" in file)) {
3
+ if (!("adminAsAvatarImage" in file && "postsAsCoverImage" in file && "postsAsContentImage" in file && "postsAsFiles1" in file && "postsAsFiles2" in file && "postsAsFile1" in file && "postsAsFile2" in file && "postsAsFile3" in file && "postsAsFile4" in file)) {
4
4
  return false;
5
5
  }
6
- const locked = file.adminAsAvatarImage.length > 0 || file.postsAsCoverImage.length > 0 || file.postsAsContentImage.length > 0 || file.postsAsImages1.length > 0 || file.postsAsImages2.length > 0 || file.postsAsImage1.length > 0 || file.postsAsImage2.length > 0 || file.postsAsImage3.length > 0 || file.postsAsImage4.length > 0;
6
+ const locked = file.adminAsAvatarImage.length > 0 || file.postsAsCoverImage.length > 0 || file.postsAsContentImage.length > 0 || file.postsAsFiles1.length > 0 || file.postsAsFiles2.length > 0 || file.postsAsFile1.length > 0 || file.postsAsFile2.length > 0 || file.postsAsFile3.length > 0 || file.postsAsFile4.length > 0;
7
7
  return locked;
8
8
  };
9
9
 
@@ -1,8 +1,38 @@
1
+ import { updateOne, updateMany } from '../../utils/connect.js';
2
+
1
3
  function createConfigCommandRepository(prisma) {
2
- async function update({ id, translations }) {
4
+ async function update({
5
+ id,
6
+ // ------------------------------------
7
+ // --- custom fields
8
+ // ------------------------------------
9
+ // multi images
10
+ files1,
11
+ files2,
12
+ // single images
13
+ file1,
14
+ file2,
15
+ file3,
16
+ file4,
17
+ // ------------------------------------
18
+ // translation
19
+ // ------------------------------------
20
+ translations
21
+ }) {
3
22
  const updated = await prisma.config.update({
4
23
  where: { id },
5
24
  data: {
25
+ // ------------------------------------------------------------------------
26
+ // --- custom fields
27
+ // ------------------------------------------------------------------------
28
+ // multi images
29
+ files1: updateMany(files1),
30
+ files2: updateMany(files2),
31
+ // single images
32
+ file1: updateOne(file1),
33
+ file2: updateOne(file2),
34
+ file3: updateOne(file3),
35
+ file4: updateOne(file4),
6
36
  translations: {
7
37
  upsert: translations.map((t) => ({
8
38
  where: { configId_locale: { configId: id, locale: t.locale } },
@@ -0,0 +1,17 @@
1
+ const CONFIG_FULL_INCLUDE = {
2
+ // ---------------------------
3
+ // --- custom fields
4
+ // ---------------------------
5
+ files1: { include: { translations: true } },
6
+ files2: { include: { translations: true } },
7
+ file1: { include: { translations: true } },
8
+ file2: { include: { translations: true } },
9
+ file3: { include: { translations: true } },
10
+ file4: { include: { translations: true } },
11
+ // ---------------------------
12
+ // translation
13
+ // ---------------------------
14
+ translations: true
15
+ };
16
+
17
+ export { CONFIG_FULL_INCLUDE };
@@ -1,15 +1,16 @@
1
1
  import { CONFIG_ORDER_BY } from '../../constants.js';
2
+ import { CONFIG_FULL_INCLUDE } from '../include.js';
2
3
 
3
4
  function createConfigQueryRepository(prisma) {
4
5
  async function find({ slug }) {
5
6
  return prisma.config.findUnique({
6
7
  where: { slug },
7
- include: { translations: true }
8
+ include: CONFIG_FULL_INCLUDE
8
9
  });
9
10
  }
10
11
  async function findMany() {
11
12
  return prisma.config.findMany({
12
- include: { translations: true },
13
+ include: CONFIG_FULL_INCLUDE,
13
14
  orderBy: CONFIG_ORDER_BY
14
15
  });
15
16
  }
@@ -15,12 +15,12 @@ const FILE_FULL_INCLUDE = {
15
15
  // ---------------------------
16
16
  // --- custom fields
17
17
  // ---------------------------
18
- postsAsImages1: true,
19
- postsAsImages2: true,
20
- postsAsImage1: true,
21
- postsAsImage2: true,
22
- postsAsImage3: true,
23
- postsAsImage4: true,
18
+ postsAsFiles1: true,
19
+ postsAsFiles2: true,
20
+ postsAsFile1: true,
21
+ postsAsFile2: true,
22
+ postsAsFile3: true,
23
+ postsAsFile4: true,
24
24
  // ---------------------------
25
25
  // translation
26
26
  // ---------------------------
@@ -22,13 +22,13 @@ function createPostCommandRepository(prisma) {
22
22
  // --- custom fields
23
23
  // ------------------------------------
24
24
  // multi images
25
- images1,
26
- images2,
25
+ files1,
26
+ files2,
27
27
  // single images
28
- image1,
29
- image2,
30
- image3,
31
- image4,
28
+ file1,
29
+ file2,
30
+ file3,
31
+ file4,
32
32
  // ------------------------------------
33
33
  // translation
34
34
  // ------------------------------------
@@ -64,13 +64,13 @@ function createPostCommandRepository(prisma) {
64
64
  // --- custom fields
65
65
  // ------------------------------------------------------------------------
66
66
  // multi images
67
- images1: connectMany(images1),
68
- images2: connectMany(images2),
67
+ files1: connectMany(files1),
68
+ files2: connectMany(files2),
69
69
  // single images
70
- image1: connectOne(image1),
71
- image2: connectOne(image2),
72
- image3: connectOne(image3),
73
- image4: connectOne(image4),
70
+ file1: connectOne(file1),
71
+ file2: connectOne(file2),
72
+ file3: connectOne(file3),
73
+ file4: connectOne(file4),
74
74
  // ------------------------------------------------------------------------
75
75
  // translation
76
76
  // ------------------------------------------------------------------------
@@ -107,13 +107,13 @@ function createPostCommandRepository(prisma) {
107
107
  // --- custom fields
108
108
  // ------------------------------------
109
109
  // multi images
110
- images1,
111
- images2,
110
+ files1,
111
+ files2,
112
112
  // single images
113
- image1,
114
- image2,
115
- image3,
116
- image4,
113
+ file1,
114
+ file2,
115
+ file3,
116
+ file4,
117
117
  // ------------------------------------
118
118
  // translation
119
119
  // ------------------------------------
@@ -148,13 +148,13 @@ function createPostCommandRepository(prisma) {
148
148
  // --- custom fields
149
149
  // ------------------------------------------------------------------------
150
150
  // multi images
151
- images1: updateMany(images1),
152
- images2: updateMany(images2),
151
+ files1: updateMany(files1),
152
+ files2: updateMany(files2),
153
153
  // single images
154
- image1: updateOne(image1),
155
- image2: updateOne(image2),
156
- image3: updateOne(image3),
157
- image4: updateOne(image4),
154
+ file1: updateOne(file1),
155
+ file2: updateOne(file2),
156
+ file3: updateOne(file3),
157
+ file4: updateOne(file4),
158
158
  // ------------------------------------------------------------------------
159
159
  // translation
160
160
  // ------------------------------------------------------------------------
@@ -52,12 +52,12 @@ const POST_FULL_INCLUDE = {
52
52
  // ---------------------------
53
53
  // --- custom fields
54
54
  // ---------------------------
55
- images1: { include: { translations: true } },
56
- images2: { include: { translations: true } },
57
- image1: { include: { translations: true } },
58
- image2: { include: { translations: true } },
59
- image3: { include: { translations: true } },
60
- image4: { include: { translations: true } },
55
+ files1: { include: { translations: true } },
56
+ files2: { include: { translations: true } },
57
+ file1: { include: { translations: true } },
58
+ file2: { include: { translations: true } },
59
+ file3: { include: { translations: true } },
60
+ file4: { include: { translations: true } },
61
61
  // ---------------------------
62
62
  // translation
63
63
  // ---------------------------
@@ -3,12 +3,12 @@ function buildFileUsage(isLocked) {
3
3
  "adminAsAvatarImage",
4
4
  "postsAsCoverImage",
5
5
  "postsAsContentImage",
6
- "postsAsImages1",
7
- "postsAsImages2",
8
- "postsAsImage1",
9
- "postsAsImage2",
10
- "postsAsImage3",
11
- "postsAsImage4"
6
+ "postsAsFiles1",
7
+ "postsAsFiles2",
8
+ "postsAsFile1",
9
+ "postsAsFile2",
10
+ "postsAsFile3",
11
+ "postsAsFile4"
12
12
  ];
13
13
  if (isLocked === void 0 || isLocked === null) return {};
14
14
  const condition = relations.map((r) => ({
@@ -15,6 +15,13 @@ function createSchemas({
15
15
  return Number.isNaN(num) ? void 0 : num;
16
16
  }, z.number().min(0).max(MAX_NUMBER));
17
17
  }
18
+ function positiveInteger() {
19
+ return z.preprocess((val) => {
20
+ if (val == null || val === "") return;
21
+ const num = Number(typeof val === "string" ? val.trim() : val);
22
+ return Number.isNaN(num) ? void 0 : Math.trunc(num);
23
+ }, z.number().int().min(0).max(MAX_NUMBER));
24
+ }
18
25
  function email() {
19
26
  return z.email().max(254).toLowerCase();
20
27
  }
@@ -67,6 +74,7 @@ function createSchemas({
67
74
  // base
68
75
  text,
69
76
  positiveNumber,
77
+ positiveInteger,
70
78
  // url,
71
79
  email,
72
80
  password,
@@ -1,4 +1,15 @@
1
1
  const configUpdateValidator = (schemas) => schemas.z.object({
2
+ // -----------------------------------------------------------------------
3
+ // --- custom fields
4
+ // -----------------------------------------------------------------------
5
+ // multi images
6
+ files1: schemas.multiItems({ table: "files", column: "id" }),
7
+ files2: schemas.multiItems({ table: "files", column: "id" }),
8
+ // single images
9
+ file1: schemas.singleItem({ table: "files", column: "id" }),
10
+ file2: schemas.singleItem({ table: "files", column: "id" }),
11
+ file3: schemas.singleItem({ table: "files", column: "id" }),
12
+ file4: schemas.singleItem({ table: "files", column: "id" }),
2
13
  // ----------------------------------------------------------------------------
3
14
  // translation
4
15
  // ----------------------------------------------------------------------------
@@ -4,12 +4,12 @@ const fileCreateValidator = (schemas) => schemas.z.object({
4
4
  // file meta
5
5
  fileMeta: schemas.z.object({
6
6
  type: schemas.text(),
7
- size: schemas.positiveNumber(),
7
+ size: schemas.positiveInteger(),
8
8
  name: schemas.text()
9
9
  }),
10
10
  // media info
11
- width: schemas.positiveNumber().nullable().optional(),
12
- height: schemas.positiveNumber().nullable().optional(),
11
+ width: schemas.positiveInteger().nullable().optional(),
12
+ height: schemas.positiveInteger().nullable().optional(),
13
13
  duration: schemas.positiveNumber().nullable().optional(),
14
14
  // ----------------------------------------------------------------------------
15
15
  // relations
@@ -7,12 +7,12 @@ const fileCreateManyValidator = (schemas) => schemas.z.object({
7
7
  // file meta
8
8
  fileMeta: schemas.z.object({
9
9
  type: schemas.text(),
10
- size: schemas.positiveNumber(),
10
+ size: schemas.positiveInteger(),
11
11
  name: schemas.text()
12
12
  }),
13
13
  // media info
14
- width: schemas.positiveNumber().nullable(),
15
- height: schemas.positiveNumber().nullable(),
14
+ width: schemas.positiveInteger().nullable(),
15
+ height: schemas.positiveInteger().nullable(),
16
16
  duration: schemas.positiveNumber().nullable(),
17
17
  // ----------------------------------------------------------------------------
18
18
  // translation
@@ -5,12 +5,12 @@ const fileUpdateValidator = (schemas) => schemas.z.object({
5
5
  // file meta
6
6
  fileMeta: schemas.z.object({
7
7
  type: schemas.text(),
8
- size: schemas.positiveNumber(),
8
+ size: schemas.positiveInteger(),
9
9
  name: schemas.text()
10
10
  }),
11
11
  // media info
12
- width: schemas.positiveNumber().nullable(),
13
- height: schemas.positiveNumber().nullable(),
12
+ width: schemas.positiveInteger().nullable(),
13
+ height: schemas.positiveInteger().nullable(),
14
14
  duration: schemas.positiveNumber().nullable(),
15
15
  // ----------------------------------------------------------------------------
16
16
  // relations
@@ -59,13 +59,13 @@ const postCreateValidator = ({
59
59
  state9: schemas.z.boolean(),
60
60
  state10: schemas.z.boolean(),
61
61
  // multi images
62
- images1: schemas.multiItems({ table: "files", column: "id" }),
63
- images2: schemas.multiItems({ table: "files", column: "id" }),
62
+ files1: schemas.multiItems({ table: "files", column: "id" }),
63
+ files2: schemas.multiItems({ table: "files", column: "id" }),
64
64
  // single images
65
- image1: schemas.singleItem({ table: "files", column: "id" }),
66
- image2: schemas.singleItem({ table: "files", column: "id" }),
67
- image3: schemas.singleItem({ table: "files", column: "id" }),
68
- image4: schemas.singleItem({ table: "files", column: "id" }),
65
+ file1: schemas.singleItem({ table: "files", column: "id" }),
66
+ file2: schemas.singleItem({ table: "files", column: "id" }),
67
+ file3: schemas.singleItem({ table: "files", column: "id" }),
68
+ file4: schemas.singleItem({ table: "files", column: "id" }),
69
69
  // text
70
70
  text1: schemas.text().nullable(),
71
71
  text2: schemas.text().nullable(),
@@ -82,6 +82,16 @@ const postCreateValidator = ({
82
82
  data2: schemas.array(schemas.z.any()),
83
83
  data3: schemas.array(schemas.z.any()),
84
84
  data4: schemas.array(schemas.z.any()),
85
+ // number (decimal)
86
+ dec1: schemas.positiveNumber().nullable(),
87
+ dec2: schemas.positiveNumber().nullable(),
88
+ dec3: schemas.positiveNumber().nullable(),
89
+ dec4: schemas.positiveNumber().nullable(),
90
+ // number (integer)
91
+ int1: schemas.positiveInteger().nullable(),
92
+ int2: schemas.positiveInteger().nullable(),
93
+ int3: schemas.positiveInteger().nullable(),
94
+ int4: schemas.positiveInteger().nullable(),
85
95
  // ----------------------------------------------------------------------------
86
96
  // translation
87
97
  // ----------------------------------------------------------------------------
@@ -109,8 +119,8 @@ const postCreateValidator = ({
109
119
  ),
110
120
  toc: schemas.array(tocItemSchema),
111
121
  // extra
112
- readTime: schemas.positiveNumber().nullable(),
113
- wordCount: schemas.positiveNumber(),
122
+ readTime: schemas.positiveInteger().nullable(),
123
+ wordCount: schemas.positiveInteger(),
114
124
  // -------------------------------------------
115
125
  // --- custom fields
116
126
  // -------------------------------------------
@@ -129,7 +139,17 @@ const postCreateValidator = ({
129
139
  data1: schemas.array(schemas.z.any()),
130
140
  data2: schemas.array(schemas.z.any()),
131
141
  data3: schemas.array(schemas.z.any()),
132
- data4: schemas.array(schemas.z.any())
142
+ data4: schemas.array(schemas.z.any()),
143
+ // number (decimal)
144
+ dec1: schemas.positiveNumber().nullable(),
145
+ dec2: schemas.positiveNumber().nullable(),
146
+ dec3: schemas.positiveNumber().nullable(),
147
+ dec4: schemas.positiveNumber().nullable(),
148
+ // number (integer)
149
+ int1: schemas.positiveInteger().nullable(),
150
+ int2: schemas.positiveInteger().nullable(),
151
+ int3: schemas.positiveInteger().nullable(),
152
+ int4: schemas.positiveInteger().nullable()
133
153
  })
134
154
  )
135
155
  }).transform((obj) => ({
@@ -61,13 +61,13 @@ const postUpdateValidator = ({
61
61
  state9: schemas.z.boolean(),
62
62
  state10: schemas.z.boolean(),
63
63
  // multi images
64
- images1: schemas.multiItems({ table: "files", column: "id" }),
65
- images2: schemas.multiItems({ table: "files", column: "id" }),
64
+ files1: schemas.multiItems({ table: "files", column: "id" }),
65
+ files2: schemas.multiItems({ table: "files", column: "id" }),
66
66
  // single images
67
- image1: schemas.singleItem({ table: "files", column: "id" }),
68
- image2: schemas.singleItem({ table: "files", column: "id" }),
69
- image3: schemas.singleItem({ table: "files", column: "id" }),
70
- image4: schemas.singleItem({ table: "files", column: "id" }),
67
+ file1: schemas.singleItem({ table: "files", column: "id" }),
68
+ file2: schemas.singleItem({ table: "files", column: "id" }),
69
+ file3: schemas.singleItem({ table: "files", column: "id" }),
70
+ file4: schemas.singleItem({ table: "files", column: "id" }),
71
71
  // text
72
72
  text1: schemas.text().nullable(),
73
73
  text2: schemas.text().nullable(),
@@ -84,6 +84,16 @@ const postUpdateValidator = ({
84
84
  data2: schemas.array(schemas.z.any()),
85
85
  data3: schemas.array(schemas.z.any()),
86
86
  data4: schemas.array(schemas.z.any()),
87
+ // number (decimal)
88
+ dec1: schemas.positiveNumber().nullable(),
89
+ dec2: schemas.positiveNumber().nullable(),
90
+ dec3: schemas.positiveNumber().nullable(),
91
+ dec4: schemas.positiveNumber().nullable(),
92
+ // number (integer)
93
+ int1: schemas.positiveInteger().nullable(),
94
+ int2: schemas.positiveInteger().nullable(),
95
+ int3: schemas.positiveInteger().nullable(),
96
+ int4: schemas.positiveInteger().nullable(),
87
97
  // ----------------------------------------------------------------------------
88
98
  // translation
89
99
  // ----------------------------------------------------------------------------
@@ -111,8 +121,8 @@ const postUpdateValidator = ({
111
121
  ),
112
122
  toc: schemas.array(tocItemSchema),
113
123
  // extra
114
- readTime: schemas.positiveNumber().nullable(),
115
- wordCount: schemas.positiveNumber(),
124
+ readTime: schemas.positiveInteger().nullable(),
125
+ wordCount: schemas.positiveInteger(),
116
126
  // -------------------------------------------
117
127
  // --- custom fields
118
128
  // -------------------------------------------
@@ -131,7 +141,17 @@ const postUpdateValidator = ({
131
141
  data1: schemas.array(schemas.z.any()),
132
142
  data2: schemas.array(schemas.z.any()),
133
143
  data3: schemas.array(schemas.z.any()),
134
- data4: schemas.array(schemas.z.any())
144
+ data4: schemas.array(schemas.z.any()),
145
+ // number (decimal)
146
+ dec1: schemas.positiveNumber().nullable(),
147
+ dec2: schemas.positiveNumber().nullable(),
148
+ dec3: schemas.positiveNumber().nullable(),
149
+ dec4: schemas.positiveNumber().nullable(),
150
+ // number (integer)
151
+ int1: schemas.positiveInteger().nullable(),
152
+ int2: schemas.positiveInteger().nullable(),
153
+ int3: schemas.positiveInteger().nullable(),
154
+ int4: schemas.positiveInteger().nullable()
135
155
  })
136
156
  )
137
157
  }).transform((obj) => ({
@@ -3,8 +3,8 @@ const multiFilesUploadValidator = (schemas) => schemas.z.object({
3
3
  folderKey: schemas.key().exist({ table: "folders", column: "key" }).optional(),
4
4
  blobFileInfos: schemas.array(
5
5
  schemas.z.object({
6
- width: schemas.positiveNumber().nullable(),
7
- height: schemas.positiveNumber().nullable(),
6
+ width: schemas.positiveInteger().nullable(),
7
+ height: schemas.positiveInteger().nullable(),
8
8
  duration: schemas.positiveNumber().nullable()
9
9
  })
10
10
  )
@@ -1,6 +1,13 @@
1
+ import type { FileCard } from "../file";
1
2
  import type { Config } from "./base";
2
3
  import type { ConfigTranslation } from "./translation";
3
4
  export type ConfigFull = Config & {
5
+ files1: FileCard[];
6
+ files2: FileCard[];
7
+ file1: FileCard | null;
8
+ file2: FileCard | null;
9
+ file3: FileCard | null;
10
+ file4: FileCard | null;
4
11
  translations: ConfigTranslation[];
5
12
  };
6
13
  //# sourceMappingURL=full.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/config/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAIhC,YAAY,EAAE,iBAAiB,EAAE,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/config/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAIhC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAKvB,YAAY,EAAE,iBAAiB,EAAE,CAAC;CACnC,CAAC"}
@@ -8,12 +8,12 @@ export type FileFull = File & {
8
8
  adminAsAvatarImage: Admin[];
9
9
  postsAsCoverImage: Post[];
10
10
  postsAsContentImage: Post[];
11
- postsAsImages1: Post[];
12
- postsAsImages2: Post[];
13
- postsAsImage1: Post[];
14
- postsAsImage2: Post[];
15
- postsAsImage3: Post[];
16
- postsAsImage4: Post[];
11
+ postsAsFiles1: Post[];
12
+ postsAsFiles2: Post[];
13
+ postsAsFile1: Post[];
14
+ postsAsFile2: Post[];
15
+ postsAsFile3: Post[];
16
+ postsAsFile4: Post[];
17
17
  translations: FileTranslation[];
18
18
  };
19
19
  //# sourceMappingURL=full.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/file/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAI5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAKtB,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAK5B,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAK5B,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI,EAAE,CAAC;IAKtB,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/file/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAI5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAKtB,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAK5B,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC1B,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAK5B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,YAAY,EAAE,IAAI,EAAE,CAAC;IAKrB,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC"}
@@ -26,10 +26,10 @@ export interface Post {
26
26
  state8: boolean;
27
27
  state9: boolean;
28
28
  state10: boolean;
29
- image1Id: string | null;
30
- image2Id: string | null;
31
- image3Id: string | null;
32
- image4Id: string | null;
29
+ file1Id: string | null;
30
+ file2Id: string | null;
31
+ file3Id: string | null;
32
+ file4Id: string | null;
33
33
  text1: string | null;
34
34
  text2: string | null;
35
35
  text3: string | null;
@@ -44,5 +44,13 @@ export interface Post {
44
44
  data2: any[];
45
45
  data3: any[];
46
46
  data4: any[];
47
+ dec1: number | null;
48
+ dec2: number | null;
49
+ dec3: number | null;
50
+ dec4: number | null;
51
+ int1: number | null;
52
+ int2: number | null;
53
+ int3: number | null;
54
+ int4: number | null;
47
55
  }
48
56
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/post/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,QAAQ,CAAC;IAKf,QAAQ,EAAE,OAAO,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IAKvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAKxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAKvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAMvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAGjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;CACd"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/post/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,QAAQ,CAAC;IAKf,QAAQ,EAAE,OAAO,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IAKvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAKxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAKvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAMvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IAGb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
@@ -16,12 +16,12 @@ export type PostFull = Post & {
16
16
  referencingPosts: PostListCard[];
17
17
  coverImage: FileCard | null;
18
18
  seoMetadatas: SeoMetadata[];
19
- images1: FileCard[];
20
- images2: FileCard[];
21
- image1: FileCard | null;
22
- image2: FileCard | null;
23
- image3: FileCard | null;
24
- image4: FileCard | null;
19
+ files1: FileCard[];
20
+ files2: FileCard[];
21
+ file1: FileCard | null;
22
+ file2: FileCard | null;
23
+ file3: FileCard | null;
24
+ file4: FileCard | null;
25
25
  translations: PostTranslation[];
26
26
  };
27
27
  //# sourceMappingURL=full.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/post/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAI5B,MAAM,EAAE,SAAS,CAAC;IAKlB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,YAAY,EAAE,CAAC;IAE7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,WAAW,EAAE,YAAY,EAAE,CAAC;IAE5B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAKjC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAK5B,YAAY,EAAE,WAAW,EAAE,CAAC;IAK5B,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IAKxB,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../../../../../src/domain/resources/post/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAI5B,MAAM,EAAE,SAAS,CAAC;IAKlB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,YAAY,EAAE,CAAC;IAE7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,WAAW,EAAE,YAAY,EAAE,CAAC;IAE5B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAKjC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAK5B,YAAY,EAAE,WAAW,EAAE,CAAC;IAK5B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAKvB,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC"}
@@ -30,5 +30,13 @@ export interface PostTranslation extends Translation {
30
30
  data2: any[];
31
31
  data3: any[];
32
32
  data4: any[];
33
+ dec1: number | null;
34
+ dec2: number | null;
35
+ dec3: number | null;
36
+ dec4: number | null;
37
+ int1: number | null;
38
+ int2: number | null;
39
+ int3: number | null;
40
+ int4: number | null;
33
41
  }
34
42
  //# sourceMappingURL=translation.d.ts.map