@the-inkwell/shared 0.2.127 → 0.2.128

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.
@@ -323,7 +323,6 @@ export declare const AdminCandidacySelectSchema: z.ZodObject<{
323
323
  SOCIAL_MEDIA: "SOCIAL_MEDIA";
324
324
  INTERNAL: "INTERNAL";
325
325
  }>>;
326
- personId: z.ZodUUID;
327
326
  positionId: z.ZodUUID;
328
327
  campaignId: z.ZodNullable<z.ZodUUID>;
329
328
  openedAt: z.ZodNullable<z.ZodDate>;
@@ -386,6 +385,14 @@ export declare const AdminCandidacySelectSchema: z.ZodObject<{
386
385
  out: {};
387
386
  in: {};
388
387
  }>>;
388
+ campaign: z.ZodOptional<z.ZodNullable<z.ZodObject<{
389
+ name: z.ZodString;
390
+ id: z.ZodUUID;
391
+ }, {
392
+ out: {};
393
+ in: {};
394
+ }>>>;
395
+ personId: z.ZodOptional<z.ZodString>;
389
396
  position: z.ZodOptional<z.ZodObject<{
390
397
  name: z.ZodString;
391
398
  id: z.ZodUUID;
@@ -787,7 +794,7 @@ export declare const AdminCandidacyListQuerySchema: z.ZodObject<{
787
794
  offset: z.ZodOptional<z.ZodNumber>;
788
795
  sort: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
789
796
  filter: z.ZodOptional<z.ZodObject<{
790
- personId: z.ZodOptional<z.ZodUUID>;
797
+ personId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
791
798
  positionId: z.ZodOptional<z.ZodUUID>;
792
799
  isClosed: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
793
800
  }, {
@@ -24,6 +24,14 @@ exports.AdminCandidacySelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_
24
24
  .nullable()
25
25
  .optional(),
26
26
  person: AdminCandidacySelectPersonSchema.optional(),
27
+ campaign: (0, drizzle_zod_1.createSelectSchema)(core_1.campaign)
28
+ .pick({
29
+ id: true,
30
+ name: true
31
+ })
32
+ .nullable()
33
+ .optional(),
34
+ personId: v4_1.z.string().optional(),
27
35
  position: (0, drizzle_zod_1.createSelectSchema)(core_1.position)
28
36
  .pick({
29
37
  id: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/candidacies/index.ts"],"names":[],"mappings":";;;AAAA,6CAIoB;AACpB,qCASmB;AACnB,0CAAmE;AACnE,+BAA0B;AAE1B,eAAe;AAEF,QAAA,0BAA0B,GAAG,IAAA,gCAAkB,EAAC,gBAAS,CAAC,CAAA;AAEvE,MAAM,gCAAgC,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;IACvE,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;CACZ,CAAC,CAAA;AACW,QAAA,0BAA0B,GAAG,IAAA,gCAAkB,EAAC,gBAAS,CAAC,CAAC,MAAM,CAAC;IAC7E,QAAQ,EAAE,MAAC;SACR,MAAM,CAAC;QACN,EAAE,EAAE,MAAC,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,gCAAgC;KAC3C,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,MAAM,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,IAAA,gCAAkB,EAAC,eAAQ,CAAC;SACnC,IAAI,CAAC;QACJ,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;KACX,CAAC;SACD,MAAM,CAAC;QACN,MAAM,EAAE,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;YACtC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;SACX,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,MAAC;SACV,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,IAAA,gCAAkB,EAAC,UAAG,CAAC,CAAC,IAAI,CAAC;YAChC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACX,CAAC;KACH,CAAC,CACH;SACA,QAAQ,EAAE;IACb,OAAO,EAAE,MAAC;SACP,KAAK,CACJ,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;KACX,CAAC,CACH;SACA,QAAQ,EAAE;IACb,kBAAkB,EAAE,MAAC;SAClB,KAAK,CACJ,IAAA,gCAAkB,EAAC,wBAAiB,CAAC,CAAC,IAAI,CAAC;QACzC,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,IAAI;KACd,CAAC,CACH;SACA,QAAQ,EAAE;IACb,KAAK,EAAE,MAAC;SACL,KAAK,CACJ,IAAA,gCAAkB,EAAC,WAAI,CAAC,CAAC,IAAI,CAAC;QAC5B,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,IAAI;KACd,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAA;AACW,QAAA,0BAA0B,GAAG,IAAA,gCAAkB,EAAC,gBAAS,CAAC,CAAA;AAE1D,QAAA,0BAA0B,GAAG,kCAA0B,CAAC,IAAI,CAAC;IACxE,EAAE,EAAE,IAAI;CACT,CAAC,CAAA;AACW,QAAA,gCAAgC,GAAG,kCAA0B,CAAA;AAC7D,QAAA,gCAAgC,GAAG,kCAA0B,CAAA;AAC7D,QAAA,6BAA6B,GAAG,uBAAe,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,kCAA0B,CAAC,IAAI,CAAC;QACtC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB,CAAC;SACC,MAAM,CAAC;QACN,QAAQ,EAAE,MAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;SACD,OAAO,EAAE;SACT,QAAQ,EAAE;CACd,CAAC,CAAA","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport {\n action,\n candidacy,\n candidacyFeedback,\n client,\n note,\n person,\n position,\n tag\n} from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\n\n//// validators\n\nexport const AdminCandidacyCreateSchema = createInsertSchema(candidacy)\n\nconst AdminCandidacySelectPersonSchema = createSelectSchema(person).pick({\n id: true,\n firstName: true,\n lastName: true,\n fullName: true,\n photoUri: true,\n email: true\n})\nexport const AdminCandidacySelectSchema = createSelectSchema(candidacy).extend({\n referral: z\n .object({\n id: z.string(),\n referrer: AdminCandidacySelectPersonSchema\n })\n .nullable()\n .optional(),\n person: AdminCandidacySelectPersonSchema.optional(),\n position: createSelectSchema(position)\n .pick({\n id: true,\n name: true\n })\n .extend({\n client: createSelectSchema(client).pick({\n id: true,\n name: true\n })\n })\n .optional(),\n ratingTags: z\n .array(\n z.object({\n tag: createSelectSchema(tag).pick({\n id: true,\n slug: true,\n name: true\n })\n })\n )\n .optional(),\n actions: z\n .array(\n createSelectSchema(action).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n candidacyFeedbacks: z\n .array(\n createSelectSchema(candidacyFeedback).pick({\n id: true,\n content: true\n })\n )\n .optional(),\n notes: z\n .array(\n createSelectSchema(note).pick({\n id: true,\n content: true\n })\n )\n .optional()\n})\nexport const AdminCandidacyUpdateSchema = createUpdateSchema(candidacy)\n\nexport const AdminCandidacyParamsSchema = AdminCandidacySelectSchema.pick({\n id: true\n})\nexport const AdminCandidacyUpdateParamsSchema = AdminCandidacyParamsSchema\nexport const AdminCandidacyDeleteParamsSchema = AdminCandidacyParamsSchema\nexport const AdminCandidacyListQuerySchema = ListQuerySchema.extend({\n filter: AdminCandidacySelectSchema.pick({\n personId: true,\n positionId: true\n })\n .extend({\n isClosed: z.boolean().optional()\n })\n .partial()\n .optional()\n})\n\n//// types\n\ntype AdminCandidacy = z.infer<typeof AdminCandidacySelectSchema>\n\n// detail\nexport type AdminCandidacyParams = z.infer<typeof AdminCandidacyParamsSchema>\nexport type AdminCandidacyResult = AdminCandidacy\n\n// list\nexport type AdminCandidacyListQuery = z.infer<\n typeof AdminCandidacyListQuerySchema\n>\nexport type AdminCandidacyListResult = ListResponse<\n z.infer<typeof AdminCandidacySelectSchema>\n>\n\n// create\nexport type AdminCandidacyCreateInput = z.infer<\n typeof AdminCandidacyCreateSchema\n>\nexport type AdminCandidacyCreateResult = Pick<AdminCandidacy, 'id'>\n\n// update\nexport type AdminCandidacyUpdateParams = z.infer<\n typeof AdminCandidacyUpdateParamsSchema\n>\nexport type AdminCandidacyUpdateInput = Partial<AdminCandidacy>\n\n// delete\nexport type AdminCandidacyDeleteParams = z.infer<\n typeof AdminCandidacyDeleteParamsSchema\n>\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/candidacies/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport {\n action,\n campaign,\n candidacy,\n candidacyFeedback,\n client,\n note,\n person,\n position,\n tag\n} from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\n\n//// validators\n\nexport const AdminCandidacyCreateSchema = createInsertSchema(candidacy)\n\nconst AdminCandidacySelectPersonSchema = createSelectSchema(person).pick({\n id: true,\n firstName: true,\n lastName: true,\n fullName: true,\n photoUri: true,\n email: true\n})\nexport const AdminCandidacySelectSchema = createSelectSchema(candidacy).extend({\n referral: z\n .object({\n id: z.string(),\n referrer: AdminCandidacySelectPersonSchema\n })\n .nullable()\n .optional(),\n person: AdminCandidacySelectPersonSchema.optional(),\n campaign: createSelectSchema(campaign)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n personId: z.string().optional(),\n position: createSelectSchema(position)\n .pick({\n id: true,\n name: true\n })\n .extend({\n client: createSelectSchema(client).pick({\n id: true,\n name: true\n })\n })\n .optional(),\n ratingTags: z\n .array(\n z.object({\n tag: createSelectSchema(tag).pick({\n id: true,\n slug: true,\n name: true\n })\n })\n )\n .optional(),\n actions: z\n .array(\n createSelectSchema(action).pick({\n id: true,\n name: true\n })\n )\n .optional(),\n candidacyFeedbacks: z\n .array(\n createSelectSchema(candidacyFeedback).pick({\n id: true,\n content: true\n })\n )\n .optional(),\n notes: z\n .array(\n createSelectSchema(note).pick({\n id: true,\n content: true\n })\n )\n .optional()\n})\nexport const AdminCandidacyUpdateSchema = createUpdateSchema(candidacy)\n\nexport const AdminCandidacyParamsSchema = AdminCandidacySelectSchema.pick({\n id: true\n})\nexport const AdminCandidacyUpdateParamsSchema = AdminCandidacyParamsSchema\nexport const AdminCandidacyDeleteParamsSchema = AdminCandidacyParamsSchema\nexport const AdminCandidacyListQuerySchema = ListQuerySchema.extend({\n filter: AdminCandidacySelectSchema.pick({\n personId: true,\n positionId: true\n })\n .extend({\n isClosed: z.boolean().optional()\n })\n .partial()\n .optional()\n})\n\n//// types\n\ntype AdminCandidacy = z.infer<typeof AdminCandidacySelectSchema>\n\n// detail\nexport type AdminCandidacyParams = z.infer<typeof AdminCandidacyParamsSchema>\nexport type AdminCandidacyResult = AdminCandidacy\n\n// list\nexport type AdminCandidacyListQuery = z.infer<\n typeof AdminCandidacyListQuerySchema\n>\nexport type AdminCandidacyListResult = ListResponse<\n z.infer<typeof AdminCandidacySelectSchema>\n>\n\n// create\nexport type AdminCandidacyCreateInput = z.infer<\n typeof AdminCandidacyCreateSchema\n>\nexport type AdminCandidacyCreateResult = Pick<AdminCandidacy, 'id'>\n\n// update\nexport type AdminCandidacyUpdateParams = z.infer<\n typeof AdminCandidacyUpdateParamsSchema\n>\nexport type AdminCandidacyUpdateInput = Partial<AdminCandidacy>\n\n// delete\nexport type AdminCandidacyDeleteParams = z.infer<\n typeof AdminCandidacyDeleteParamsSchema\n>\n"]}
@@ -346,6 +346,13 @@ export declare const AdminClientSelectSchema: z.ZodObject<{
346
346
  in: {};
347
347
  }>;
348
348
  }, z.core.$strip>>>;
349
+ campaign: z.ZodOptional<z.ZodNullable<z.ZodObject<{
350
+ name: z.ZodString;
351
+ id: z.ZodUUID;
352
+ }, {
353
+ out: {};
354
+ in: {};
355
+ }>>>;
349
356
  _openPositionsCount: z.ZodOptional<z.ZodNumber>;
350
357
  }, {
351
358
  out: {};
@@ -18,6 +18,13 @@ exports.AdminClientSelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_1.c
18
18
  })
19
19
  .nullable()
20
20
  .optional(),
21
+ campaign: (0, drizzle_zod_1.createSelectSchema)(core_1.campaign)
22
+ .pick({
23
+ id: true,
24
+ name: true
25
+ })
26
+ .nullable()
27
+ .optional(),
21
28
  _openPositionsCount: v4_1.z.number().optional()
22
29
  });
23
30
  exports.AdminClientUpdateSchema = (0, drizzle_zod_1.createUpdateSchema)(core_1.client);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/clients/index.ts"],"names":[],"mappings":";;;AAAA,6CAIoB;AACpB,qCAA2D;AAC3D,0CAAmE;AACnE,+BAA0B;AAE1B,eAAe;AAEF,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAA;AACpD,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,MAAM,CAAC;IACvE,QAAQ,EAAE,MAAC;SACR,MAAM,CAAC;QACN,QAAQ,EAAE,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;YACxC,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,mBAAmB,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAA;AACW,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAA;AAEpD,QAAA,uBAAuB,GAAG,+BAAuB,CAAC,IAAI,CAAC;IAClE,EAAE,EAAE,IAAI;CACT,CAAC,CAAA;AAEF,MAAM,gCAAgC,GAAG,MAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,IAAI,CAAC,qBAAc,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAA;AACF,MAAM,gCAAgC,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC;KAChE,IAAI,CAAC;IACJ,MAAM,EAAE,IAAI;CACb,CAAC;KACD,OAAO,EAAE,CAAA;AACC,QAAA,0BAA0B,GAAG,uBAAe,CAAC,MAAM,CAAC;IAC/D,MAAM,EAAE,MAAC;SACN,MAAM,CAAC;QACN,GAAG,gCAAgC,CAAC,KAAK;QACzC,GAAG,gCAAgC,CAAC,KAAK;KAC1C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA;AACW,QAAA,6BAA6B,GAAG,+BAAuB,CAAA;AACvD,QAAA,6BAA6B,GAAG,+BAAuB,CAAA","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport { client, ClientStatuses, person } from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\n\n//// validators\n\nexport const AdminClientCreateSchema = createInsertSchema(client)\nexport const AdminClientSelectSchema = createSelectSchema(client).extend({\n referral: z\n .object({\n referrer: createSelectSchema(person).pick({\n id: true,\n email: true,\n fullName: true\n })\n })\n .nullable()\n .optional(),\n _openPositionsCount: z.number().optional()\n})\nexport const AdminClientUpdateSchema = createUpdateSchema(client)\n\nexport const AdminClientParamsSchema = AdminClientSelectSchema.pick({\n id: true\n})\n\nconst AdminClientListQuerySchemaStatus = z.object({\n status: z.array(z.enum(ClientStatuses.enumValues)).optional()\n})\nconst AdminClientListQuerySchemaIsLead = createSelectSchema(client)\n .pick({\n isLead: true\n })\n .partial()\nexport const AdminClientListQuerySchema = ListQuerySchema.extend({\n filter: z\n .object({\n ...AdminClientListQuerySchemaStatus.shape,\n ...AdminClientListQuerySchemaIsLead.shape\n })\n .optional()\n})\nexport const AdminClientUpdateParamsSchema = AdminClientParamsSchema\nexport const AdminClientDeleteParamsSchema = AdminClientParamsSchema\n\n//// types\n\ntype AdminClient = z.infer<typeof AdminClientSelectSchema>\n\n// detail\nexport type AdminClientParams = z.infer<typeof AdminClientParamsSchema>\nexport type AdminClientResult = AdminClient\n\n// list\nexport type AdminClientListQuery = z.infer<typeof AdminClientListQuerySchema>\nexport type AdminClientListResult = ListResponse<\n z.infer<typeof AdminClientSelectSchema>\n>\n\n// create\nexport type AdminClientCreateInput = z.infer<typeof AdminClientCreateSchema>\nexport type AdminClientCreateResult = Pick<AdminClient, 'id'>\n\n// update\nexport type AdminClientUpdateParams = z.infer<\n typeof AdminClientUpdateParamsSchema\n>\nexport type AdminClientUpdateInput = z.infer<typeof AdminClientUpdateSchema>\n\n// delete\nexport type AdminClientDeleteParams = z.infer<\n typeof AdminClientDeleteParamsSchema\n>\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/admin/clients/index.ts"],"names":[],"mappings":";;;AAAA,6CAIoB;AACpB,qCAAqE;AACrE,0CAAmE;AACnE,+BAA0B;AAE1B,eAAe;AAEF,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAA;AACpD,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,MAAM,CAAC;IACvE,QAAQ,EAAE,MAAC;SACR,MAAM,CAAC;QACN,QAAQ,EAAE,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;YACxC,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,QAAQ,EAAE,IAAA,gCAAkB,EAAC,eAAQ,CAAC;SACnC,IAAI,CAAC;QACJ,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;KACX,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,mBAAmB,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAA;AACW,QAAA,uBAAuB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAA;AAEpD,QAAA,uBAAuB,GAAG,+BAAuB,CAAC,IAAI,CAAC;IAClE,EAAE,EAAE,IAAI;CACT,CAAC,CAAA;AAEF,MAAM,gCAAgC,GAAG,MAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,IAAI,CAAC,qBAAc,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAA;AACF,MAAM,gCAAgC,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC;KAChE,IAAI,CAAC;IACJ,MAAM,EAAE,IAAI;CACb,CAAC;KACD,OAAO,EAAE,CAAA;AACC,QAAA,0BAA0B,GAAG,uBAAe,CAAC,MAAM,CAAC;IAC/D,MAAM,EAAE,MAAC;SACN,MAAM,CAAC;QACN,GAAG,gCAAgC,CAAC,KAAK;QACzC,GAAG,gCAAgC,CAAC,KAAK;KAC1C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA;AACW,QAAA,6BAA6B,GAAG,+BAAuB,CAAA;AACvD,QAAA,6BAA6B,GAAG,+BAAuB,CAAA","sourcesContent":["import {\n createInsertSchema,\n createSelectSchema,\n createUpdateSchema\n} from 'drizzle-zod'\nimport { campaign, client, ClientStatuses, person } from '../../core'\nimport { ListQuerySchema, type ListResponse } from '../../../utils'\nimport { z } from 'zod/v4'\n\n//// validators\n\nexport const AdminClientCreateSchema = createInsertSchema(client)\nexport const AdminClientSelectSchema = createSelectSchema(client).extend({\n referral: z\n .object({\n referrer: createSelectSchema(person).pick({\n id: true,\n email: true,\n fullName: true\n })\n })\n .nullable()\n .optional(),\n campaign: createSelectSchema(campaign)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\n _openPositionsCount: z.number().optional()\n})\nexport const AdminClientUpdateSchema = createUpdateSchema(client)\n\nexport const AdminClientParamsSchema = AdminClientSelectSchema.pick({\n id: true\n})\n\nconst AdminClientListQuerySchemaStatus = z.object({\n status: z.array(z.enum(ClientStatuses.enumValues)).optional()\n})\nconst AdminClientListQuerySchemaIsLead = createSelectSchema(client)\n .pick({\n isLead: true\n })\n .partial()\nexport const AdminClientListQuerySchema = ListQuerySchema.extend({\n filter: z\n .object({\n ...AdminClientListQuerySchemaStatus.shape,\n ...AdminClientListQuerySchemaIsLead.shape\n })\n .optional()\n})\nexport const AdminClientUpdateParamsSchema = AdminClientParamsSchema\nexport const AdminClientDeleteParamsSchema = AdminClientParamsSchema\n\n//// types\n\ntype AdminClient = z.infer<typeof AdminClientSelectSchema>\n\n// detail\nexport type AdminClientParams = z.infer<typeof AdminClientParamsSchema>\nexport type AdminClientResult = AdminClient\n\n// list\nexport type AdminClientListQuery = z.infer<typeof AdminClientListQuerySchema>\nexport type AdminClientListResult = ListResponse<\n z.infer<typeof AdminClientSelectSchema>\n>\n\n// create\nexport type AdminClientCreateInput = z.infer<typeof AdminClientCreateSchema>\nexport type AdminClientCreateResult = Pick<AdminClient, 'id'>\n\n// update\nexport type AdminClientUpdateParams = z.infer<\n typeof AdminClientUpdateParamsSchema\n>\nexport type AdminClientUpdateInput = z.infer<typeof AdminClientUpdateSchema>\n\n// delete\nexport type AdminClientDeleteParams = z.infer<\n typeof AdminClientDeleteParamsSchema\n>\n"]}
@@ -370,6 +370,13 @@ export declare const AdminPersonSelectSchema: z.ZodObject<{
370
370
  out: {};
371
371
  in: {};
372
372
  }>>;
373
+ campaign: z.ZodOptional<z.ZodNullable<z.ZodObject<{
374
+ name: z.ZodString;
375
+ id: z.ZodUUID;
376
+ }, {
377
+ out: {};
378
+ in: {};
379
+ }>>>;
373
380
  client: z.ZodObject<{
374
381
  name: z.ZodString;
375
382
  id: z.ZodUUID;
@@ -64,6 +64,13 @@ exports.AdminPersonSelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_1.p
64
64
  id: true,
65
65
  name: true
66
66
  })),
67
+ campaign: (0, drizzle_zod_1.createSelectSchema)(core_1.campaign)
68
+ .pick({
69
+ id: true,
70
+ name: true
71
+ })
72
+ .nullable()
73
+ .optional(),
67
74
  client: (0, drizzle_zod_1.createSelectSchema)(core_1.client).pick({
68
75
  id: true,
69
76
  name: true
@@ -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.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 = z.object({\n phone: z.string()\n})\nexport const AdminPersonByIdNanoSchema = z.object({\n idNano: z.string()\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\n .object({ person: AdminPersonConnectionsPersonSchema })\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 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 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 campaign: createSelectSchema(campaign)\n .pick({\n id: true,\n name: true\n })\n .nullable()\n .optional(),\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 = z.object({\n phone: z.string()\n})\nexport const AdminPersonByIdNanoSchema = z.object({\n idNano: z.string()\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\n .object({ person: AdminPersonConnectionsPersonSchema })\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 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-inkwell/shared",
3
- "version": "0.2.127",
3
+ "version": "0.2.128",
4
4
  "description": "Shared code for Inkwell",
5
5
  "license": "ISC",
6
6
  "author": "Inkwell (Rob Yedlin & Saimon Alam)",