@zyacreatives/shared 2.1.85 → 2.1.87

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/constants.d.ts +5 -2
  3. package/dist/constants.js +5 -2
  4. package/package.json +1 -1
  5. package/src/constants.ts +487 -483
  6. package/src/index.ts +4 -4
  7. package/src/schemas/activity.ts +14 -14
  8. package/src/schemas/auth.ts +43 -43
  9. package/src/schemas/bookmark.ts +38 -38
  10. package/src/schemas/brand.ts +146 -146
  11. package/src/schemas/chat.ts +31 -31
  12. package/src/schemas/comment.ts +60 -60
  13. package/src/schemas/common.ts +22 -22
  14. package/src/schemas/creative.ts +222 -222
  15. package/src/schemas/discipline.ts +88 -88
  16. package/src/schemas/entity-stats.ts +43 -43
  17. package/src/schemas/feed.ts +11 -11
  18. package/src/schemas/file.ts +61 -61
  19. package/src/schemas/index.ts +21 -21
  20. package/src/schemas/investor.ts +211 -211
  21. package/src/schemas/job-application.ts +257 -257
  22. package/src/schemas/job.ts +364 -364
  23. package/src/schemas/like.ts +38 -38
  24. package/src/schemas/message.ts +112 -112
  25. package/src/schemas/notification.ts +71 -71
  26. package/src/schemas/post.ts +279 -279
  27. package/src/schemas/project.ts +298 -298
  28. package/src/schemas/user-strike.ts +21 -21
  29. package/src/schemas/user.ts +283 -283
  30. package/src/schemas/username.ts +11 -11
  31. package/src/schemas/view.ts +50 -50
  32. package/src/types/auth.ts +5 -5
  33. package/src/types/bookmark.ts +4 -4
  34. package/src/types/brand.ts +37 -37
  35. package/src/types/chat.ts +21 -21
  36. package/src/types/comment.ts +12 -12
  37. package/src/types/common.ts +9 -9
  38. package/src/types/creative.ts +33 -33
  39. package/src/types/discipline.ts +32 -32
  40. package/src/types/entity-stats.ts +4 -4
  41. package/src/types/feed.ts +5 -5
  42. package/src/types/file.ts +39 -39
  43. package/src/types/index.ts +22 -22
  44. package/src/types/investor.ts +34 -34
  45. package/src/types/job-application.ts +41 -41
  46. package/src/types/job.ts +71 -71
  47. package/src/types/like.ts +3 -3
  48. package/src/types/message.ts +23 -23
  49. package/src/types/notification.ts +34 -34
  50. package/src/types/post.ts +63 -63
  51. package/src/types/project.ts +65 -65
  52. package/src/types/user-strike.ts +10 -10
  53. package/src/types/user.ts +96 -96
  54. package/src/types/username.ts +4 -4
  55. package/src/utils/slugify.ts +10 -10
  56. package/tsconfig.json +13 -13
@@ -1,257 +1,257 @@
1
- import { z } from "@hono/zod-openapi";
2
- import {
3
- APPLICATION_STATUS,
4
- ApplicationStatus,
5
- EXPERIENCE_LEVELS,
6
- ExperienceLevel,
7
- JOB_AVAILABILITY_TYPES,
8
- JOB_SECTIONS,
9
- JOB_TYPE,
10
- JobAvailabilityTypes,
11
- JobType,
12
- } from "../constants";
13
- import { MinimalUserSchema } from "./user";
14
- import { NormalizedJobSchema } from "./job";
15
-
16
- export const MinimalJobApplicationEntitySchema = z.object({
17
- user: MinimalUserSchema,
18
- jobId: z.cuid2(),
19
- id: z.cuid2(),
20
- coverLetter: z.string(),
21
- createdAt: z.coerce.date(),
22
- applicationStatus: z.enum(
23
- Object.values(APPLICATION_STATUS) as [
24
- ApplicationStatus,
25
- ...ApplicationStatus[]
26
- ]
27
- ),
28
- });
29
-
30
- export const BaseJobApplicationEntitySchema = z.object({
31
- id: z.string(),
32
- createdAt: z.coerce.date(),
33
- updatedAt: z.coerce.date(),
34
- availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
35
- experienceLevel: z.enum(EXPERIENCE_LEVELS).optional(),
36
-
37
- jobId: z.string(),
38
- applicantId: z.string(),
39
-
40
- firstName: z.string().optional(),
41
- lastName: z.string().optional(),
42
- emailAddress: z.string().optional(),
43
- phoneNumber: z.string().nullable(),
44
-
45
- currentRole: z.string(),
46
- resumeUrl: z.url(),
47
-
48
- workSampleUrls: z
49
- .array(
50
- z.object({
51
- url: z.url(),
52
- name: z.string().optional(),
53
- mimeType: z.string().optional(),
54
- })
55
- )
56
- .optional(),
57
-
58
- zyaProjects: z
59
- .array(
60
- z.object({
61
- projectName: z.string(),
62
- projectImgUrl: z.url().optional(),
63
- projectId: z.string(),
64
- tags: z.array(z.string()).optional(),
65
- })
66
- )
67
- .optional(),
68
-
69
- applicationStatus: z.enum(
70
- Object.values(APPLICATION_STATUS) as [
71
- ApplicationStatus,
72
- ...ApplicationStatus[]
73
- ]
74
- ),
75
-
76
- linkUrls: z
77
- .array(
78
- z.object({
79
- url: z.url(),
80
- isPortfolioUrl: z.boolean().optional(),
81
- })
82
- )
83
- .optional(),
84
-
85
- coverLetter: z.string().nullable(),
86
- receiveEmailUpdates: z.boolean(),
87
- wagesAmount: z.number().nullable(),
88
- });
89
-
90
- export const JobApplicationEntitySchema = z.object({
91
- id: z.string(),
92
- firstName: z.string().optional(),
93
- lastName: z.string().optional(),
94
- jobId: z.cuid2(),
95
- user: MinimalUserSchema,
96
- emailAddress: z.email().optional(),
97
- phoneNumber: z.string().optional(),
98
- currentRole: z.string().optional(),
99
- experienceLevel: z
100
- .enum(
101
- Object.values(EXPERIENCE_LEVELS) as [
102
- ExperienceLevel,
103
- ...ExperienceLevel[]
104
- ]
105
- )
106
- .optional(),
107
- resumeUrl: z.url(),
108
- workSampleUrls: z
109
- .array(
110
- z.object({
111
- url: z.url(),
112
- name: z.string().optional(),
113
- mimeType: z.string().optional(),
114
- })
115
- )
116
- .optional(),
117
- zyaProjects: z
118
- .array(
119
- z.object({
120
- projectName: z.string(),
121
- projectImgUrl: z.url(),
122
- projectId: z.cuid2(),
123
- tags: z.array(z.string()).optional(),
124
- })
125
- )
126
- .optional(),
127
- applicationStatus: z
128
- .enum(
129
- Object.values(APPLICATION_STATUS) as [
130
- ApplicationStatus,
131
- ...ApplicationStatus[]
132
- ]
133
- )
134
- .default("Application Sent"),
135
- applicantId: z.cuid2(),
136
- linkUrls: z
137
- .array(
138
- z.object({ url: z.url(), isPortfolioUrl: z.boolean().default(false) })
139
- )
140
- .optional(),
141
- coverLetter: z.string().optional(),
142
- receiveEmailUpdates: z.boolean().optional(),
143
- wagesAmount: z.coerce.number().optional().optional(),
144
- availability: z
145
- .enum(
146
- Object.values(JOB_AVAILABILITY_TYPES) as [
147
- JobAvailabilityTypes,
148
- ...JobAvailabilityTypes[]
149
- ]
150
- )
151
- .optional(),
152
- createdAt: z.coerce
153
- .date()
154
- .optional()
155
- .openapi({ example: "2025-10-13T09:00:00.000Z" }),
156
- updatedAt: z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
157
- });
158
-
159
- export const CreateJobApplicationInputSchema = z.object({
160
- jobId: z.cuid2(),
161
- applicantId: z.cuid2(),
162
- jobSections: z.array(z.enum(JOB_SECTIONS)).optional(),
163
- firstName: z.string().optional(),
164
- lastName: z.string().optional(),
165
- emailAddress: z.email().optional(),
166
- phoneNumber: z.string().optional(),
167
- currentRole: z.string().optional(),
168
- experienceLevel: z
169
- .enum(
170
- Object.values(EXPERIENCE_LEVELS) as [
171
- ExperienceLevel,
172
- ...ExperienceLevel[]
173
- ]
174
- )
175
- .optional(),
176
-
177
- resumeUrl: z.url().optional(),
178
- coverLetter: z.string().optional(),
179
-
180
- availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
181
- wagesAmount: z.coerce.number().optional(),
182
- receiveEmailUpdates: z.boolean().optional(),
183
-
184
- workSampleUrls: z
185
- .array(
186
- z.object({
187
- url: z.url(),
188
- name: z.string().optional(),
189
- mimeType: z.string().optional(),
190
- })
191
- )
192
- .optional(),
193
- linkUrls: z
194
- .array(z.object({ url: z.url(), isPortfolioUrl: z.boolean() }))
195
- .optional(),
196
- zyaProjects: z
197
- .array(
198
- z.object({
199
- projectName: z.string(),
200
- projectId: z.cuid2(),
201
- projectImgUrl: z.url(),
202
- tags: z.array(z.string()).optional(),
203
- })
204
- )
205
- .optional(),
206
- });
207
-
208
- export const TrackedJobApplicationEntitySchema = z.object({
209
- id: z.cuid2(),
210
- createdAt: z.coerce.date(),
211
- applicationStatus: z.enum(
212
- Object.values(APPLICATION_STATUS) as [
213
- ApplicationStatus,
214
- ...ApplicationStatus[]
215
- ]
216
- ),
217
- job: NormalizedJobSchema,
218
- });
219
-
220
- export const UpdateJobApplicationInputSchema =
221
- CreateJobApplicationInputSchema.partial().extend({
222
- id: z.cuid2(),
223
- applicationStatus: z
224
- .enum(
225
- Object.values(APPLICATION_STATUS) as [
226
- ApplicationStatus,
227
- ...ApplicationStatus[]
228
- ]
229
- )
230
- .optional(),
231
- });
232
-
233
- export const GetTrackedJobApplicationsInputSchema = z.object({
234
- query: z.string().optional(),
235
- status: z
236
- .enum(
237
- Object.values(APPLICATION_STATUS) as [
238
- ApplicationStatus,
239
- ...ApplicationStatus[]
240
- ]
241
- )
242
- .optional(),
243
- jobType: z
244
- .enum(Object.values(JOB_TYPE) as [JobType, ...JobType[]])
245
- .optional(),
246
- page: z.coerce.number().min(1).default(1),
247
- limit: z.coerce.number().min(1).max(100).default(20),
248
- });
249
-
250
- export const GetTrackedJobApplicationsOutputSchema = z.object({
251
- applications: z.array(TrackedJobApplicationEntitySchema),
252
- total: z.number(),
253
- page: z.number(),
254
- totalPages: z.number(),
255
- hasNextPage: z.boolean(),
256
- hasPrevPage: z.boolean(),
257
- });
1
+ import { z } from "@hono/zod-openapi";
2
+ import {
3
+ APPLICATION_STATUS,
4
+ ApplicationStatus,
5
+ EXPERIENCE_LEVELS,
6
+ ExperienceLevel,
7
+ JOB_AVAILABILITY_TYPES,
8
+ JOB_SECTIONS,
9
+ JOB_TYPE,
10
+ JobAvailabilityTypes,
11
+ JobType,
12
+ } from "../constants";
13
+ import { MinimalUserSchema } from "./user";
14
+ import { NormalizedJobSchema } from "./job";
15
+
16
+ export const MinimalJobApplicationEntitySchema = z.object({
17
+ user: MinimalUserSchema,
18
+ jobId: z.cuid2(),
19
+ id: z.cuid2(),
20
+ coverLetter: z.string(),
21
+ createdAt: z.coerce.date(),
22
+ applicationStatus: z.enum(
23
+ Object.values(APPLICATION_STATUS) as [
24
+ ApplicationStatus,
25
+ ...ApplicationStatus[]
26
+ ]
27
+ ),
28
+ });
29
+
30
+ export const BaseJobApplicationEntitySchema = z.object({
31
+ id: z.string(),
32
+ createdAt: z.coerce.date(),
33
+ updatedAt: z.coerce.date(),
34
+ availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
35
+ experienceLevel: z.enum(EXPERIENCE_LEVELS).optional(),
36
+
37
+ jobId: z.string(),
38
+ applicantId: z.string(),
39
+
40
+ firstName: z.string().optional(),
41
+ lastName: z.string().optional(),
42
+ emailAddress: z.string().optional(),
43
+ phoneNumber: z.string().nullable(),
44
+
45
+ currentRole: z.string(),
46
+ resumeUrl: z.url(),
47
+
48
+ workSampleUrls: z
49
+ .array(
50
+ z.object({
51
+ url: z.url(),
52
+ name: z.string().optional(),
53
+ mimeType: z.string().optional(),
54
+ })
55
+ )
56
+ .optional(),
57
+
58
+ zyaProjects: z
59
+ .array(
60
+ z.object({
61
+ projectName: z.string(),
62
+ projectImgUrl: z.url().optional(),
63
+ projectId: z.string(),
64
+ tags: z.array(z.string()).optional(),
65
+ })
66
+ )
67
+ .optional(),
68
+
69
+ applicationStatus: z.enum(
70
+ Object.values(APPLICATION_STATUS) as [
71
+ ApplicationStatus,
72
+ ...ApplicationStatus[]
73
+ ]
74
+ ),
75
+
76
+ linkUrls: z
77
+ .array(
78
+ z.object({
79
+ url: z.url(),
80
+ isPortfolioUrl: z.boolean().optional(),
81
+ })
82
+ )
83
+ .optional(),
84
+
85
+ coverLetter: z.string().nullable(),
86
+ receiveEmailUpdates: z.boolean(),
87
+ wagesAmount: z.number().nullable(),
88
+ });
89
+
90
+ export const JobApplicationEntitySchema = z.object({
91
+ id: z.string(),
92
+ firstName: z.string().optional(),
93
+ lastName: z.string().optional(),
94
+ jobId: z.cuid2(),
95
+ user: MinimalUserSchema,
96
+ emailAddress: z.email().optional(),
97
+ phoneNumber: z.string().optional(),
98
+ currentRole: z.string().optional(),
99
+ experienceLevel: z
100
+ .enum(
101
+ Object.values(EXPERIENCE_LEVELS) as [
102
+ ExperienceLevel,
103
+ ...ExperienceLevel[]
104
+ ]
105
+ )
106
+ .optional(),
107
+ resumeUrl: z.url(),
108
+ workSampleUrls: z
109
+ .array(
110
+ z.object({
111
+ url: z.url(),
112
+ name: z.string().optional(),
113
+ mimeType: z.string().optional(),
114
+ })
115
+ )
116
+ .optional(),
117
+ zyaProjects: z
118
+ .array(
119
+ z.object({
120
+ projectName: z.string(),
121
+ projectImgUrl: z.url(),
122
+ projectId: z.cuid2(),
123
+ tags: z.array(z.string()).optional(),
124
+ })
125
+ )
126
+ .optional(),
127
+ applicationStatus: z
128
+ .enum(
129
+ Object.values(APPLICATION_STATUS) as [
130
+ ApplicationStatus,
131
+ ...ApplicationStatus[]
132
+ ]
133
+ )
134
+ .default("Application Sent"),
135
+ applicantId: z.cuid2(),
136
+ linkUrls: z
137
+ .array(
138
+ z.object({ url: z.url(), isPortfolioUrl: z.boolean().default(false) })
139
+ )
140
+ .optional(),
141
+ coverLetter: z.string().optional(),
142
+ receiveEmailUpdates: z.boolean().optional(),
143
+ wagesAmount: z.coerce.number().optional().optional(),
144
+ availability: z
145
+ .enum(
146
+ Object.values(JOB_AVAILABILITY_TYPES) as [
147
+ JobAvailabilityTypes,
148
+ ...JobAvailabilityTypes[]
149
+ ]
150
+ )
151
+ .optional(),
152
+ createdAt: z.coerce
153
+ .date()
154
+ .optional()
155
+ .openapi({ example: "2025-10-13T09:00:00.000Z" }),
156
+ updatedAt: z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
157
+ });
158
+
159
+ export const CreateJobApplicationInputSchema = z.object({
160
+ jobId: z.cuid2(),
161
+ applicantId: z.cuid2(),
162
+ jobSections: z.array(z.enum(JOB_SECTIONS)).optional(),
163
+ firstName: z.string().optional(),
164
+ lastName: z.string().optional(),
165
+ emailAddress: z.email().optional(),
166
+ phoneNumber: z.string().optional(),
167
+ currentRole: z.string().optional(),
168
+ experienceLevel: z
169
+ .enum(
170
+ Object.values(EXPERIENCE_LEVELS) as [
171
+ ExperienceLevel,
172
+ ...ExperienceLevel[]
173
+ ]
174
+ )
175
+ .optional(),
176
+
177
+ resumeUrl: z.url().optional(),
178
+ coverLetter: z.string().optional(),
179
+
180
+ availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
181
+ wagesAmount: z.coerce.number().optional(),
182
+ receiveEmailUpdates: z.boolean().optional(),
183
+
184
+ workSampleUrls: z
185
+ .array(
186
+ z.object({
187
+ url: z.url(),
188
+ name: z.string().optional(),
189
+ mimeType: z.string().optional(),
190
+ })
191
+ )
192
+ .optional(),
193
+ linkUrls: z
194
+ .array(z.object({ url: z.url(), isPortfolioUrl: z.boolean() }))
195
+ .optional(),
196
+ zyaProjects: z
197
+ .array(
198
+ z.object({
199
+ projectName: z.string(),
200
+ projectId: z.cuid2(),
201
+ projectImgUrl: z.url(),
202
+ tags: z.array(z.string()).optional(),
203
+ })
204
+ )
205
+ .optional(),
206
+ });
207
+
208
+ export const TrackedJobApplicationEntitySchema = z.object({
209
+ id: z.cuid2(),
210
+ createdAt: z.coerce.date(),
211
+ applicationStatus: z.enum(
212
+ Object.values(APPLICATION_STATUS) as [
213
+ ApplicationStatus,
214
+ ...ApplicationStatus[]
215
+ ]
216
+ ),
217
+ job: NormalizedJobSchema,
218
+ });
219
+
220
+ export const UpdateJobApplicationInputSchema =
221
+ CreateJobApplicationInputSchema.partial().extend({
222
+ id: z.cuid2(),
223
+ applicationStatus: z
224
+ .enum(
225
+ Object.values(APPLICATION_STATUS) as [
226
+ ApplicationStatus,
227
+ ...ApplicationStatus[]
228
+ ]
229
+ )
230
+ .optional(),
231
+ });
232
+
233
+ export const GetTrackedJobApplicationsInputSchema = z.object({
234
+ query: z.string().optional(),
235
+ status: z
236
+ .enum(
237
+ Object.values(APPLICATION_STATUS) as [
238
+ ApplicationStatus,
239
+ ...ApplicationStatus[]
240
+ ]
241
+ )
242
+ .optional(),
243
+ jobType: z
244
+ .enum(Object.values(JOB_TYPE) as [JobType, ...JobType[]])
245
+ .optional(),
246
+ page: z.coerce.number().min(1).default(1),
247
+ limit: z.coerce.number().min(1).max(100).default(20),
248
+ });
249
+
250
+ export const GetTrackedJobApplicationsOutputSchema = z.object({
251
+ applications: z.array(TrackedJobApplicationEntitySchema),
252
+ total: z.number(),
253
+ page: z.number(),
254
+ totalPages: z.number(),
255
+ hasNextPage: z.boolean(),
256
+ hasPrevPage: z.boolean(),
257
+ });