@zyacreatives/shared 2.5.24 → 2.5.25
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 +12 -1
- package/dist/schemas/job-application.js +16 -22
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.js +0 -1
- package/package.json +1 -1
- package/src/schemas/job-application.ts +69 -86
- package/src/types/index.ts +0 -1
- package/src/types/job-application.ts +0 -41
|
@@ -25,7 +25,9 @@ export declare const MinimalJobApplicationEntitySchema: z.ZodObject<{
|
|
|
25
25
|
Offered: "Offered";
|
|
26
26
|
Hired: "Hired";
|
|
27
27
|
}>;
|
|
28
|
+
isApplied: z.ZodBoolean;
|
|
28
29
|
}, z.core.$strip>;
|
|
30
|
+
export type MinimalJobApplicationEntity = z.infer<typeof MinimalJobApplicationEntitySchema>;
|
|
29
31
|
export declare const BaseJobApplicationEntitySchema: z.ZodObject<{
|
|
30
32
|
id: z.ZodString;
|
|
31
33
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
@@ -50,6 +52,7 @@ export declare const BaseJobApplicationEntitySchema: z.ZodObject<{
|
|
|
50
52
|
phoneNumber: z.ZodNullable<z.ZodString>;
|
|
51
53
|
currentRole: z.ZodString;
|
|
52
54
|
resumeUrl: z.ZodURL;
|
|
55
|
+
isApplied: z.ZodBoolean;
|
|
53
56
|
workSampleUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
54
57
|
url: z.ZodURL;
|
|
55
58
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -77,6 +80,7 @@ export declare const BaseJobApplicationEntitySchema: z.ZodObject<{
|
|
|
77
80
|
receiveEmailUpdates: z.ZodBoolean;
|
|
78
81
|
wagesAmount: z.ZodNullable<z.ZodNumber>;
|
|
79
82
|
}, z.core.$strip>;
|
|
83
|
+
export type BaseJobApplicationEntity = z.infer<typeof BaseJobApplicationEntitySchema>;
|
|
80
84
|
export declare const JobApplicationEntitySchema: z.ZodObject<{
|
|
81
85
|
id: z.ZodString;
|
|
82
86
|
firstName: z.ZodOptional<z.ZodString>;
|
|
@@ -131,16 +135,18 @@ export declare const JobApplicationEntitySchema: z.ZodObject<{
|
|
|
131
135
|
}, z.core.$strip>>>;
|
|
132
136
|
coverLetter: z.ZodOptional<z.ZodString>;
|
|
133
137
|
receiveEmailUpdates: z.ZodOptional<z.ZodBoolean>;
|
|
134
|
-
wagesAmount: z.ZodOptional<z.
|
|
138
|
+
wagesAmount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
135
139
|
availability: z.ZodOptional<z.ZodEnum<{
|
|
136
140
|
"Immediate (Within 1 week)": "Immediate (Within 1 week)";
|
|
137
141
|
"2 weeks notice": "2 weeks notice";
|
|
138
142
|
"1 month notice": "1 month notice";
|
|
139
143
|
Flexible: "Flexible";
|
|
140
144
|
}>>;
|
|
145
|
+
isApplied: z.ZodBoolean;
|
|
141
146
|
createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
142
147
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
143
148
|
}, z.core.$strip>;
|
|
149
|
+
export type JobApplicationEntity = z.infer<typeof JobApplicationEntitySchema>;
|
|
144
150
|
export declare const CreateJobApplicationInputSchema: z.ZodObject<{
|
|
145
151
|
jobId: z.ZodCUID2;
|
|
146
152
|
applicantId: z.ZodCUID2;
|
|
@@ -191,6 +197,7 @@ export declare const CreateJobApplicationInputSchema: z.ZodObject<{
|
|
|
191
197
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
192
198
|
}, z.core.$strip>>>;
|
|
193
199
|
}, z.core.$strip>;
|
|
200
|
+
export type CreateJobApplicationInput = z.infer<typeof CreateJobApplicationInputSchema>;
|
|
194
201
|
export declare const TrackedJobApplicationEntitySchema: z.ZodObject<{
|
|
195
202
|
id: z.ZodCUID2;
|
|
196
203
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
@@ -412,6 +419,7 @@ export declare const TrackedJobApplicationEntitySchema: z.ZodObject<{
|
|
|
412
419
|
}>>;
|
|
413
420
|
}, z.core.$strip>]>;
|
|
414
421
|
}, z.core.$strip>;
|
|
422
|
+
export type TrackedJobApplicationEntity = z.infer<typeof TrackedJobApplicationEntitySchema>;
|
|
415
423
|
export declare const UpdateJobApplicationInputSchema: z.ZodObject<{
|
|
416
424
|
jobId: z.ZodOptional<z.ZodCUID2>;
|
|
417
425
|
applicantId: z.ZodOptional<z.ZodCUID2>;
|
|
@@ -471,6 +479,7 @@ export declare const UpdateJobApplicationInputSchema: z.ZodObject<{
|
|
|
471
479
|
Hired: "Hired";
|
|
472
480
|
}>>;
|
|
473
481
|
}, z.core.$strip>;
|
|
482
|
+
export type UpdateJobApplicationInput = z.infer<typeof UpdateJobApplicationInputSchema>;
|
|
474
483
|
export declare const GetTrackedJobApplicationsInputSchema: z.ZodObject<{
|
|
475
484
|
query: z.ZodOptional<z.ZodString>;
|
|
476
485
|
status: z.ZodOptional<z.ZodEnum<{
|
|
@@ -488,6 +497,7 @@ export declare const GetTrackedJobApplicationsInputSchema: z.ZodObject<{
|
|
|
488
497
|
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
489
498
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
490
499
|
}, z.core.$strip>;
|
|
500
|
+
export type GetTrackedJobApplicationsInput = z.infer<typeof GetTrackedJobApplicationsInputSchema>;
|
|
491
501
|
export declare const GetTrackedJobApplicationsOutputSchema: z.ZodObject<{
|
|
492
502
|
applications: z.ZodArray<z.ZodObject<{
|
|
493
503
|
id: z.ZodCUID2;
|
|
@@ -716,3 +726,4 @@ export declare const GetTrackedJobApplicationsOutputSchema: z.ZodObject<{
|
|
|
716
726
|
hasNextPage: z.ZodBoolean;
|
|
717
727
|
hasPrevPage: z.ZodBoolean;
|
|
718
728
|
}, z.core.$strip>;
|
|
729
|
+
export type GetTrackedJobApplicationsOutput = z.infer<typeof GetTrackedJobApplicationsOutputSchema>;
|
|
@@ -5,13 +5,17 @@ const zod_openapi_1 = require("@hono/zod-openapi");
|
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const user_1 = require("./user");
|
|
7
7
|
const job_1 = require("./job");
|
|
8
|
+
const ApplicationStatusSchema = zod_openapi_1.z.enum(Object.values(constants_1.APPLICATION_STATUS));
|
|
9
|
+
const ExperienceLevelSchema = zod_openapi_1.z.enum(Object.values(constants_1.EXPERIENCE_LEVELS));
|
|
10
|
+
const JobAvailabilitySchema = zod_openapi_1.z.enum(Object.values(constants_1.JOB_AVAILABILITY_TYPES));
|
|
8
11
|
exports.MinimalJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
9
12
|
user: user_1.MinimalUserSchema,
|
|
10
13
|
jobId: zod_openapi_1.z.cuid2(),
|
|
11
14
|
id: zod_openapi_1.z.cuid2(),
|
|
12
15
|
coverLetter: zod_openapi_1.z.string(),
|
|
13
16
|
createdAt: zod_openapi_1.z.coerce.date(),
|
|
14
|
-
applicationStatus:
|
|
17
|
+
applicationStatus: ApplicationStatusSchema,
|
|
18
|
+
isApplied: zod_openapi_1.z.boolean(),
|
|
15
19
|
});
|
|
16
20
|
exports.BaseJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
17
21
|
id: zod_openapi_1.z.string(),
|
|
@@ -27,6 +31,7 @@ exports.BaseJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
27
31
|
phoneNumber: zod_openapi_1.z.string().nullable(),
|
|
28
32
|
currentRole: zod_openapi_1.z.string(),
|
|
29
33
|
resumeUrl: zod_openapi_1.z.url(),
|
|
34
|
+
isApplied: zod_openapi_1.z.boolean(),
|
|
30
35
|
workSampleUrls: zod_openapi_1.z
|
|
31
36
|
.array(zod_openapi_1.z.object({
|
|
32
37
|
url: zod_openapi_1.z.url(),
|
|
@@ -42,7 +47,7 @@ exports.BaseJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
42
47
|
tags: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
|
|
43
48
|
}))
|
|
44
49
|
.optional(),
|
|
45
|
-
applicationStatus:
|
|
50
|
+
applicationStatus: ApplicationStatusSchema,
|
|
46
51
|
linkUrls: zod_openapi_1.z
|
|
47
52
|
.array(zod_openapi_1.z.object({
|
|
48
53
|
url: zod_openapi_1.z.url(),
|
|
@@ -62,9 +67,7 @@ exports.JobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
62
67
|
emailAddress: zod_openapi_1.z.email().optional(),
|
|
63
68
|
phoneNumber: zod_openapi_1.z.string().optional(),
|
|
64
69
|
currentRole: zod_openapi_1.z.string().optional(),
|
|
65
|
-
experienceLevel:
|
|
66
|
-
.enum(Object.values(constants_1.EXPERIENCE_LEVELS))
|
|
67
|
-
.optional(),
|
|
70
|
+
experienceLevel: ExperienceLevelSchema.optional(),
|
|
68
71
|
resumeUrl: zod_openapi_1.z.url(),
|
|
69
72
|
workSampleUrls: zod_openapi_1.z
|
|
70
73
|
.array(zod_openapi_1.z.object({
|
|
@@ -81,19 +84,16 @@ exports.JobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
81
84
|
tags: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
|
|
82
85
|
}))
|
|
83
86
|
.optional(),
|
|
84
|
-
applicationStatus:
|
|
85
|
-
.enum(Object.values(constants_1.APPLICATION_STATUS))
|
|
86
|
-
.default("Application Sent"),
|
|
87
|
+
applicationStatus: ApplicationStatusSchema.default("Application Sent"),
|
|
87
88
|
applicantId: zod_openapi_1.z.cuid2(),
|
|
88
89
|
linkUrls: zod_openapi_1.z
|
|
89
90
|
.array(zod_openapi_1.z.object({ url: zod_openapi_1.z.url(), isPortfolioUrl: zod_openapi_1.z.boolean().default(false) }))
|
|
90
91
|
.optional(),
|
|
91
92
|
coverLetter: zod_openapi_1.z.string().optional(),
|
|
92
93
|
receiveEmailUpdates: zod_openapi_1.z.boolean().optional(),
|
|
93
|
-
wagesAmount: zod_openapi_1.z.coerce.number().optional()
|
|
94
|
-
availability:
|
|
95
|
-
|
|
96
|
-
.optional(),
|
|
94
|
+
wagesAmount: zod_openapi_1.z.coerce.number().optional(),
|
|
95
|
+
availability: JobAvailabilitySchema.optional(),
|
|
96
|
+
isApplied: zod_openapi_1.z.boolean(),
|
|
97
97
|
createdAt: zod_openapi_1.z.coerce
|
|
98
98
|
.date()
|
|
99
99
|
.optional()
|
|
@@ -109,9 +109,7 @@ exports.CreateJobApplicationInputSchema = zod_openapi_1.z.object({
|
|
|
109
109
|
emailAddress: zod_openapi_1.z.email().optional(),
|
|
110
110
|
phoneNumber: zod_openapi_1.z.string().optional(),
|
|
111
111
|
currentRole: zod_openapi_1.z.string().optional(),
|
|
112
|
-
experienceLevel:
|
|
113
|
-
.enum(Object.values(constants_1.EXPERIENCE_LEVELS))
|
|
114
|
-
.optional(),
|
|
112
|
+
experienceLevel: ExperienceLevelSchema.optional(),
|
|
115
113
|
resumeUrl: zod_openapi_1.z.url().optional(),
|
|
116
114
|
coverLetter: zod_openapi_1.z.string().optional(),
|
|
117
115
|
availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES).optional(),
|
|
@@ -139,20 +137,16 @@ exports.CreateJobApplicationInputSchema = zod_openapi_1.z.object({
|
|
|
139
137
|
exports.TrackedJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
140
138
|
id: zod_openapi_1.z.cuid2(),
|
|
141
139
|
createdAt: zod_openapi_1.z.coerce.date(),
|
|
142
|
-
applicationStatus:
|
|
140
|
+
applicationStatus: ApplicationStatusSchema,
|
|
143
141
|
job: job_1.NormalizedJobSchema,
|
|
144
142
|
});
|
|
145
143
|
exports.UpdateJobApplicationInputSchema = exports.CreateJobApplicationInputSchema.partial().extend({
|
|
146
144
|
id: zod_openapi_1.z.cuid2(),
|
|
147
|
-
applicationStatus:
|
|
148
|
-
.enum(Object.values(constants_1.APPLICATION_STATUS))
|
|
149
|
-
.optional(),
|
|
145
|
+
applicationStatus: ApplicationStatusSchema.optional(),
|
|
150
146
|
});
|
|
151
147
|
exports.GetTrackedJobApplicationsInputSchema = zod_openapi_1.z.object({
|
|
152
148
|
query: zod_openapi_1.z.string().optional(),
|
|
153
|
-
status:
|
|
154
|
-
.enum(Object.values(constants_1.APPLICATION_STATUS))
|
|
155
|
-
.optional(),
|
|
149
|
+
status: ApplicationStatusSchema.optional(),
|
|
156
150
|
jobType: zod_openapi_1.z
|
|
157
151
|
.enum(Object.values(constants_1.JOB_TYPE))
|
|
158
152
|
.optional(),
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -24,7 +24,6 @@ __exportStar(require("./username"), exports);
|
|
|
24
24
|
__exportStar(require("./entity-stats"), exports);
|
|
25
25
|
__exportStar(require("./feed"), exports);
|
|
26
26
|
__exportStar(require("./activity"), exports);
|
|
27
|
-
__exportStar(require("./job-application"), exports);
|
|
28
27
|
__exportStar(require("./message"), exports);
|
|
29
28
|
__exportStar(require("./chat"), exports);
|
|
30
29
|
__exportStar(require("./job"), exports);
|
package/package.json
CHANGED
|
@@ -13,48 +13,62 @@ 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
|
-
|
|
24
|
-
ApplicationStatus,
|
|
25
|
-
...ApplicationStatus[]
|
|
26
|
-
]
|
|
27
|
-
),
|
|
40
|
+
applicationStatus: ApplicationStatusSchema,
|
|
41
|
+
isApplied: z.boolean(),
|
|
28
42
|
});
|
|
29
43
|
|
|
44
|
+
export type MinimalJobApplicationEntity = z.infer<
|
|
45
|
+
typeof MinimalJobApplicationEntitySchema
|
|
46
|
+
>;
|
|
47
|
+
|
|
30
48
|
export const BaseJobApplicationEntitySchema = z.object({
|
|
31
49
|
id: z.string(),
|
|
32
50
|
createdAt: z.coerce.date(),
|
|
33
51
|
updatedAt: z.coerce.date(),
|
|
34
52
|
availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
|
|
35
53
|
experienceLevel: z.enum(EXPERIENCE_LEVELS).optional(),
|
|
36
|
-
|
|
37
54
|
jobId: z.string(),
|
|
38
55
|
applicantId: z.string(),
|
|
39
|
-
|
|
40
56
|
firstName: z.string().optional(),
|
|
41
57
|
lastName: z.string().optional(),
|
|
42
58
|
emailAddress: z.string().optional(),
|
|
43
59
|
phoneNumber: z.string().nullable(),
|
|
44
|
-
|
|
45
60
|
currentRole: z.string(),
|
|
46
61
|
resumeUrl: z.url(),
|
|
47
|
-
|
|
62
|
+
isApplied: z.boolean(),
|
|
48
63
|
workSampleUrls: z
|
|
49
64
|
.array(
|
|
50
65
|
z.object({
|
|
51
66
|
url: z.url(),
|
|
52
67
|
name: z.string().optional(),
|
|
53
68
|
mimeType: z.string().optional(),
|
|
54
|
-
})
|
|
69
|
+
}),
|
|
55
70
|
)
|
|
56
71
|
.optional(),
|
|
57
|
-
|
|
58
72
|
zyaProjects: z
|
|
59
73
|
.array(
|
|
60
74
|
z.object({
|
|
@@ -62,31 +76,27 @@ export const BaseJobApplicationEntitySchema = z.object({
|
|
|
62
76
|
projectImgUrl: z.url().optional(),
|
|
63
77
|
projectId: z.string(),
|
|
64
78
|
tags: z.array(z.string()).optional(),
|
|
65
|
-
})
|
|
79
|
+
}),
|
|
66
80
|
)
|
|
67
81
|
.optional(),
|
|
68
|
-
|
|
69
|
-
applicationStatus: z.enum(
|
|
70
|
-
Object.values(APPLICATION_STATUS) as [
|
|
71
|
-
ApplicationStatus,
|
|
72
|
-
...ApplicationStatus[]
|
|
73
|
-
]
|
|
74
|
-
),
|
|
75
|
-
|
|
82
|
+
applicationStatus: ApplicationStatusSchema,
|
|
76
83
|
linkUrls: z
|
|
77
84
|
.array(
|
|
78
85
|
z.object({
|
|
79
86
|
url: z.url(),
|
|
80
87
|
isPortfolioUrl: z.boolean().optional(),
|
|
81
|
-
})
|
|
88
|
+
}),
|
|
82
89
|
)
|
|
83
90
|
.optional(),
|
|
84
|
-
|
|
85
91
|
coverLetter: z.string().nullable(),
|
|
86
92
|
receiveEmailUpdates: z.boolean(),
|
|
87
93
|
wagesAmount: z.number().nullable(),
|
|
88
94
|
});
|
|
89
95
|
|
|
96
|
+
export type BaseJobApplicationEntity = z.infer<
|
|
97
|
+
typeof BaseJobApplicationEntitySchema
|
|
98
|
+
>;
|
|
99
|
+
|
|
90
100
|
export const JobApplicationEntitySchema = z.object({
|
|
91
101
|
id: z.string(),
|
|
92
102
|
firstName: z.string().optional(),
|
|
@@ -96,14 +106,7 @@ export const JobApplicationEntitySchema = z.object({
|
|
|
96
106
|
emailAddress: z.email().optional(),
|
|
97
107
|
phoneNumber: z.string().optional(),
|
|
98
108
|
currentRole: z.string().optional(),
|
|
99
|
-
experienceLevel:
|
|
100
|
-
.enum(
|
|
101
|
-
Object.values(EXPERIENCE_LEVELS) as [
|
|
102
|
-
ExperienceLevel,
|
|
103
|
-
...ExperienceLevel[]
|
|
104
|
-
]
|
|
105
|
-
)
|
|
106
|
-
.optional(),
|
|
109
|
+
experienceLevel: ExperienceLevelSchema.optional(),
|
|
107
110
|
resumeUrl: z.url(),
|
|
108
111
|
workSampleUrls: z
|
|
109
112
|
.array(
|
|
@@ -111,7 +114,7 @@ export const JobApplicationEntitySchema = z.object({
|
|
|
111
114
|
url: z.url(),
|
|
112
115
|
name: z.string().optional(),
|
|
113
116
|
mimeType: z.string().optional(),
|
|
114
|
-
})
|
|
117
|
+
}),
|
|
115
118
|
)
|
|
116
119
|
.optional(),
|
|
117
120
|
zyaProjects: z
|
|
@@ -121,34 +124,21 @@ export const JobApplicationEntitySchema = z.object({
|
|
|
121
124
|
projectImgUrl: z.url(),
|
|
122
125
|
projectId: z.cuid2(),
|
|
123
126
|
tags: z.array(z.string()).optional(),
|
|
124
|
-
})
|
|
127
|
+
}),
|
|
125
128
|
)
|
|
126
129
|
.optional(),
|
|
127
|
-
applicationStatus:
|
|
128
|
-
.enum(
|
|
129
|
-
Object.values(APPLICATION_STATUS) as [
|
|
130
|
-
ApplicationStatus,
|
|
131
|
-
...ApplicationStatus[]
|
|
132
|
-
]
|
|
133
|
-
)
|
|
134
|
-
.default("Application Sent"),
|
|
130
|
+
applicationStatus: ApplicationStatusSchema.default("Application Sent"),
|
|
135
131
|
applicantId: z.cuid2(),
|
|
136
132
|
linkUrls: z
|
|
137
133
|
.array(
|
|
138
|
-
z.object({ url: z.url(), isPortfolioUrl: z.boolean().default(false) })
|
|
134
|
+
z.object({ url: z.url(), isPortfolioUrl: z.boolean().default(false) }),
|
|
139
135
|
)
|
|
140
136
|
.optional(),
|
|
141
137
|
coverLetter: z.string().optional(),
|
|
142
138
|
receiveEmailUpdates: z.boolean().optional(),
|
|
143
|
-
wagesAmount: z.coerce.number().optional()
|
|
144
|
-
availability:
|
|
145
|
-
|
|
146
|
-
Object.values(JOB_AVAILABILITY_TYPES) as [
|
|
147
|
-
JobAvailabilityTypes,
|
|
148
|
-
...JobAvailabilityTypes[]
|
|
149
|
-
]
|
|
150
|
-
)
|
|
151
|
-
.optional(),
|
|
139
|
+
wagesAmount: z.coerce.number().optional(),
|
|
140
|
+
availability: JobAvailabilitySchema.optional(),
|
|
141
|
+
isApplied: z.boolean(),
|
|
152
142
|
createdAt: z.coerce
|
|
153
143
|
.date()
|
|
154
144
|
.optional()
|
|
@@ -156,6 +146,8 @@ export const JobApplicationEntitySchema = z.object({
|
|
|
156
146
|
updatedAt: z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
|
|
157
147
|
});
|
|
158
148
|
|
|
149
|
+
export type JobApplicationEntity = z.infer<typeof JobApplicationEntitySchema>;
|
|
150
|
+
|
|
159
151
|
export const CreateJobApplicationInputSchema = z.object({
|
|
160
152
|
jobId: z.cuid2(),
|
|
161
153
|
applicantId: z.cuid2(),
|
|
@@ -165,29 +157,19 @@ export const CreateJobApplicationInputSchema = z.object({
|
|
|
165
157
|
emailAddress: z.email().optional(),
|
|
166
158
|
phoneNumber: z.string().optional(),
|
|
167
159
|
currentRole: z.string().optional(),
|
|
168
|
-
experienceLevel:
|
|
169
|
-
.enum(
|
|
170
|
-
Object.values(EXPERIENCE_LEVELS) as [
|
|
171
|
-
ExperienceLevel,
|
|
172
|
-
...ExperienceLevel[]
|
|
173
|
-
]
|
|
174
|
-
)
|
|
175
|
-
.optional(),
|
|
176
|
-
|
|
160
|
+
experienceLevel: ExperienceLevelSchema.optional(),
|
|
177
161
|
resumeUrl: z.url().optional(),
|
|
178
162
|
coverLetter: z.string().optional(),
|
|
179
|
-
|
|
180
163
|
availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
|
|
181
164
|
wagesAmount: z.coerce.number().optional(),
|
|
182
165
|
receiveEmailUpdates: z.boolean().optional(),
|
|
183
|
-
|
|
184
166
|
workSampleUrls: z
|
|
185
167
|
.array(
|
|
186
168
|
z.object({
|
|
187
169
|
url: z.url(),
|
|
188
170
|
name: z.string().optional(),
|
|
189
171
|
mimeType: z.string().optional(),
|
|
190
|
-
})
|
|
172
|
+
}),
|
|
191
173
|
)
|
|
192
174
|
.optional(),
|
|
193
175
|
linkUrls: z
|
|
@@ -200,46 +182,39 @@ export const CreateJobApplicationInputSchema = z.object({
|
|
|
200
182
|
projectId: z.cuid2(),
|
|
201
183
|
projectImgUrl: z.url(),
|
|
202
184
|
tags: z.array(z.string()).optional(),
|
|
203
|
-
})
|
|
185
|
+
}),
|
|
204
186
|
)
|
|
205
187
|
.optional(),
|
|
206
188
|
});
|
|
207
189
|
|
|
190
|
+
export type CreateJobApplicationInput = z.infer<
|
|
191
|
+
typeof CreateJobApplicationInputSchema
|
|
192
|
+
>;
|
|
193
|
+
|
|
208
194
|
export const TrackedJobApplicationEntitySchema = z.object({
|
|
209
195
|
id: z.cuid2(),
|
|
210
196
|
createdAt: z.coerce.date(),
|
|
211
|
-
applicationStatus:
|
|
212
|
-
Object.values(APPLICATION_STATUS) as [
|
|
213
|
-
ApplicationStatus,
|
|
214
|
-
...ApplicationStatus[]
|
|
215
|
-
]
|
|
216
|
-
),
|
|
197
|
+
applicationStatus: ApplicationStatusSchema,
|
|
217
198
|
job: NormalizedJobSchema,
|
|
218
199
|
});
|
|
219
200
|
|
|
201
|
+
export type TrackedJobApplicationEntity = z.infer<
|
|
202
|
+
typeof TrackedJobApplicationEntitySchema
|
|
203
|
+
>;
|
|
204
|
+
|
|
220
205
|
export const UpdateJobApplicationInputSchema =
|
|
221
206
|
CreateJobApplicationInputSchema.partial().extend({
|
|
222
207
|
id: z.cuid2(),
|
|
223
|
-
applicationStatus:
|
|
224
|
-
.enum(
|
|
225
|
-
Object.values(APPLICATION_STATUS) as [
|
|
226
|
-
ApplicationStatus,
|
|
227
|
-
...ApplicationStatus[]
|
|
228
|
-
]
|
|
229
|
-
)
|
|
230
|
-
.optional(),
|
|
208
|
+
applicationStatus: ApplicationStatusSchema.optional(),
|
|
231
209
|
});
|
|
232
210
|
|
|
211
|
+
export type UpdateJobApplicationInput = z.infer<
|
|
212
|
+
typeof UpdateJobApplicationInputSchema
|
|
213
|
+
>;
|
|
214
|
+
|
|
233
215
|
export const GetTrackedJobApplicationsInputSchema = z.object({
|
|
234
216
|
query: z.string().optional(),
|
|
235
|
-
status:
|
|
236
|
-
.enum(
|
|
237
|
-
Object.values(APPLICATION_STATUS) as [
|
|
238
|
-
ApplicationStatus,
|
|
239
|
-
...ApplicationStatus[]
|
|
240
|
-
]
|
|
241
|
-
)
|
|
242
|
-
.optional(),
|
|
217
|
+
status: ApplicationStatusSchema.optional(),
|
|
243
218
|
jobType: z
|
|
244
219
|
.enum(Object.values(JOB_TYPE) as [JobType, ...JobType[]])
|
|
245
220
|
.optional(),
|
|
@@ -247,6 +222,10 @@ export const GetTrackedJobApplicationsInputSchema = z.object({
|
|
|
247
222
|
limit: z.coerce.number().min(1).max(100).default(20),
|
|
248
223
|
});
|
|
249
224
|
|
|
225
|
+
export type GetTrackedJobApplicationsInput = z.infer<
|
|
226
|
+
typeof GetTrackedJobApplicationsInputSchema
|
|
227
|
+
>;
|
|
228
|
+
|
|
250
229
|
export const GetTrackedJobApplicationsOutputSchema = z.object({
|
|
251
230
|
applications: z.array(TrackedJobApplicationEntitySchema),
|
|
252
231
|
total: z.number(),
|
|
@@ -255,3 +234,7 @@ export const GetTrackedJobApplicationsOutputSchema = z.object({
|
|
|
255
234
|
hasNextPage: z.boolean(),
|
|
256
235
|
hasPrevPage: z.boolean(),
|
|
257
236
|
});
|
|
237
|
+
|
|
238
|
+
export type GetTrackedJobApplicationsOutput = z.infer<
|
|
239
|
+
typeof GetTrackedJobApplicationsOutputSchema
|
|
240
|
+
>;
|
package/src/types/index.ts
CHANGED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
import {
|
|
3
|
-
JobApplicationEntitySchema,
|
|
4
|
-
CreateJobApplicationInputSchema,
|
|
5
|
-
UpdateJobApplicationInputSchema,
|
|
6
|
-
MinimalJobApplicationEntitySchema,
|
|
7
|
-
BaseJobApplicationEntitySchema,
|
|
8
|
-
TrackedJobApplicationEntitySchema,
|
|
9
|
-
GetTrackedJobApplicationsInputSchema,
|
|
10
|
-
GetTrackedJobApplicationsOutputSchema,
|
|
11
|
-
} from "../schemas/job-application";
|
|
12
|
-
|
|
13
|
-
export type CreateJobApplicationInput = z.infer<
|
|
14
|
-
typeof CreateJobApplicationInputSchema
|
|
15
|
-
>;
|
|
16
|
-
|
|
17
|
-
export type UpdateJobApplicationInput = z.infer<
|
|
18
|
-
typeof UpdateJobApplicationInputSchema
|
|
19
|
-
>;
|
|
20
|
-
|
|
21
|
-
export type JobApplicationEntity = z.infer<typeof JobApplicationEntitySchema>;
|
|
22
|
-
|
|
23
|
-
export type MinimalJobApplicationEntity = z.infer<
|
|
24
|
-
typeof MinimalJobApplicationEntitySchema
|
|
25
|
-
>;
|
|
26
|
-
|
|
27
|
-
export type BaseJobApplicationEntity = z.infer<
|
|
28
|
-
typeof BaseJobApplicationEntitySchema
|
|
29
|
-
>;
|
|
30
|
-
|
|
31
|
-
export type TrackedJobApplicationEntity = z.infer<
|
|
32
|
-
typeof TrackedJobApplicationEntitySchema
|
|
33
|
-
>;
|
|
34
|
-
|
|
35
|
-
export type GetTrackedJobApplicationsInput = z.infer<
|
|
36
|
-
typeof GetTrackedJobApplicationsInputSchema
|
|
37
|
-
>;
|
|
38
|
-
|
|
39
|
-
export type GetTrackedJobApplicationsOutput = z.infer<
|
|
40
|
-
typeof GetTrackedJobApplicationsOutputSchema
|
|
41
|
-
>;
|