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