@the-inkwell/shared 0.2.172 → 0.2.173
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.
|
@@ -1631,6 +1631,7 @@ export type AdminPersonByEmailParams = z.infer<typeof AdminPersonByEmailParamsSc
|
|
|
1631
1631
|
export type AdminPersonByPhoneParams = z.infer<typeof AdminPersonByPhoneParamsSchema>;
|
|
1632
1632
|
export type AdminPersonByIdNanoParams = z.infer<typeof AdminPersonByIdNanoSchema>;
|
|
1633
1633
|
export type AdminPersonResult = AdminPerson;
|
|
1634
|
+
export type AdminPersonListQuery = z.infer<typeof AdminPersonListQuerySchema>;
|
|
1634
1635
|
export type AdminPersonListAdvancedQuery = z.infer<typeof AdminPersonListAdvancedQuerySchema>;
|
|
1635
1636
|
export type AdminPersonListResult = ListResponse<z.infer<typeof AdminPersonSelectSchema>>;
|
|
1636
1637
|
export type AdminPersonCreateInput = z.infer<typeof AdminPersonCreateSchema>;
|
|
@@ -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 campaign,\n client,\n education,\n experience,\n industry,\n jobFunction,\n person,\n PersonSources,\n skill,\n tag\n} from '../../core'\nimport {\n EmailSchema,\n ListQuerySchema,\n OptionalPhoneSchema,\n type ListResponse\n} 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)\n .partial()\n .extend({\n skills: z\n .array(\n createSelectSchema(skill).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n tags: z\n .array(\n createSelectSchema(tag).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n sourceCampaign: createSelectSchema(campaign)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n client: createSelectSchema(client)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n educations: z.array(AdminPersonEducationSelectSchema).optional(),\n experiences: z.array(AdminPersonExperienceSelectSchema).optional(),\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\n .array(\n createSelectSchema(industry).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n .optional(),\n jobFunctions: z\n .array(\n createSelectSchema(jobFunction).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n .optional()\n })\n\nexport const AdminPersonUpdateSchema = createUpdateSchema(person, {\n email: EmailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: OptionalPhoneSchema\n})\n\nexport const AdminPersonParamsSchema = createSelectSchema(person).pick({\n id: true\n})\nexport const AdminPersonByEmailParamsSchema = createSelectSchema(person).pick({\n email: true\n})\nexport const AdminPersonByPhoneParamsSchema = createSelectSchema(person, {\n phone: z.string()\n}).pick({\n phone: true\n})\nexport const AdminPersonByIdNanoSchema = createSelectSchema(person, {\n idNano: z.string()\n}).pick({\n idNano: true\n})\n\nexport const AdminPersonUpdateParamsSchema = AdminPersonParamsSchema\n\nexport const AdminPersonDeleteParamsSchema = AdminPersonParamsSchema\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 filter: z\n .object({\n nameEmail: z.string(),\n hasLinkedInUrl: z.boolean(),\n source: z.enum(PersonSources.enumValues),\n location: z.object({\n miles: z.number(),\n lat: z.number(),\n lon: z.number()\n })\n })\n .partial()\n .optional()\n})\n\nexport const AdminPersonListAdvancedQuerySchema = 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 = createSelectSchema(\n person\n).pick({\n id: true\n})\nexport const AdminPersonConnectionsPersonSchema = createSelectSchema(\n person\n).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\n .object({ person: AdminPersonConnectionsPersonSchema })\n .nullable(),\n client: createSelectSchema(client)\n .pick({\n id: true,\n name: true\n })\n .nullable()\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 AdminPersonByIdNanoParams = z.infer<\n typeof AdminPersonByIdNanoSchema\n>\nexport type AdminPersonResult = AdminPerson\n\n// list\nexport type AdminPersonListAdvancedQuery = z.infer<\n typeof AdminPersonListAdvancedQuerySchema\n>\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 campaign,\n client,\n education,\n experience,\n industry,\n jobFunction,\n person,\n PersonSources,\n skill,\n tag\n} from '../../core'\nimport {\n EmailSchema,\n ListQuerySchema,\n OptionalPhoneSchema,\n type ListResponse\n} 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)\n .partial()\n .extend({\n skills: z\n .array(\n createSelectSchema(skill).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n tags: z\n .array(\n createSelectSchema(tag).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n sourceCampaign: createSelectSchema(campaign)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n client: createSelectSchema(client)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n educations: z.array(AdminPersonEducationSelectSchema).optional(),\n experiences: z.array(AdminPersonExperienceSelectSchema).optional(),\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\n .array(\n createSelectSchema(industry).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n .optional(),\n jobFunctions: z\n .array(\n createSelectSchema(jobFunction).pick({\n id: true,\n name: true,\n slug: true\n })\n )\n .optional()\n })\n\nexport const AdminPersonUpdateSchema = createUpdateSchema(person, {\n email: EmailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: OptionalPhoneSchema\n})\n\nexport const AdminPersonParamsSchema = createSelectSchema(person).pick({\n id: true\n})\nexport const AdminPersonByEmailParamsSchema = createSelectSchema(person).pick({\n email: true\n})\nexport const AdminPersonByPhoneParamsSchema = createSelectSchema(person, {\n phone: z.string()\n}).pick({\n phone: true\n})\nexport const AdminPersonByIdNanoSchema = createSelectSchema(person, {\n idNano: z.string()\n}).pick({\n idNano: true\n})\n\nexport const AdminPersonUpdateParamsSchema = AdminPersonParamsSchema\n\nexport const AdminPersonDeleteParamsSchema = AdminPersonParamsSchema\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 filter: z\n .object({\n nameEmail: z.string(),\n hasLinkedInUrl: z.boolean(),\n source: z.enum(PersonSources.enumValues),\n location: z.object({\n miles: z.number(),\n lat: z.number(),\n lon: z.number()\n })\n })\n .partial()\n .optional()\n})\n\nexport const AdminPersonListAdvancedQuerySchema = 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 = createSelectSchema(\n person\n).pick({\n id: true\n})\nexport const AdminPersonConnectionsPersonSchema = createSelectSchema(\n person\n).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\n .object({ person: AdminPersonConnectionsPersonSchema })\n .nullable(),\n client: createSelectSchema(client)\n .pick({\n id: true,\n name: true\n })\n .nullable()\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 AdminPersonByIdNanoParams = z.infer<\n typeof AdminPersonByIdNanoSchema\n>\nexport type AdminPersonResult = AdminPerson\n\n// list\nexport type AdminPersonListQuery = z.infer<typeof AdminPersonListQuerySchema>\nexport type AdminPersonListAdvancedQuery = z.infer<\n typeof AdminPersonListAdvancedQuerySchema\n>\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"]}
|