@the-inkwell/shared 0.2.22 → 0.2.24

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.
@@ -53,24 +53,16 @@ export declare const AdminPersonExperienceSelectSchema: z.ZodObject<{
53
53
  in: {};
54
54
  }>;
55
55
  export declare const AdminPersonCreateSchema: z.ZodObject<{
56
- id: z.ZodOptional<z.ZodUUID>;
57
- idNano: z.ZodString;
58
- emailIsVerified: z.ZodOptional<z.ZodBoolean>;
59
- firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
- lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
- linkedInUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
- phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- phoneIsVerified: z.ZodOptional<z.ZodBoolean>;
64
- emailIsOptedOut: z.ZodOptional<z.ZodBoolean>;
65
- smsIsOptedOut: z.ZodOptional<z.ZodBoolean>;
66
- resumeUri: z.ZodOptional<z.ZodNullable<z.ZodString>>;
67
- resumeText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
68
- resumeData: z.ZodOptional<z.ZodNullable<z.ZodDate | z.ZodType<Buffer<ArrayBufferLike>, unknown> | z.ZodType<any, any> | z.ZodType<any, unknown>>>;
69
- photoUri: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
- isMember: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
71
- lat: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
72
- lon: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
73
- city: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ country: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
57
+ UNITED_STATES: "UNITED_STATES";
58
+ CANADA: "CANADA";
59
+ }>>>;
60
+ gender: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
61
+ MAN: "MAN";
62
+ WOMAN: "WOMAN";
63
+ NON_BINARY: "NON_BINARY";
64
+ UNDISCLOSED: "UNDISCLOSED";
65
+ }>>>;
74
66
  state: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
75
67
  AL: "AL";
76
68
  AK: "AK";
@@ -145,19 +137,37 @@ export declare const AdminPersonCreateSchema: z.ZodObject<{
145
137
  SK: "SK";
146
138
  YT: "YT";
147
139
  }>>>;
148
- postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
149
- country: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
150
- UNITED_STATES: "UNITED_STATES";
151
- CANADA: "CANADA";
152
- }>>>;
153
- additionalEmails: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
154
- additionalPhones: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
140
+ id: z.ZodOptional<z.ZodUUID>;
141
+ clientId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
142
+ deletedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
143
+ createdAt: z.ZodOptional<z.ZodDate>;
144
+ updatedAt: z.ZodOptional<z.ZodDate>;
155
145
  source: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
156
146
  NETWORK: "NETWORK";
157
147
  WEBSITE: "WEBSITE";
158
148
  SOCIAL_MEDIA: "SOCIAL_MEDIA";
159
149
  SOURCED: "SOURCED";
160
150
  }>>>;
151
+ city: z.ZodOptional<z.ZodNullable<z.ZodString>>;
152
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
153
+ lat: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
154
+ lon: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
155
+ email: z.ZodEmail;
156
+ emailIsVerified: z.ZodOptional<z.ZodBoolean>;
157
+ firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
158
+ lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
159
+ linkedInUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
+ phoneIsVerified: z.ZodOptional<z.ZodBoolean>;
162
+ emailIsOptedOut: z.ZodOptional<z.ZodBoolean>;
163
+ smsIsOptedOut: z.ZodOptional<z.ZodBoolean>;
164
+ resumeUri: z.ZodOptional<z.ZodNullable<z.ZodString>>;
165
+ resumeText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
166
+ resumeData: z.ZodOptional<z.ZodNullable<z.ZodDate | z.ZodType<Buffer<ArrayBufferLike>, unknown> | z.ZodType<any, any> | z.ZodType<any, unknown>>>;
167
+ photoUri: z.ZodOptional<z.ZodNullable<z.ZodString>>;
168
+ isMember: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
169
+ additionalEmails: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
170
+ additionalPhones: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
161
171
  sourcePersonId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
162
172
  websiteUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
173
  expectedSalary: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
@@ -175,22 +185,11 @@ export declare const AdminPersonCreateSchema: z.ZodObject<{
175
185
  EMAIL: "EMAIL";
176
186
  }>>>;
177
187
  isOpenToRelocate: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
178
- gender: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
179
- MAN: "MAN";
180
- WOMAN: "WOMAN";
181
- NON_BINARY: "NON_BINARY";
182
- UNDISCLOSED: "UNDISCLOSED";
183
- }>>>;
184
188
  discoveredThrough: z.ZodOptional<z.ZodNullable<z.ZodString>>;
185
189
  deactivatedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
186
190
  lastSignedInAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
187
191
  signInCount: z.ZodOptional<z.ZodInt>;
188
- clientId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
189
192
  addedAt: z.ZodOptional<z.ZodDate>;
190
- deletedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
191
- createdAt: z.ZodOptional<z.ZodDate>;
192
- updatedAt: z.ZodOptional<z.ZodDate>;
193
- email: z.ZodString;
194
193
  }, {
195
194
  out: {};
196
195
  in: {};
@@ -575,7 +574,7 @@ export declare const AdminPersonUpdateSchema: z.ZodObject<{
575
574
  deletedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
576
575
  createdAt: z.ZodOptional<z.ZodDate>;
577
576
  updatedAt: z.ZodOptional<z.ZodDate>;
578
- email: z.ZodOptional<z.ZodString>;
577
+ email: z.ZodOptional<z.ZodEmail>;
579
578
  addedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
580
579
  phone: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>, z.ZodString>>>;
581
580
  }, {
@@ -11,7 +11,7 @@ const v4_1 = require("zod/v4");
11
11
  const constants_1 = require("../../../constants");
12
12
  const phone_1 = __importDefault(require("phone"));
13
13
  //// validators
14
- const emailSchema = v4_1.z.string().trim().toLowerCase().email();
14
+ const emailSchema = v4_1.z.email().trim().toLowerCase();
15
15
  const phoneSchema = v4_1.z
16
16
  .string()
17
17
  .transform((val) => (0, phone_1.default)(val.trim()).phoneNumber)
@@ -48,8 +48,12 @@ exports.AdminPersonExperienceSelectSchema = (0, drizzle_zod_1.createSelectSchema
48
48
  jobFunction: v4_1.z.string().nullable(),
49
49
  industry: v4_1.z.string().nullable()
50
50
  });
51
- exports.AdminPersonCreateSchema = (0, drizzle_zod_1.createInsertSchema)(core_1.person).extend({
51
+ exports.AdminPersonCreateSchema = (0, drizzle_zod_1.createInsertSchema)(core_1.person)
52
+ .extend({
52
53
  email: emailSchema
54
+ })
55
+ .omit({
56
+ idNano: true
53
57
  });
54
58
  exports.AdminPersonSelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_1.person).extend({
55
59
  skills: v4_1.z.array((0, drizzle_zod_1.createSelectSchema)(core_1.skill).pick({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/persons/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport {\n client,\n education,\n experience,\n industry,\n jobFunction,\n person,\n skill,\n tag\n} from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\nimport {\n LIST_REQUEST_SORT_DIRECTIONS,\n PERSON_LIST_OPERATORS\n} from '../../../constants'\nimport phone from 'phone'\n\n//// validators\n\nconst emailSchema = z.string().trim().toLowerCase().email()\nconst phoneSchema = z\n .string()\n .transform((val) => phone(val.trim()).phoneNumber)\n .pipe(z.string().startsWith('+'))\n .nullable()\n\nexport const AdminPersonEducationSelectSchema = createSelectSchema(education, {\n field: (schema) => schema.describe('Field of study'),\n graduatedAt: z\n .date()\n .nullable()\n .describe('Graduation date, use June 1 if exact date unknown')\n}).pick({\n id: true,\n degree: true,\n field: true,\n school: true,\n graduatedAt: true\n})\n\nexport const AdminPersonExperienceSelectSchema = createSelectSchema(\n experience,\n {\n startDate: z.date().nullable(),\n endDate: z.date().nullable()\n }\n)\n .pick({\n id: true,\n title: true,\n company: true,\n level: true,\n salary: true,\n startDate: true,\n endDate: true,\n isCurrent: true\n })\n .extend({\n jobFunction: z.string().nullable(),\n industry: z.string().nullable()\n })\n\nexport const AdminPersonCreateSchema = createInsertSchema(person).extend({\n email: emailSchema\n})\nexport const AdminPersonSelectSchema = createSelectSchema(person).extend({\n skills: z.array(\n createSelectSchema(skill).pick({\n id: true,\n name: true\n })\n ),\n tags: z.array(\n createSelectSchema(tag).pick({\n id: true,\n name: true\n })\n ),\n client: createSelectSchema(client).pick({\n id: true,\n name: true\n }),\n educations: z.array(AdminPersonEducationSelectSchema),\n experiences: z.array(AdminPersonExperienceSelectSchema),\n _referralsCount: z.number().nullable().optional(),\n _referredIndustries: z.array(z.string()).nullable().optional(),\n _referredLocations: z.array(z.string()).nullable().optional(),\n _referredSkills: z.array(z.string()).nullable().optional(),\n _currentTitle: z.string().nullable().optional(),\n _currentEmployer: z.string().nullable().optional(),\n _currentSalary: z.number().nullable().optional(),\n _careerLevel: z.number().nullable().optional(),\n _currentJobFunction: z.string().nullable().optional(),\n _currentIndustry: z.string().nullable().optional(),\n _calculatedIsMember: z.boolean().optional(),\n industries: z.array(\n createSelectSchema(industry).pick({\n id: true,\n name: true,\n slug: true\n })\n ),\n jobFunctions: z.array(\n createSelectSchema(jobFunction).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n})\n\nexport const AdminPersonUpdateSchema = createUpdateSchema(person).extend({\n email: emailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: phoneSchema.optional()\n})\n\nexport const AdminPersonParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\nexport const AdminPersonByEmailParamsSchema = AdminPersonSelectSchema.pick({\n email: true\n})\nexport const AdminPersonByPhoneParamsSchema = AdminPersonSelectSchema.pick({\n phone: true\n})\n\nexport const AdminPersonUpdateParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\n\nexport const AdminPersonDeleteParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\n\nconst FilterSchema = z.object({\n field: z.string(),\n isDynamicColumn: z.boolean(),\n operator: z.enum(PERSON_LIST_OPERATORS),\n value: z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])\n})\nconst GeoSchema = z.object({\n operator: z.string(),\n referenceLat: z.number(),\n referenceLon: z.number(),\n radius: z.number()\n})\nconst CustomQuerySchema = z.object({\n custom: z.string(),\n value: z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])\n})\n// TODO - add type\nconst NestedFilterSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n and: z\n .array(\n z.union([\n FilterSchema,\n GeoSchema,\n CustomQuerySchema,\n NestedFilterSchema\n ])\n )\n .optional(),\n or: z\n .array(\n z.union([\n FilterSchema,\n GeoSchema,\n CustomQuerySchema,\n NestedFilterSchema\n ])\n )\n .optional()\n })\n)\n\nexport const AdminPersonListQuerySchema = ListQuerySchema.extend({\n sort: z\n .array(\n z.object({\n field: z.string(),\n direction: z.enum(LIST_REQUEST_SORT_DIRECTIONS)\n })\n )\n .optional(),\n filter: z\n .union([FilterSchema, GeoSchema, CustomQuerySchema, NestedFilterSchema])\n .optional()\n})\n\nexport const AdminPersonConnectionsParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\nexport const AdminPersonConnectionsPersonSchema = AdminPersonSelectSchema.pick({\n id: true,\n email: true,\n fullName: true\n})\nexport const AdminPersonConnectionsResultSchema = z.object({\n sourcedPersons: z.array(AdminPersonConnectionsPersonSchema),\n sourcedBy: AdminPersonConnectionsPersonSchema.nullable(),\n bestPersons: z.array(\n z.object({ bestPerson: AdminPersonConnectionsPersonSchema })\n ),\n bestiedBy: z.array(\n z.object({ bestiedBy: AdminPersonConnectionsPersonSchema })\n ),\n referrals: z.array(\n z.object({\n candidacy: z.object({ person: AdminPersonConnectionsPersonSchema })\n })\n ),\n candidacies: z.array(\n z.object({\n referral: z\n .object({ referrer: AdminPersonConnectionsPersonSchema })\n .nullable()\n })\n )\n})\n\n//// types\n\ntype AdminPerson = z.infer<typeof AdminPersonSelectSchema>\n\nexport type AdminPersonExperienceResult = z.infer<\n typeof AdminPersonExperienceSelectSchema\n>\nexport type AdminPersonEducationResult = z.infer<\n typeof AdminPersonEducationSelectSchema\n>\n\n// detail\nexport type AdminPersonParams = z.infer<typeof AdminPersonParamsSchema>\nexport type AdminPersonByEmailParams = z.infer<\n typeof AdminPersonByEmailParamsSchema\n>\nexport type AdminPersonByPhoneParams = z.infer<\n typeof AdminPersonByPhoneParamsSchema\n>\nexport type AdminPersonResult = AdminPerson\n\n// list\nexport type AdminPersonListQuery = z.infer<typeof AdminPersonListQuerySchema>\nexport type AdminPersonListResult = ListResponse<\n z.infer<typeof AdminPersonSelectSchema>\n>\n\n// create\nexport type AdminPersonCreateInput = z.infer<typeof AdminPersonCreateSchema>\nexport type AdminPersonCreateResult = Pick<AdminPerson, 'id'>\n\n// update\nexport type AdminPersonUpdateParams = z.infer<\n typeof AdminPersonUpdateParamsSchema\n>\nexport type AdminPersonUpdateInput = Partial<AdminPerson>\n\n// delete\nexport type AdminPersonDeleteParams = z.infer<\n typeof AdminPersonDeleteParamsSchema\n>\n\nexport const ResumeParserSchema = AdminPersonSelectSchema.pick({\n firstName: true,\n lastName: true,\n email: true,\n phone: true,\n city: true,\n state: true,\n country: true,\n gender: true,\n linkedInUrl: true,\n websiteUrl: true,\n skills: true,\n experiences: true,\n educations: true\n}).extend({\n skills: z.array(z.string()),\n experiences: z.array(\n AdminPersonExperienceSelectSchema.extend({\n jobFunction: z.string().nullable()\n })\n )\n})\n\nexport type AdminPersonResumeParseResult = z.infer<typeof ResumeParserSchema>\n\nexport type AdminPersonConnectionsParams = z.infer<\n typeof AdminPersonConnectionsParamsSchema\n>\nexport type AdminPersonConnectionsPerson = z.infer<\n typeof AdminPersonConnectionsPersonSchema\n>\nexport type AdminPersonConnectionsResult = z.infer<\n typeof AdminPersonConnectionsResultSchema\n>\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/persons/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport {\n client,\n education,\n experience,\n industry,\n jobFunction,\n person,\n skill,\n tag\n} from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\nimport {\n LIST_REQUEST_SORT_DIRECTIONS,\n PERSON_LIST_OPERATORS\n} from '../../../constants'\nimport phone from 'phone'\n\n//// validators\n\nconst emailSchema = z.email().trim().toLowerCase()\nconst phoneSchema = z\n .string()\n .transform((val) => phone(val.trim()).phoneNumber)\n .pipe(z.string().startsWith('+'))\n .nullable()\n\nexport const AdminPersonEducationSelectSchema = createSelectSchema(education, {\n field: (schema) => schema.describe('Field of study'),\n graduatedAt: z\n .date()\n .nullable()\n .describe('Graduation date, use June 1 if exact date unknown')\n}).pick({\n id: true,\n degree: true,\n field: true,\n school: true,\n graduatedAt: true\n})\n\nexport const AdminPersonExperienceSelectSchema = createSelectSchema(\n experience,\n {\n startDate: z.date().nullable(),\n endDate: z.date().nullable()\n }\n)\n .pick({\n id: true,\n title: true,\n company: true,\n level: true,\n salary: true,\n startDate: true,\n endDate: true,\n isCurrent: true\n })\n .extend({\n jobFunction: z.string().nullable(),\n industry: z.string().nullable()\n })\n\nexport const AdminPersonCreateSchema = createInsertSchema(person)\n .extend({\n email: emailSchema\n })\n .omit({\n idNano: true\n })\nexport const AdminPersonSelectSchema = createSelectSchema(person).extend({\n skills: z.array(\n createSelectSchema(skill).pick({\n id: true,\n name: true\n })\n ),\n tags: z.array(\n createSelectSchema(tag).pick({\n id: true,\n name: true\n })\n ),\n client: createSelectSchema(client).pick({\n id: true,\n name: true\n }),\n educations: z.array(AdminPersonEducationSelectSchema),\n experiences: z.array(AdminPersonExperienceSelectSchema),\n _referralsCount: z.number().nullable().optional(),\n _referredIndustries: z.array(z.string()).nullable().optional(),\n _referredLocations: z.array(z.string()).nullable().optional(),\n _referredSkills: z.array(z.string()).nullable().optional(),\n _currentTitle: z.string().nullable().optional(),\n _currentEmployer: z.string().nullable().optional(),\n _currentSalary: z.number().nullable().optional(),\n _careerLevel: z.number().nullable().optional(),\n _currentJobFunction: z.string().nullable().optional(),\n _currentIndustry: z.string().nullable().optional(),\n _calculatedIsMember: z.boolean().optional(),\n industries: z.array(\n createSelectSchema(industry).pick({\n id: true,\n name: true,\n slug: true\n })\n ),\n jobFunctions: z.array(\n createSelectSchema(jobFunction).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n})\n\nexport const AdminPersonUpdateSchema = createUpdateSchema(person).extend({\n email: emailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: phoneSchema.optional()\n})\n\nexport const AdminPersonParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\nexport const AdminPersonByEmailParamsSchema = AdminPersonSelectSchema.pick({\n email: true\n})\nexport const AdminPersonByPhoneParamsSchema = AdminPersonSelectSchema.pick({\n phone: true\n})\n\nexport const AdminPersonUpdateParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\n\nexport const AdminPersonDeleteParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\n\nconst FilterSchema = z.object({\n field: z.string(),\n isDynamicColumn: z.boolean(),\n operator: z.enum(PERSON_LIST_OPERATORS),\n value: z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])\n})\nconst GeoSchema = z.object({\n operator: z.string(),\n referenceLat: z.number(),\n referenceLon: z.number(),\n radius: z.number()\n})\nconst CustomQuerySchema = z.object({\n custom: z.string(),\n value: z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])\n})\n// TODO - add type\nconst NestedFilterSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n and: z\n .array(\n z.union([\n FilterSchema,\n GeoSchema,\n CustomQuerySchema,\n NestedFilterSchema\n ])\n )\n .optional(),\n or: z\n .array(\n z.union([\n FilterSchema,\n GeoSchema,\n CustomQuerySchema,\n NestedFilterSchema\n ])\n )\n .optional()\n })\n)\n\nexport const AdminPersonListQuerySchema = ListQuerySchema.extend({\n sort: z\n .array(\n z.object({\n field: z.string(),\n direction: z.enum(LIST_REQUEST_SORT_DIRECTIONS)\n })\n )\n .optional(),\n filter: z\n .union([FilterSchema, GeoSchema, CustomQuerySchema, NestedFilterSchema])\n .optional()\n})\n\nexport const AdminPersonConnectionsParamsSchema = AdminPersonSelectSchema.pick({\n id: true\n})\nexport const AdminPersonConnectionsPersonSchema = AdminPersonSelectSchema.pick({\n id: true,\n email: true,\n fullName: true\n})\nexport const AdminPersonConnectionsResultSchema = z.object({\n sourcedPersons: z.array(AdminPersonConnectionsPersonSchema),\n sourcedBy: AdminPersonConnectionsPersonSchema.nullable(),\n bestPersons: z.array(\n z.object({ bestPerson: AdminPersonConnectionsPersonSchema })\n ),\n bestiedBy: z.array(\n z.object({ bestiedBy: AdminPersonConnectionsPersonSchema })\n ),\n referrals: z.array(\n z.object({\n candidacy: z.object({ person: AdminPersonConnectionsPersonSchema })\n })\n ),\n candidacies: z.array(\n z.object({\n referral: z\n .object({ referrer: AdminPersonConnectionsPersonSchema })\n .nullable()\n })\n )\n})\n\n//// types\n\ntype AdminPerson = z.infer<typeof AdminPersonSelectSchema>\n\nexport type AdminPersonExperienceResult = z.infer<\n typeof AdminPersonExperienceSelectSchema\n>\nexport type AdminPersonEducationResult = z.infer<\n typeof AdminPersonEducationSelectSchema\n>\n\n// detail\nexport type AdminPersonParams = z.infer<typeof AdminPersonParamsSchema>\nexport type AdminPersonByEmailParams = z.infer<\n typeof AdminPersonByEmailParamsSchema\n>\nexport type AdminPersonByPhoneParams = z.infer<\n typeof AdminPersonByPhoneParamsSchema\n>\nexport type AdminPersonResult = AdminPerson\n\n// list\nexport type AdminPersonListQuery = z.infer<typeof AdminPersonListQuerySchema>\nexport type AdminPersonListResult = ListResponse<\n z.infer<typeof AdminPersonSelectSchema>\n>\n\n// create\nexport type AdminPersonCreateInput = z.infer<typeof AdminPersonCreateSchema>\nexport type AdminPersonCreateResult = Pick<AdminPerson, 'id'>\n\n// update\nexport type AdminPersonUpdateParams = z.infer<\n typeof AdminPersonUpdateParamsSchema\n>\nexport type AdminPersonUpdateInput = Partial<AdminPerson>\n\n// delete\nexport type AdminPersonDeleteParams = z.infer<\n typeof AdminPersonDeleteParamsSchema\n>\n\nexport const ResumeParserSchema = AdminPersonSelectSchema.pick({\n firstName: true,\n lastName: true,\n email: true,\n phone: true,\n city: true,\n state: true,\n country: true,\n gender: true,\n linkedInUrl: true,\n websiteUrl: true,\n skills: true,\n experiences: true,\n educations: true\n}).extend({\n skills: z.array(z.string()),\n experiences: z.array(\n AdminPersonExperienceSelectSchema.extend({\n jobFunction: z.string().nullable()\n })\n )\n})\n\nexport type AdminPersonResumeParseResult = z.infer<typeof ResumeParserSchema>\n\nexport type AdminPersonConnectionsParams = z.infer<\n typeof AdminPersonConnectionsParamsSchema\n>\nexport type AdminPersonConnectionsPerson = z.infer<\n typeof AdminPersonConnectionsPersonSchema\n>\nexport type AdminPersonConnectionsResult = z.infer<\n typeof AdminPersonConnectionsResultSchema\n>\n"]}