@zyacreatives/shared 2.0.67 → 2.0.69

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.
@@ -6,6 +6,8 @@ export declare const MinimalBrandEntitySchema: z.ZodObject<{
6
6
  bio: z.ZodOptional<z.ZodString>;
7
7
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
8
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
10
+ updatedAt: z.ZodCoercedDate<unknown>;
9
11
  }, z.core.$strip>;
10
12
  export declare const BrandEntitySchema: z.ZodObject<{
11
13
  id: z.ZodCUID2;
@@ -16,7 +18,7 @@ export declare const BrandEntitySchema: z.ZodObject<{
16
18
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
19
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
18
20
  name: z.ZodString;
19
- url: z.ZodString;
21
+ url: z.ZodURL;
20
22
  type: z.ZodDefault<z.ZodEnum<{
21
23
  readonly INSTAGRAM: "Instagram";
22
24
  readonly LINKEDIN: "LinkedIn";
@@ -28,8 +30,7 @@ export declare const BrandEntitySchema: z.ZodObject<{
28
30
  }, z.core.$strip>>>;
29
31
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
30
32
  title: z.ZodString;
31
- description: z.ZodString;
32
- link: z.ZodOptional<z.ZodString>;
33
+ link: z.ZodOptional<z.ZodURL>;
33
34
  year: z.ZodOptional<z.ZodNumber>;
34
35
  }, z.core.$strip>>>;
35
36
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -58,7 +59,7 @@ export declare const UpdateBrandProfileInputSchema: z.ZodObject<{
58
59
  brandName: z.ZodOptional<z.ZodString>;
59
60
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
60
61
  name: z.ZodString;
61
- url: z.ZodString;
62
+ url: z.ZodURL;
62
63
  type: z.ZodDefault<z.ZodEnum<{
63
64
  readonly INSTAGRAM: "Instagram";
64
65
  readonly LINKEDIN: "LinkedIn";
@@ -70,8 +71,7 @@ export declare const UpdateBrandProfileInputSchema: z.ZodObject<{
70
71
  }, z.core.$strip>>>;
71
72
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
72
73
  title: z.ZodString;
73
- description: z.ZodString;
74
- link: z.ZodOptional<z.ZodString>;
74
+ link: z.ZodOptional<z.ZodURL>;
75
75
  year: z.ZodOptional<z.ZodNumber>;
76
76
  }, z.core.$strip>>>;
77
77
  bio: z.ZodOptional<z.ZodString>;
@@ -100,7 +100,7 @@ export declare const CreateBrandOutputSchema: z.ZodObject<{
100
100
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
101
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
102
102
  name: z.ZodString;
103
- url: z.ZodString;
103
+ url: z.ZodURL;
104
104
  type: z.ZodDefault<z.ZodEnum<{
105
105
  readonly INSTAGRAM: "Instagram";
106
106
  readonly LINKEDIN: "LinkedIn";
@@ -112,8 +112,7 @@ export declare const CreateBrandOutputSchema: z.ZodObject<{
112
112
  }, z.core.$strip>>>;
113
113
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
114
  title: z.ZodString;
115
- description: z.ZodString;
116
- link: z.ZodOptional<z.ZodString>;
115
+ link: z.ZodOptional<z.ZodURL>;
117
116
  year: z.ZodOptional<z.ZodNumber>;
118
117
  }, z.core.$strip>>>;
119
118
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -128,7 +127,7 @@ export declare const GetBrandOutputSchema: z.ZodObject<{
128
127
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
129
128
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
130
129
  name: z.ZodString;
131
- url: z.ZodString;
130
+ url: z.ZodURL;
132
131
  type: z.ZodDefault<z.ZodEnum<{
133
132
  readonly INSTAGRAM: "Instagram";
134
133
  readonly LINKEDIN: "LinkedIn";
@@ -140,8 +139,7 @@ export declare const GetBrandOutputSchema: z.ZodObject<{
140
139
  }, z.core.$strip>>>;
141
140
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
142
141
  title: z.ZodString;
143
- description: z.ZodString;
144
- link: z.ZodOptional<z.ZodString>;
142
+ link: z.ZodOptional<z.ZodURL>;
145
143
  year: z.ZodOptional<z.ZodNumber>;
146
144
  }, z.core.$strip>>>;
147
145
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -156,7 +154,7 @@ export declare const UpdateBrandOutputSchema: z.ZodObject<{
156
154
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
157
155
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
158
156
  name: z.ZodString;
159
- url: z.ZodString;
157
+ url: z.ZodURL;
160
158
  type: z.ZodDefault<z.ZodEnum<{
161
159
  readonly INSTAGRAM: "Instagram";
162
160
  readonly LINKEDIN: "LinkedIn";
@@ -168,8 +166,7 @@ export declare const UpdateBrandOutputSchema: z.ZodObject<{
168
166
  }, z.core.$strip>>>;
169
167
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
170
168
  title: z.ZodString;
171
- description: z.ZodString;
172
- link: z.ZodOptional<z.ZodString>;
169
+ link: z.ZodOptional<z.ZodURL>;
173
170
  year: z.ZodOptional<z.ZodNumber>;
174
171
  }, z.core.$strip>>>;
175
172
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -182,6 +179,8 @@ export declare const BrandWithUserEntitySchema: z.ZodObject<{
182
179
  bio: z.ZodOptional<z.ZodString>;
183
180
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
184
181
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
182
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
183
+ updatedAt: z.ZodCoercedDate<unknown>;
185
184
  user: z.ZodObject<{
186
185
  id: z.ZodCUID2;
187
186
  username: z.ZodOptional<z.ZodString>;
@@ -209,6 +208,8 @@ export declare const SearchBrandOutputSchema: z.ZodObject<{
209
208
  bio: z.ZodOptional<z.ZodString>;
210
209
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
210
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
212
+ updatedAt: z.ZodCoercedDate<unknown>;
212
213
  user: z.ZodObject<{
213
214
  id: z.ZodCUID2;
214
215
  username: z.ZodOptional<z.ZodString>;
@@ -21,6 +21,11 @@ exports.MinimalBrandEntitySchema = zod_openapi_1.z.object({
21
21
  .array(zod_openapi_1.z.string())
22
22
  .optional()
23
23
  .openapi({ example: ["Marketing", "Product Development"] }),
24
+ createdAt: zod_openapi_1.z.coerce
25
+ .date()
26
+ .optional()
27
+ .openapi({ example: "2025-10-13T09:00:00.000Z" }),
28
+ updatedAt: zod_openapi_1.z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
24
29
  });
25
30
  exports.BrandEntitySchema = zod_openapi_1.z
26
31
  .object({
@@ -39,17 +44,22 @@ exports.BrandEntitySchema = zod_openapi_1.z
39
44
  .array(zod_openapi_1.z.string())
40
45
  .optional()
41
46
  .openapi({ example: ["Marketing", "Product Development"] }),
42
- links: zod_openapi_1.z.object({
47
+ links: zod_openapi_1.z
48
+ .object({
43
49
  name: zod_openapi_1.z.string(),
44
- url: zod_openapi_1.z.string(),
50
+ url: zod_openapi_1.z.url(),
45
51
  type: zod_openapi_1.z.enum(constants_1.LINK_TYPES).default(constants_1.LINK_TYPES.GENERIC_WEBSITE),
46
- }).array().optional(),
47
- achievements: zod_openapi_1.z.object({
52
+ })
53
+ .array()
54
+ .optional(),
55
+ achievements: zod_openapi_1.z
56
+ .object({
48
57
  title: zod_openapi_1.z.string(),
49
- description: zod_openapi_1.z.string(),
50
- link: zod_openapi_1.z.string().optional(),
58
+ link: zod_openapi_1.z.url().optional(),
51
59
  year: zod_openapi_1.z.number().int().optional(),
52
- }).array().optional(),
60
+ })
61
+ .array()
62
+ .optional(),
53
63
  createdAt: zod_openapi_1.z.coerce
54
64
  .date()
55
65
  .optional()
@@ -109,17 +119,22 @@ exports.CreateBrandProfileInputSchema = zod_openapi_1.z
109
119
  exports.UpdateBrandProfileInputSchema = zod_openapi_1.z
110
120
  .object({
111
121
  brandName: zod_openapi_1.z.string().min(1).optional().openapi({ example: "Acme Studio" }),
112
- links: zod_openapi_1.z.object({
122
+ links: zod_openapi_1.z
123
+ .object({
113
124
  name: zod_openapi_1.z.string(),
114
- url: zod_openapi_1.z.string(),
125
+ url: zod_openapi_1.z.url(),
115
126
  type: zod_openapi_1.z.enum(constants_1.LINK_TYPES).default(constants_1.LINK_TYPES.GENERIC_WEBSITE),
116
- }).array().optional(),
117
- achievements: zod_openapi_1.z.object({
127
+ })
128
+ .array()
129
+ .optional(),
130
+ achievements: zod_openapi_1.z
131
+ .object({
118
132
  title: zod_openapi_1.z.string(),
119
- description: zod_openapi_1.z.string(),
120
- link: zod_openapi_1.z.string().optional(),
133
+ link: zod_openapi_1.z.url().optional(),
121
134
  year: zod_openapi_1.z.number().int().optional(),
122
- }).array().optional(),
135
+ })
136
+ .array()
137
+ .optional(),
123
138
  bio: zod_openapi_1.z
124
139
  .string()
125
140
  .max(210)
@@ -13,6 +13,8 @@ export declare const MinimalCreativeEntitySchema: z.ZodObject<{
13
13
  }>>;
14
14
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
15
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
17
+ updatedAt: z.ZodCoercedDate<unknown>;
16
18
  }, z.core.$strip>;
17
19
  export declare const CreativeEntitySchema: z.ZodObject<{
18
20
  id: z.ZodCUID2;
@@ -38,7 +40,7 @@ export declare const CreativeEntitySchema: z.ZodObject<{
38
40
  }, z.core.$strip>>>;
39
41
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
40
42
  name: z.ZodString;
41
- url: z.ZodString;
43
+ url: z.ZodURL;
42
44
  type: z.ZodDefault<z.ZodEnum<{
43
45
  readonly INSTAGRAM: "Instagram";
44
46
  readonly LINKEDIN: "LinkedIn";
@@ -104,7 +106,7 @@ export declare const UpdateCreativeProfileInputSchema: z.ZodObject<{
104
106
  }, z.core.$strip>>>;
105
107
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
106
108
  name: z.ZodString;
107
- url: z.ZodString;
109
+ url: z.ZodURL;
108
110
  type: z.ZodDefault<z.ZodEnum<{
109
111
  readonly INSTAGRAM: "Instagram";
110
112
  readonly LINKEDIN: "LinkedIn";
@@ -158,7 +160,7 @@ export declare const CreateCreativeOutputSchema: z.ZodObject<{
158
160
  }, z.core.$strip>>>;
159
161
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
160
162
  name: z.ZodString;
161
- url: z.ZodString;
163
+ url: z.ZodURL;
162
164
  type: z.ZodDefault<z.ZodEnum<{
163
165
  readonly INSTAGRAM: "Instagram";
164
166
  readonly LINKEDIN: "LinkedIn";
@@ -201,7 +203,7 @@ export declare const GetCreativeOutputSchema: z.ZodObject<{
201
203
  }, z.core.$strip>>>;
202
204
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
203
205
  name: z.ZodString;
204
- url: z.ZodString;
206
+ url: z.ZodURL;
205
207
  type: z.ZodDefault<z.ZodEnum<{
206
208
  readonly INSTAGRAM: "Instagram";
207
209
  readonly LINKEDIN: "LinkedIn";
@@ -244,7 +246,7 @@ export declare const UpdateCreativeOutputSchema: z.ZodObject<{
244
246
  }, z.core.$strip>>>;
245
247
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
246
248
  name: z.ZodString;
247
- url: z.ZodString;
249
+ url: z.ZodURL;
248
250
  type: z.ZodDefault<z.ZodEnum<{
249
251
  readonly INSTAGRAM: "Instagram";
250
252
  readonly LINKEDIN: "LinkedIn";
@@ -277,6 +279,8 @@ export declare const CreativeWithUserEntitySchema: z.ZodObject<{
277
279
  }>>;
278
280
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
279
281
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
282
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
283
+ updatedAt: z.ZodCoercedDate<unknown>;
280
284
  user: z.ZodObject<{
281
285
  id: z.ZodCUID2;
282
286
  username: z.ZodOptional<z.ZodString>;
@@ -311,6 +315,8 @@ export declare const SearchCreativeOutputSchema: z.ZodObject<{
311
315
  }>>;
312
316
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
317
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
318
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
319
+ updatedAt: z.ZodCoercedDate<unknown>;
314
320
  user: z.ZodObject<{
315
321
  id: z.ZodCUID2;
316
322
  username: z.ZodOptional<z.ZodString>;
@@ -25,6 +25,11 @@ exports.MinimalCreativeEntitySchema = zod_openapi_1.z.object({
25
25
  .array(zod_openapi_1.z.string())
26
26
  .optional()
27
27
  .openapi({ example: ["Design", "Art Direction"] }),
28
+ createdAt: zod_openapi_1.z.coerce
29
+ .date()
30
+ .optional()
31
+ .openapi({ example: "2025-10-13T09:00:00.000Z" }),
32
+ updatedAt: zod_openapi_1.z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
28
33
  });
29
34
  exports.CreativeEntitySchema = zod_openapi_1.z
30
35
  .object({
@@ -47,25 +52,34 @@ exports.CreativeEntitySchema = zod_openapi_1.z
47
52
  .array(zod_openapi_1.z.string())
48
53
  .optional()
49
54
  .openapi({ example: ["Design", "Art Direction"] }),
50
- workExperience: zod_openapi_1.z.object({
55
+ workExperience: zod_openapi_1.z
56
+ .object({
51
57
  companyName: zod_openapi_1.z.string(),
52
58
  position: zod_openapi_1.z.string(),
53
59
  startDate: zod_openapi_1.z.coerce.date().optional(),
54
60
  endDate: zod_openapi_1.z.coerce.date().optional(),
55
61
  currentlyWorking: zod_openapi_1.z.boolean().optional(),
56
62
  description: zod_openapi_1.z.string().optional(),
57
- }).array().optional(),
58
- links: zod_openapi_1.z.object({
63
+ })
64
+ .array()
65
+ .optional(),
66
+ links: zod_openapi_1.z
67
+ .object({
59
68
  name: zod_openapi_1.z.string(),
60
- url: zod_openapi_1.z.string(),
69
+ url: zod_openapi_1.z.url(),
61
70
  type: zod_openapi_1.z.enum(constants_1.LINK_TYPES).default(constants_1.LINK_TYPES.GENERIC_WEBSITE),
62
- }).array().optional(),
63
- achievements: zod_openapi_1.z.object({
71
+ })
72
+ .array()
73
+ .optional(),
74
+ achievements: zod_openapi_1.z
75
+ .object({
64
76
  title: zod_openapi_1.z.string(),
65
77
  description: zod_openapi_1.z.string(),
66
78
  link: zod_openapi_1.z.string().optional(),
67
79
  year: zod_openapi_1.z.number().int().optional(),
68
- }).array().optional(),
80
+ })
81
+ .array()
82
+ .optional(),
69
83
  createdAt: zod_openapi_1.z.coerce
70
84
  .date()
71
85
  .optional()
@@ -165,25 +179,34 @@ exports.UpdateCreativeProfileInputSchema = zod_openapi_1.z
165
179
  .min(1, "At least one discipline is required")
166
180
  .optional()
167
181
  .openapi({ example: ["frontend", "ui-ux"] }),
168
- workExperience: zod_openapi_1.z.object({
182
+ workExperience: zod_openapi_1.z
183
+ .object({
169
184
  companyName: zod_openapi_1.z.string(),
170
185
  position: zod_openapi_1.z.string(),
171
186
  startDate: zod_openapi_1.z.coerce.date().optional(),
172
187
  endDate: zod_openapi_1.z.coerce.date().optional(),
173
188
  currentlyWorking: zod_openapi_1.z.boolean().optional(),
174
189
  description: zod_openapi_1.z.string().optional(),
175
- }).array().optional(),
176
- links: zod_openapi_1.z.object({
190
+ })
191
+ .array()
192
+ .optional(),
193
+ links: zod_openapi_1.z
194
+ .object({
177
195
  name: zod_openapi_1.z.string(),
178
- url: zod_openapi_1.z.string(),
196
+ url: zod_openapi_1.z.url(),
179
197
  type: zod_openapi_1.z.enum(constants_1.LINK_TYPES).default(constants_1.LINK_TYPES.GENERIC_WEBSITE),
180
- }).array().optional(),
181
- achievements: zod_openapi_1.z.object({
198
+ })
199
+ .array()
200
+ .optional(),
201
+ achievements: zod_openapi_1.z
202
+ .object({
182
203
  title: zod_openapi_1.z.string(),
183
204
  description: zod_openapi_1.z.string(),
184
205
  link: zod_openapi_1.z.string().optional(),
185
206
  year: zod_openapi_1.z.number().int().optional(),
186
- }).array().optional(),
207
+ })
208
+ .array()
209
+ .optional(),
187
210
  })
188
211
  .openapi({
189
212
  title: "update creative profile",
@@ -104,7 +104,7 @@ export declare const UserProfileEntitySchema: z.ZodObject<{
104
104
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
105
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
106
106
  name: z.ZodString;
107
- url: z.ZodString;
107
+ url: z.ZodURL;
108
108
  type: z.ZodDefault<z.ZodEnum<{
109
109
  readonly INSTAGRAM: "Instagram";
110
110
  readonly LINKEDIN: "LinkedIn";
@@ -116,8 +116,7 @@ export declare const UserProfileEntitySchema: z.ZodObject<{
116
116
  }, z.core.$strip>>>;
117
117
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
118
118
  title: z.ZodString;
119
- description: z.ZodString;
120
- link: z.ZodOptional<z.ZodString>;
119
+ link: z.ZodOptional<z.ZodURL>;
121
120
  year: z.ZodOptional<z.ZodNumber>;
122
121
  }, z.core.$strip>>>;
123
122
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -147,7 +146,7 @@ export declare const UserProfileEntitySchema: z.ZodObject<{
147
146
  }, z.core.$strip>>>;
148
147
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
149
148
  name: z.ZodString;
150
- url: z.ZodString;
149
+ url: z.ZodURL;
151
150
  type: z.ZodDefault<z.ZodEnum<{
152
151
  readonly INSTAGRAM: "Instagram";
153
152
  readonly LINKEDIN: "LinkedIn";
@@ -493,7 +492,7 @@ export declare const GetAuthenticatedUserProfileOutputSchema: z.ZodObject<{
493
492
  disciplines: z.ZodOptional<z.ZodArray<z.ZodString>>;
494
493
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
495
494
  name: z.ZodString;
496
- url: z.ZodString;
495
+ url: z.ZodURL;
497
496
  type: z.ZodDefault<z.ZodEnum<{
498
497
  readonly INSTAGRAM: "Instagram";
499
498
  readonly LINKEDIN: "LinkedIn";
@@ -505,8 +504,7 @@ export declare const GetAuthenticatedUserProfileOutputSchema: z.ZodObject<{
505
504
  }, z.core.$strip>>>;
506
505
  achievements: z.ZodOptional<z.ZodArray<z.ZodObject<{
507
506
  title: z.ZodString;
508
- description: z.ZodString;
509
- link: z.ZodOptional<z.ZodString>;
507
+ link: z.ZodOptional<z.ZodURL>;
510
508
  year: z.ZodOptional<z.ZodNumber>;
511
509
  }, z.core.$strip>>>;
512
510
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -536,7 +534,7 @@ export declare const GetAuthenticatedUserProfileOutputSchema: z.ZodObject<{
536
534
  }, z.core.$strip>>>;
537
535
  links: z.ZodOptional<z.ZodArray<z.ZodObject<{
538
536
  name: z.ZodString;
539
- url: z.ZodString;
537
+ url: z.ZodURL;
540
538
  type: z.ZodDefault<z.ZodEnum<{
541
539
  readonly INSTAGRAM: "Instagram";
542
540
  readonly LINKEDIN: "LinkedIn";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyacreatives/shared",
3
- "version": "2.0.67",
3
+ "version": "2.0.69",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -3,7 +3,6 @@ import { ProfileIdentifierSchema } from "./common";
3
3
  import { EXPERIENCE_LEVELS, ExperienceLevel, LINK_TYPES } from "../constants";
4
4
  import { MinimalUserSchema } from "./user";
5
5
 
6
-
7
6
  export const MinimalBrandEntitySchema = z.object({
8
7
  id: z.cuid2().openapi({ example: "brd_cksd0v6q0000s9a5y8z7p3x9" }),
9
8
  userId: z.cuid2().openapi({ example: "user_owner_123" }),
@@ -20,8 +19,12 @@ export const MinimalBrandEntitySchema = z.object({
20
19
  .array(z.string())
21
20
  .optional()
22
21
  .openapi({ example: ["Marketing", "Product Development"] }),
23
-
24
- })
22
+ createdAt: z.coerce
23
+ .date()
24
+ .optional()
25
+ .openapi({ example: "2025-10-13T09:00:00.000Z" }),
26
+ updatedAt: z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
27
+ });
25
28
 
26
29
  export const BrandEntitySchema = z
27
30
  .object({
@@ -41,17 +44,22 @@ export const BrandEntitySchema = z
41
44
  .optional()
42
45
  .openapi({ example: ["Marketing", "Product Development"] }),
43
46
 
44
- links: z.object({
45
- name: z.string(),
46
- url: z.string(),
47
- type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
48
- }).array().optional(),
49
- achievements: z.object({
50
- title: z.string(),
51
- description: z.string(),
52
- link: z.string().optional(),
53
- year: z.number().int().optional(),
54
- }).array().optional(),
47
+ links: z
48
+ .object({
49
+ name: z.string(),
50
+ url: z.url(),
51
+ type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
52
+ })
53
+ .array()
54
+ .optional(),
55
+ achievements: z
56
+ .object({
57
+ title: z.string(),
58
+ link: z.url().optional(),
59
+ year: z.number().int().optional(),
60
+ })
61
+ .array()
62
+ .optional(),
55
63
  createdAt: z.coerce
56
64
  .date()
57
65
  .optional()
@@ -122,17 +130,22 @@ export const CreateBrandProfileInputSchema = z
122
130
  export const UpdateBrandProfileInputSchema = z
123
131
  .object({
124
132
  brandName: z.string().min(1).optional().openapi({ example: "Acme Studio" }),
125
- links: z.object({
126
- name: z.string(),
127
- url: z.string(),
128
- type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
129
- }).array().optional(),
130
- achievements: z.object({
131
- title: z.string(),
132
- description: z.string(),
133
- link: z.string().optional(),
134
- year: z.number().int().optional(),
135
- }).array().optional(),
133
+ links: z
134
+ .object({
135
+ name: z.string(),
136
+ url: z.url(),
137
+ type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
138
+ })
139
+ .array()
140
+ .optional(),
141
+ achievements: z
142
+ .object({
143
+ title: z.string(),
144
+ link: z.url().optional(),
145
+ year: z.number().int().optional(),
146
+ })
147
+ .array()
148
+ .optional(),
136
149
  bio: z
137
150
  .string()
138
151
  .max(210)
@@ -186,4 +199,4 @@ export const SearchBrandInputSchema = z.object({
186
199
  export const SearchBrandOutputSchema = z.object({
187
200
  brands: z.array(BrandWithUserEntitySchema),
188
201
  nextCursor: z.string().optional(),
189
- })
202
+ });
@@ -29,7 +29,12 @@ export const MinimalCreativeEntitySchema = z.object({
29
29
  .array(z.string())
30
30
  .optional()
31
31
  .openapi({ example: ["Design", "Art Direction"] }),
32
- })
32
+ createdAt: z.coerce
33
+ .date()
34
+ .optional()
35
+ .openapi({ example: "2025-10-13T09:00:00.000Z" }),
36
+ updatedAt: z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
37
+ });
33
38
 
34
39
  export const CreativeEntitySchema = z
35
40
  .object({
@@ -59,25 +64,34 @@ export const CreativeEntitySchema = z
59
64
  .array(z.string())
60
65
  .optional()
61
66
  .openapi({ example: ["Design", "Art Direction"] }),
62
- workExperience: z.object({
63
- companyName: z.string(),
64
- position: z.string(),
65
- startDate: z.coerce.date().optional(),
66
- endDate: z.coerce.date().optional(),
67
- currentlyWorking: z.boolean().optional(),
68
- description: z.string().optional(),
69
- }).array().optional(),
70
- links: z.object({
71
- name: z.string(),
72
- url: z.string(),
73
- type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
74
- }).array().optional(),
75
- achievements: z.object({
76
- title: z.string(),
77
- description: z.string(),
78
- link: z.string().optional(),
79
- year: z.number().int().optional(),
80
- }).array().optional(),
67
+ workExperience: z
68
+ .object({
69
+ companyName: z.string(),
70
+ position: z.string(),
71
+ startDate: z.coerce.date().optional(),
72
+ endDate: z.coerce.date().optional(),
73
+ currentlyWorking: z.boolean().optional(),
74
+ description: z.string().optional(),
75
+ })
76
+ .array()
77
+ .optional(),
78
+ links: z
79
+ .object({
80
+ name: z.string(),
81
+ url: z.url(),
82
+ type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
83
+ })
84
+ .array()
85
+ .optional(),
86
+ achievements: z
87
+ .object({
88
+ title: z.string(),
89
+ description: z.string(),
90
+ link: z.string().optional(),
91
+ year: z.number().int().optional(),
92
+ })
93
+ .array()
94
+ .optional(),
81
95
  createdAt: z.coerce
82
96
  .date()
83
97
  .optional()
@@ -198,25 +212,34 @@ export const UpdateCreativeProfileInputSchema = z
198
212
  .min(1, "At least one discipline is required")
199
213
  .optional()
200
214
  .openapi({ example: ["frontend", "ui-ux"] }),
201
- workExperience: z.object({
202
- companyName: z.string(),
203
- position: z.string(),
204
- startDate: z.coerce.date().optional(),
205
- endDate: z.coerce.date().optional(),
206
- currentlyWorking: z.boolean().optional(),
207
- description: z.string().optional(),
208
- }).array().optional(),
209
- links: z.object({
210
- name: z.string(),
211
- url: z.string(),
212
- type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
213
- }).array().optional(),
214
- achievements: z.object({
215
- title: z.string(),
216
- description: z.string(),
217
- link: z.string().optional(),
218
- year: z.number().int().optional(),
219
- }).array().optional(),
215
+ workExperience: z
216
+ .object({
217
+ companyName: z.string(),
218
+ position: z.string(),
219
+ startDate: z.coerce.date().optional(),
220
+ endDate: z.coerce.date().optional(),
221
+ currentlyWorking: z.boolean().optional(),
222
+ description: z.string().optional(),
223
+ })
224
+ .array()
225
+ .optional(),
226
+ links: z
227
+ .object({
228
+ name: z.string(),
229
+ url: z.url(),
230
+ type: z.enum(LINK_TYPES).default(LINK_TYPES.GENERIC_WEBSITE),
231
+ })
232
+ .array()
233
+ .optional(),
234
+ achievements: z
235
+ .object({
236
+ title: z.string(),
237
+ description: z.string(),
238
+ link: z.string().optional(),
239
+ year: z.number().int().optional(),
240
+ })
241
+ .array()
242
+ .optional(),
220
243
  })
221
244
  .openapi({
222
245
  title: "update creative profile",
@@ -237,7 +260,7 @@ export const UpdateCreativeOutputSchema = CreativeEntitySchema;
237
260
 
238
261
  export const CreativeWithUserEntitySchema = MinimalCreativeEntitySchema.extend({
239
262
  user: MinimalUserSchema,
240
- })
263
+ });
241
264
 
242
265
  export const SearchCreativeInputSchema = z.object({
243
266
  string: z