@zyacreatives/shared 1.9.5 → 1.9.6

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.
@@ -10,3 +10,4 @@ export * from "./username";
10
10
  export * from "./post";
11
11
  export * from "./entity-stats";
12
12
  export * from "./job";
13
+ export * from "./job-application";
@@ -26,3 +26,4 @@ __exportStar(require("./username"), exports);
26
26
  __exportStar(require("./post"), exports);
27
27
  __exportStar(require("./entity-stats"), exports);
28
28
  __exportStar(require("./job"), exports);
29
+ __exportStar(require("./job-application"), exports);
@@ -1 +1,34 @@
1
- export {};
1
+ import z from "zod";
2
+ export declare const CreateJobApplicationInputSchema: z.ZodObject<{
3
+ firstName: z.ZodString;
4
+ lastName: z.ZodString;
5
+ emailAddress: z.ZodEmail;
6
+ phoneNumber: z.ZodOptional<z.ZodString>;
7
+ currentRole: z.ZodString;
8
+ experienceLevel: z.ZodEnum<{
9
+ "0-1 year": "0-1 year";
10
+ "1-3 years": "1-3 years";
11
+ "3-5 years": "3-5 years";
12
+ "5+ years": "5+ years";
13
+ }>;
14
+ resumeUrl: z.ZodURL;
15
+ workSampleUrls: z.ZodOptional<z.ZodArray<z.ZodURL>>;
16
+ portfolioUrl: z.ZodOptional<z.ZodURL>;
17
+ coverLetterUrl: z.ZodOptional<z.ZodURL>;
18
+ receiveEmailUpdates: z.ZodBoolean;
19
+ wagesAmount: z.ZodString;
20
+ wagesType: z.ZodEnum<{
21
+ HOURLY: "HOURLY";
22
+ DAILY: "DAILY";
23
+ WEEKLY: "WEEKLY";
24
+ MONTHLY: "MONTHLY";
25
+ PROJECT_BASED: "PROJECT_BASED";
26
+ }>;
27
+ availability: z.ZodEnum<{
28
+ FULL_TIME: "FULL_TIME";
29
+ PART_TIME: "PART_TIME";
30
+ FREELANCE: "FREELANCE";
31
+ INTERNSHIP: "INTERNSHIP";
32
+ CONTRACT: "CONTRACT";
33
+ }>;
34
+ }, z.core.$strip>;
@@ -1,2 +1,24 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CreateJobApplicationInputSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const constants_1 = require("../constants");
9
+ exports.CreateJobApplicationInputSchema = zod_1.default.object({
10
+ firstName: zod_1.default.string(),
11
+ lastName: zod_1.default.string(),
12
+ emailAddress: zod_1.default.email(),
13
+ phoneNumber: zod_1.default.string().optional(),
14
+ currentRole: zod_1.default.string(),
15
+ experienceLevel: zod_1.default.enum(Object.values(constants_1.EXPERIENCE_LEVELS)),
16
+ resumeUrl: zod_1.default.url(),
17
+ workSampleUrls: zod_1.default.array(zod_1.default.url()).optional(),
18
+ portfolioUrl: zod_1.default.url().optional(),
19
+ coverLetterUrl: zod_1.default.url().optional(),
20
+ receiveEmailUpdates: zod_1.default.boolean(),
21
+ wagesAmount: zod_1.default.string(),
22
+ wagesType: zod_1.default.enum(Object.values(constants_1.WAGE_TYPES)),
23
+ availability: zod_1.default.enum(Object.values(constants_1.JOB_AVAILABILITY_TYPES)),
24
+ });
@@ -1,36 +1,149 @@
1
1
  import { z } from "zod";
2
- export declare const CreateJobApplicationInputSchema: z.ZodObject<{
3
- firstName: z.ZodString;
4
- lastName: z.ZodString;
5
- emailAddress: z.ZodEmail;
6
- phoneNumber: z.ZodOptional<z.ZodString>;
7
- currentRole: z.ZodString;
2
+ export declare const JobEntitySchema: z.ZodObject<{
3
+ id: z.ZodCUID2;
4
+ title: z.ZodString;
5
+ jobType: z.ZodEnum<{
6
+ [x: string]: string;
7
+ }>;
8
+ employmentType: z.ZodNullable<z.ZodEnum<{
9
+ [x: string]: string;
10
+ }>>;
11
+ workMode: z.ZodEnum<{
12
+ [x: string]: string;
13
+ }>;
14
+ gigType: z.ZodNullable<z.ZodEnum<{
15
+ [x: string]: string;
16
+ }>>;
17
+ location: z.ZodArray<z.ZodEnum<{
18
+ Africa: "Africa";
19
+ Asia: "Asia";
20
+ Europe: "Europe";
21
+ "North America": "North America";
22
+ "South America": "South America";
23
+ "Middle East": "Middle East";
24
+ Oceania: "Oceania";
25
+ Global: "Global";
26
+ Other: "Other";
27
+ Remote: "Remote";
28
+ EMEA: "EMEA";
29
+ "Asia Pacific": "Asia Pacific";
30
+ }>>;
31
+ createdAt: z.ZodDate;
32
+ updatedAt: z.ZodDate;
33
+ }, z.core.$strip>;
34
+ export declare const GigJobEntitySchema: z.ZodObject<{
35
+ title: z.ZodString;
36
+ workMode: z.ZodEnum<{
37
+ [x: string]: string;
38
+ }>;
39
+ location: z.ZodArray<z.ZodEnum<{
40
+ Africa: "Africa";
41
+ Asia: "Asia";
42
+ Europe: "Europe";
43
+ "North America": "North America";
44
+ "South America": "South America";
45
+ "Middle East": "Middle East";
46
+ Oceania: "Oceania";
47
+ Global: "Global";
48
+ Other: "Other";
49
+ Remote: "Remote";
50
+ EMEA: "EMEA";
51
+ "Asia Pacific": "Asia Pacific";
52
+ }>>;
53
+ createdAt: z.ZodDate;
54
+ updatedAt: z.ZodDate;
55
+ id: z.ZodCUID2;
56
+ jobType: z.ZodLiteral<string>;
57
+ employmentType: z.ZodNull;
58
+ gigType: z.ZodEnum<{
59
+ [x: string]: string;
60
+ }>;
61
+ overview: z.ZodString;
62
+ deliverables: z.ZodArray<z.ZodString>;
63
+ employeeRequirements: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ aboutCompany: z.ZodOptional<z.ZodString>;
65
+ requiredSkills: z.ZodArray<z.ZodString>;
66
+ wagesMin: z.ZodOptional<z.ZodNumber>;
67
+ wagesMax: z.ZodOptional<z.ZodNumber>;
68
+ wagesCurrency: z.ZodOptional<z.ZodEnum<{
69
+ USD: "USD";
70
+ EUR: "EUR";
71
+ GBP: "GBP";
72
+ NGN: "NGN";
73
+ CAD: "CAD";
74
+ AUD: "AUD";
75
+ JPY: "JPY";
76
+ CHF: "CHF";
77
+ INR: "INR";
78
+ ZAR: "ZAR";
79
+ }>>;
80
+ wagesType: z.ZodOptional<z.ZodEnum<{
81
+ HOURLY: "HOURLY";
82
+ DAILY: "DAILY";
83
+ WEEKLY: "WEEKLY";
84
+ MONTHLY: "MONTHLY";
85
+ PROJECT_BASED: "PROJECT_BASED";
86
+ }>>;
87
+ }, z.core.$strip>;
88
+ export declare const RoleJobEntitySchema: z.ZodObject<{
89
+ id: z.ZodCUID2;
90
+ title: z.ZodString;
91
+ workMode: z.ZodEnum<{
92
+ [x: string]: string;
93
+ }>;
94
+ location: z.ZodArray<z.ZodEnum<{
95
+ Africa: "Africa";
96
+ Asia: "Asia";
97
+ Europe: "Europe";
98
+ "North America": "North America";
99
+ "South America": "South America";
100
+ "Middle East": "Middle East";
101
+ Oceania: "Oceania";
102
+ Global: "Global";
103
+ Other: "Other";
104
+ Remote: "Remote";
105
+ EMEA: "EMEA";
106
+ "Asia Pacific": "Asia Pacific";
107
+ }>>;
108
+ createdAt: z.ZodDate;
109
+ updatedAt: z.ZodDate;
110
+ jobType: z.ZodLiteral<string>;
111
+ gigType: z.ZodNull;
112
+ employmentType: z.ZodEnum<{
113
+ [x: string]: string;
114
+ }>;
8
115
  experienceLevel: z.ZodEnum<{
9
116
  "0-1 year": "0-1 year";
10
117
  "1-3 years": "1-3 years";
11
118
  "3-5 years": "3-5 years";
12
119
  "5+ years": "5+ years";
13
120
  }>;
14
- resumeUrl: z.ZodURL;
15
- workSampleUrls: z.ZodOptional<z.ZodArray<z.ZodURL>>;
16
- portfolioUrl: z.ZodOptional<z.ZodURL>;
17
- coverLetterUrl: z.ZodOptional<z.ZodURL>;
18
- receiveEmailUpdates: z.ZodBoolean;
19
- wagesAmount: z.ZodString;
20
- wagesType: z.ZodEnum<{
121
+ overview: z.ZodString;
122
+ keyResponsibilities: z.ZodArray<z.ZodString>;
123
+ requiredSkills: z.ZodArray<z.ZodString>;
124
+ employeeRequirements: z.ZodOptional<z.ZodArray<z.ZodString>>;
125
+ companyBenefits: z.ZodOptional<z.ZodArray<z.ZodString>>;
126
+ wagesMin: z.ZodOptional<z.ZodNumber>;
127
+ wagesMax: z.ZodOptional<z.ZodNumber>;
128
+ wagesCurrency: z.ZodOptional<z.ZodEnum<{
129
+ USD: "USD";
130
+ EUR: "EUR";
131
+ GBP: "GBP";
132
+ NGN: "NGN";
133
+ CAD: "CAD";
134
+ AUD: "AUD";
135
+ JPY: "JPY";
136
+ CHF: "CHF";
137
+ INR: "INR";
138
+ ZAR: "ZAR";
139
+ }>>;
140
+ wagesType: z.ZodOptional<z.ZodEnum<{
21
141
  HOURLY: "HOURLY";
22
142
  DAILY: "DAILY";
23
143
  WEEKLY: "WEEKLY";
24
144
  MONTHLY: "MONTHLY";
25
145
  PROJECT_BASED: "PROJECT_BASED";
26
- }>;
27
- availability: z.ZodEnum<{
28
- FULL_TIME: "FULL_TIME";
29
- PART_TIME: "PART_TIME";
30
- FREELANCE: "FREELANCE";
31
- INTERNSHIP: "INTERNSHIP";
32
- CONTRACT: "CONTRACT";
33
- }>;
146
+ }>>;
34
147
  }, z.core.$strip>;
35
148
  export declare const CreateJobInputSchema: z.ZodObject<{
36
149
  title: z.ZodString;
@@ -1,23 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateJobInputSchema = exports.UpdateGigJobInputSchema = exports.UpdateRoleJobInputSchema = exports.CreateGigJobInputSchema = exports.CreateRoleJobInputSchema = exports.CreateJobInputSchema = exports.CreateJobApplicationInputSchema = void 0;
3
+ exports.UpdateJobInputSchema = exports.UpdateGigJobInputSchema = exports.UpdateRoleJobInputSchema = exports.CreateGigJobInputSchema = exports.CreateRoleJobInputSchema = exports.CreateJobInputSchema = exports.RoleJobEntitySchema = exports.GigJobEntitySchema = exports.JobEntitySchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../constants");
6
- exports.CreateJobApplicationInputSchema = zod_1.z.object({
7
- firstName: zod_1.z.string(),
8
- lastName: zod_1.z.string(),
9
- emailAddress: zod_1.z.email(),
10
- phoneNumber: zod_1.z.string().optional(),
11
- currentRole: zod_1.z.string(),
6
+ exports.JobEntitySchema = zod_1.z.object({
7
+ id: zod_1.z.cuid2(),
8
+ title: zod_1.z.string(),
9
+ jobType: zod_1.z.enum(Object.values(constants_1.JOB_TYPE)),
10
+ employmentType: zod_1.z
11
+ .enum(Object.values(constants_1.EMPLOYMENT_TYPE))
12
+ .nullable(), // nullable because GIG jobs don’t have it
13
+ workMode: zod_1.z.enum(Object.values(constants_1.WORK_MODE)),
14
+ gigType: zod_1.z
15
+ .enum(Object.values(constants_1.GIG_TYPE))
16
+ .nullable(), // nullable because ROLE jobs don’t have it
17
+ location: zod_1.z
18
+ .array(zod_1.z.enum(Object.values(constants_1.JOB_LOCATIONS)))
19
+ .nonempty(),
20
+ createdAt: zod_1.z.date(),
21
+ updatedAt: zod_1.z.date(),
22
+ });
23
+ exports.GigJobEntitySchema = exports.JobEntitySchema.extend({
24
+ id: zod_1.z.cuid2(),
25
+ jobType: zod_1.z.literal(constants_1.JOB_TYPE.GIG),
26
+ employmentType: zod_1.z.null(), // enforce null for GIG
27
+ gigType: zod_1.z.enum(Object.values(constants_1.GIG_TYPE)),
28
+ overview: zod_1.z.string(),
29
+ deliverables: zod_1.z.array(zod_1.z.string()),
30
+ employeeRequirements: zod_1.z.array(zod_1.z.string()).optional(),
31
+ aboutCompany: zod_1.z.string().optional(),
32
+ requiredSkills: zod_1.z.array(zod_1.z.string()),
33
+ wagesMin: zod_1.z.number().optional(),
34
+ wagesMax: zod_1.z.number().optional(),
35
+ wagesCurrency: zod_1.z
36
+ .enum(Object.values(constants_1.WAGES_CURRENCY))
37
+ .optional(),
38
+ wagesType: zod_1.z
39
+ .enum(Object.values(constants_1.WAGE_TYPES))
40
+ .optional(),
41
+ });
42
+ exports.RoleJobEntitySchema = exports.JobEntitySchema.extend({
43
+ jobType: zod_1.z.literal(constants_1.JOB_TYPE.ROLE),
44
+ gigType: zod_1.z.null(), // enforce null for ROLE
45
+ employmentType: zod_1.z.enum(Object.values(constants_1.EMPLOYMENT_TYPE)),
12
46
  experienceLevel: zod_1.z.enum(Object.values(constants_1.EXPERIENCE_LEVELS)),
13
- resumeUrl: zod_1.z.url(),
14
- workSampleUrls: zod_1.z.array(zod_1.z.url()).optional(),
15
- portfolioUrl: zod_1.z.url().optional(),
16
- coverLetterUrl: zod_1.z.url().optional(),
17
- receiveEmailUpdates: zod_1.z.boolean(),
18
- wagesAmount: zod_1.z.string(),
19
- wagesType: zod_1.z.enum(Object.values(constants_1.WAGE_TYPES)),
20
- availability: zod_1.z.enum(Object.values(constants_1.JOB_AVAILABILITY_TYPES)),
47
+ overview: zod_1.z.string(),
48
+ keyResponsibilities: zod_1.z.array(zod_1.z.string()),
49
+ requiredSkills: zod_1.z.array(zod_1.z.string()),
50
+ employeeRequirements: zod_1.z.array(zod_1.z.string()).optional(),
51
+ companyBenefits: zod_1.z.array(zod_1.z.string()).optional(),
52
+ wagesMin: zod_1.z.number().optional(),
53
+ wagesMax: zod_1.z.number().optional(),
54
+ wagesCurrency: zod_1.z
55
+ .enum(Object.values(constants_1.WAGES_CURRENCY))
56
+ .optional(),
57
+ wagesType: zod_1.z
58
+ .enum(Object.values(constants_1.WAGE_TYPES))
59
+ .optional(),
21
60
  });
22
61
  exports.CreateJobInputSchema = zod_1.z
23
62
  .object({
@@ -10,3 +10,4 @@ export * from "./username";
10
10
  export * from "./entity-stats";
11
11
  export * from "./post";
12
12
  export * from "./job-application";
13
+ export * from "./job";
@@ -26,3 +26,4 @@ __exportStar(require("./username"), exports);
26
26
  __exportStar(require("./entity-stats"), exports);
27
27
  __exportStar(require("./post"), exports);
28
28
  __exportStar(require("./job-application"), exports);
29
+ __exportStar(require("./job"), exports);
@@ -1,3 +1,3 @@
1
1
  import z from "zod";
2
- import { CreateJobApplicationInputSchema } from "../schemas/job";
2
+ import { CreateJobApplicationInputSchema } from "../schemas/job-application";
3
3
  export type CreateJobApplicationInput = z.infer<typeof CreateJobApplicationInputSchema>;
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import { JobEntitySchema, GigJobEntitySchema, RoleJobEntitySchema, CreateJobInputSchema, CreateRoleJobInputSchema, CreateGigJobInputSchema, UpdateRoleJobInputSchema, UpdateGigJobInputSchema, UpdateJobInputSchema } from "../schemas/job";
3
+ export type JobEntity = z.infer<typeof JobEntitySchema>;
4
+ export type GigJobEntity = z.infer<typeof GigJobEntitySchema>;
5
+ export type RoleJobEntity = z.infer<typeof RoleJobEntitySchema>;
6
+ export type CreateJobInput = z.infer<typeof CreateJobInputSchema>;
7
+ export type CreateRoleJobInput = z.infer<typeof CreateRoleJobInputSchema>;
8
+ export type CreateGigJobInput = z.infer<typeof CreateGigJobInputSchema>;
9
+ export type UpdateRoleJobInput = z.infer<typeof UpdateRoleJobInputSchema>;
10
+ export type UpdateGigJobInput = z.infer<typeof UpdateGigJobInputSchema>;
11
+ export type UpdateJobInput = z.infer<typeof UpdateJobInputSchema>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyacreatives/shared",
3
- "version": "1.9.5",
3
+ "version": "1.9.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,3 +10,4 @@ export * from "./username";
10
10
  export * from "./post";
11
11
  export * from "./entity-stats";
12
12
  export * from "./job";
13
+ export * from "./job-application";
@@ -0,0 +1,33 @@
1
+ import z from "zod";
2
+ import {
3
+ EXPERIENCE_LEVELS,
4
+ ExperienceLevel,
5
+ JOB_AVAILABILITY_TYPES,
6
+ JobAvailabilityTypes,
7
+ WAGE_TYPES,
8
+ WageTypes,
9
+ } from "../constants";
10
+
11
+ export const CreateJobApplicationInputSchema = z.object({
12
+ firstName: z.string(),
13
+ lastName: z.string(),
14
+ emailAddress: z.email(),
15
+ phoneNumber: z.string().optional(),
16
+ currentRole: z.string(),
17
+ experienceLevel: z.enum(
18
+ Object.values(EXPERIENCE_LEVELS) as [ExperienceLevel, ...ExperienceLevel[]]
19
+ ),
20
+ resumeUrl: z.url(),
21
+ workSampleUrls: z.array(z.url()).optional(),
22
+ portfolioUrl: z.url().optional(),
23
+ coverLetterUrl: z.url().optional(),
24
+ receiveEmailUpdates: z.boolean(),
25
+ wagesAmount: z.string(),
26
+ wagesType: z.enum(Object.values(WAGE_TYPES) as [WageTypes, ...WageTypes[]]),
27
+ availability: z.enum(
28
+ Object.values(JOB_AVAILABILITY_TYPES) as [
29
+ JobAvailabilityTypes,
30
+ ...JobAvailabilityTypes[]
31
+ ]
32
+ ),
33
+ });
@@ -21,28 +21,70 @@ import {
21
21
  WorkMode,
22
22
  } from "../constants";
23
23
 
24
- export const CreateJobApplicationInputSchema = z.object({
25
- firstName: z.string(),
26
- lastName: z.string(),
27
- emailAddress: z.email(),
28
- phoneNumber: z.string().optional(),
29
- currentRole: z.string(),
24
+ export const JobEntitySchema = z.object({
25
+ id: z.cuid2(),
26
+ title: z.string(),
27
+ jobType: z.enum(Object.values(JOB_TYPE) as [JobType, ...JobType[]]),
28
+ employmentType: z
29
+ .enum(
30
+ Object.values(EMPLOYMENT_TYPE) as [EmploymentType, ...EmploymentType[]]
31
+ )
32
+ .nullable(), // nullable because GIG jobs don’t have it
33
+ workMode: z.enum(Object.values(WORK_MODE) as [WorkMode, ...WorkMode[]]),
34
+ gigType: z
35
+ .enum(Object.values(GIG_TYPE) as [GigType, ...GigType[]])
36
+ .nullable(), // nullable because ROLE jobs don’t have it
37
+ location: z
38
+ .array(
39
+ z.enum(Object.values(JOB_LOCATIONS) as [JobLocation, ...JobLocation[]])
40
+ )
41
+ .nonempty(),
42
+ createdAt: z.date(),
43
+ updatedAt: z.date(),
44
+ });
45
+
46
+ export const GigJobEntitySchema = JobEntitySchema.extend({
47
+ id: z.cuid2(),
48
+ jobType: z.literal(JOB_TYPE.GIG),
49
+ employmentType: z.null(), // enforce null for GIG
50
+ gigType: z.enum(Object.values(GIG_TYPE) as [GigType, ...GigType[]]),
51
+ overview: z.string(),
52
+ deliverables: z.array(z.string()),
53
+ employeeRequirements: z.array(z.string()).optional(),
54
+ aboutCompany: z.string().optional(),
55
+ requiredSkills: z.array(z.string()),
56
+ wagesMin: z.number().optional(),
57
+ wagesMax: z.number().optional(),
58
+ wagesCurrency: z
59
+ .enum(Object.values(WAGES_CURRENCY) as [WagesCurrency, ...WagesCurrency[]])
60
+ .optional(),
61
+ wagesType: z
62
+ .enum(Object.values(WAGE_TYPES) as [WageTypes, ...WageTypes[]])
63
+ .optional(),
64
+ });
65
+
66
+ export const RoleJobEntitySchema = JobEntitySchema.extend({
67
+ jobType: z.literal(JOB_TYPE.ROLE),
68
+ gigType: z.null(), // enforce null for ROLE
69
+ employmentType: z.enum(
70
+ Object.values(EMPLOYMENT_TYPE) as [EmploymentType, ...EmploymentType[]]
71
+ ),
30
72
  experienceLevel: z.enum(
31
73
  Object.values(EXPERIENCE_LEVELS) as [ExperienceLevel, ...ExperienceLevel[]]
32
74
  ),
33
- resumeUrl: z.url(),
34
- workSampleUrls: z.array(z.url()).optional(),
35
- portfolioUrl: z.url().optional(),
36
- coverLetterUrl: z.url().optional(),
37
- receiveEmailUpdates: z.boolean(),
38
- wagesAmount: z.string(),
39
- wagesType: z.enum(Object.values(WAGE_TYPES) as [WageTypes, ...WageTypes[]]),
40
- availability: z.enum(
41
- Object.values(JOB_AVAILABILITY_TYPES) as [
42
- JobAvailabilityTypes,
43
- ...JobAvailabilityTypes[]
44
- ]
45
- ),
75
+ overview: z.string(),
76
+ keyResponsibilities: z.array(z.string()),
77
+ requiredSkills: z.array(z.string()),
78
+ employeeRequirements: z.array(z.string()).optional(),
79
+ companyBenefits: z.array(z.string()).optional(),
80
+ wagesMin: z.number().optional(),
81
+ wagesMax: z.number().optional(),
82
+ wagesCurrency: z
83
+ .enum(Object.values(WAGES_CURRENCY) as [WagesCurrency, ...WagesCurrency[]])
84
+ .optional(),
85
+ wagesType: z
86
+ .enum(Object.values(WAGE_TYPES) as [WageTypes, ...WageTypes[]])
87
+ .optional(),
46
88
  });
47
89
 
48
90
  export const CreateJobInputSchema = z
@@ -9,4 +9,5 @@ export * from "./user";
9
9
  export * from "./username";
10
10
  export * from "./entity-stats";
11
11
  export * from "./post";
12
- export * from "./job-application"
12
+ export * from "./job-application";
13
+ export * from "./job";
@@ -1,5 +1,5 @@
1
1
  import z from "zod";
2
- import { CreateJobApplicationInputSchema } from "../schemas/job";
2
+ import { CreateJobApplicationInputSchema } from "../schemas/job-application";
3
3
 
4
4
  export type CreateJobApplicationInput = z.infer<
5
5
  typeof CreateJobApplicationInputSchema
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import {
3
+ JobEntitySchema,
4
+ GigJobEntitySchema,
5
+ RoleJobEntitySchema,
6
+ CreateJobInputSchema,
7
+ CreateRoleJobInputSchema,
8
+ CreateGigJobInputSchema,
9
+ UpdateRoleJobInputSchema,
10
+ UpdateGigJobInputSchema,
11
+ UpdateJobInputSchema,
12
+ } from "../schemas/job";
13
+
14
+ export type JobEntity = z.infer<typeof JobEntitySchema>;
15
+
16
+ export type GigJobEntity = z.infer<typeof GigJobEntitySchema>;
17
+
18
+ export type RoleJobEntity = z.infer<typeof RoleJobEntitySchema>;
19
+
20
+ export type CreateJobInput = z.infer<typeof CreateJobInputSchema>;
21
+
22
+ export type CreateRoleJobInput = z.infer<typeof CreateRoleJobInputSchema>;
23
+
24
+ export type CreateGigJobInput = z.infer<typeof CreateGigJobInputSchema>;
25
+
26
+ export type UpdateRoleJobInput = z.infer<typeof UpdateRoleJobInputSchema>;
27
+
28
+ export type UpdateGigJobInput = z.infer<typeof UpdateGigJobInputSchema>;
29
+
30
+ export type UpdateJobInput = z.infer<typeof UpdateJobInputSchema>;