@the-inkwell/shared 0.2.152 → 0.2.154
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +10 -14
- package/dist/constants.js.map +1 -1
- package/dist/schema/admin/clients/index.d.ts +317 -2
- package/dist/schema/admin/persons/index.d.ts +2 -2
- package/dist/schema/admin/persons/index.js +9 -0
- package/dist/schema/admin/persons/index.js.map +1 -1
- package/dist/schema/core.d.ts +156 -1
- package/dist/schema/core.js +26 -1
- package/dist/schema/core.js.map +1 -1
- package/dist/schema/public/apply/index.d.ts +1 -1
- package/dist/schema/public/hire/index.d.ts +1 -1
- package/dist/schema/public/index.d.ts +0 -1
- package/dist/schema/public/index.js +0 -1
- package/dist/schema/public/index.js.map +1 -1
- package/dist/schema/public/join/index.d.ts +2 -2
- package/dist/schema/public/refer/index.d.ts +9 -9
- package/package.json +1 -1
|
@@ -1,4 +1,7 @@
|
|
|
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 });
|
|
3
6
|
exports.ResumeParserSchema = exports.AdminPersonConnectionsResultSchema = exports.AdminPersonConnectionsPersonSchema = exports.AdminPersonConnectionsParamsSchema = exports.AdminPersonListQuerySchema = exports.AdminPersonDeleteParamsSchema = exports.AdminPersonUpdateParamsSchema = exports.AdminPersonByIdNanoSchema = exports.AdminPersonByPhoneParamsSchema = exports.AdminPersonByEmailParamsSchema = exports.AdminPersonParamsSchema = exports.AdminPersonUpdateSchema = exports.AdminPersonSelectSchema = exports.AdminPersonCreateSchema = exports.AdminPersonExperienceSelectSchema = exports.AdminPersonEducationSelectSchema = void 0;
|
|
4
7
|
const drizzle_zod_1 = require("drizzle-zod");
|
|
@@ -6,8 +9,14 @@ const core_1 = require("../../core");
|
|
|
6
9
|
const utils_1 = require("../../../utils");
|
|
7
10
|
const v4_1 = require("zod/v4");
|
|
8
11
|
const constants_1 = require("../../../constants");
|
|
12
|
+
const phone_1 = __importDefault(require("phone"));
|
|
9
13
|
//// validators
|
|
10
14
|
const emailSchema = v4_1.z.email().trim().toLowerCase();
|
|
15
|
+
const phoneSchema = v4_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.transform((val) => (0, phone_1.default)(val.trim()).phoneNumber)
|
|
18
|
+
.pipe(v4_1.z.string().startsWith('+'))
|
|
19
|
+
.nullable();
|
|
11
20
|
exports.AdminPersonEducationSelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_1.education, {
|
|
12
21
|
field: (schema) => schema.describe('Field of study'),
|
|
13
22
|
graduatedAt: v4_1.z
|
|
@@ -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 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'\nimport { create } from 'domain'\n\n//// validators\n\nconst emailSchema = z.email().trim().toLowerCase()\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 sourceCampaign: 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, {\n email: EmailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: OptionalPhoneSchema\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 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 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 {\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'\nimport { create } from 'domain'\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 sourceCampaign: 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, {\n email: EmailSchema.optional(),\n addedAt: z.coerce.date().optional(),\n phone: OptionalPhoneSchema\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 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 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/dist/schema/core.d.ts
CHANGED
|
@@ -576,6 +576,23 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
576
576
|
identity: undefined;
|
|
577
577
|
generated: undefined;
|
|
578
578
|
}, {}, {}>;
|
|
579
|
+
linkedInUrl: import("drizzle-orm/pg-core").PgColumn<{
|
|
580
|
+
name: "linkedInUrl";
|
|
581
|
+
tableName: "clients";
|
|
582
|
+
dataType: "string";
|
|
583
|
+
columnType: "PgText";
|
|
584
|
+
data: string;
|
|
585
|
+
driverParam: string;
|
|
586
|
+
notNull: false;
|
|
587
|
+
hasDefault: false;
|
|
588
|
+
isPrimaryKey: false;
|
|
589
|
+
isAutoincrement: false;
|
|
590
|
+
hasRuntimeDefault: false;
|
|
591
|
+
enumValues: [string, ...string[]];
|
|
592
|
+
baseColumn: never;
|
|
593
|
+
identity: undefined;
|
|
594
|
+
generated: undefined;
|
|
595
|
+
}, {}, {}>;
|
|
579
596
|
referralFee: import("drizzle-orm/pg-core").PgColumn<{
|
|
580
597
|
name: "referralFee";
|
|
581
598
|
tableName: "clients";
|
|
@@ -593,6 +610,40 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
593
610
|
identity: undefined;
|
|
594
611
|
generated: undefined;
|
|
595
612
|
}, {}, {}>;
|
|
613
|
+
employeesMin: import("drizzle-orm/pg-core").PgColumn<{
|
|
614
|
+
name: "employeesMin";
|
|
615
|
+
tableName: "clients";
|
|
616
|
+
dataType: "number";
|
|
617
|
+
columnType: "PgInteger";
|
|
618
|
+
data: number;
|
|
619
|
+
driverParam: string | number;
|
|
620
|
+
notNull: false;
|
|
621
|
+
hasDefault: false;
|
|
622
|
+
isPrimaryKey: false;
|
|
623
|
+
isAutoincrement: false;
|
|
624
|
+
hasRuntimeDefault: false;
|
|
625
|
+
enumValues: undefined;
|
|
626
|
+
baseColumn: never;
|
|
627
|
+
identity: undefined;
|
|
628
|
+
generated: undefined;
|
|
629
|
+
}, {}, {}>;
|
|
630
|
+
employeesMax: import("drizzle-orm/pg-core").PgColumn<{
|
|
631
|
+
name: "employeesMax";
|
|
632
|
+
tableName: "clients";
|
|
633
|
+
dataType: "number";
|
|
634
|
+
columnType: "PgInteger";
|
|
635
|
+
data: number;
|
|
636
|
+
driverParam: string | number;
|
|
637
|
+
notNull: false;
|
|
638
|
+
hasDefault: false;
|
|
639
|
+
isPrimaryKey: false;
|
|
640
|
+
isAutoincrement: false;
|
|
641
|
+
hasRuntimeDefault: false;
|
|
642
|
+
enumValues: undefined;
|
|
643
|
+
baseColumn: never;
|
|
644
|
+
identity: undefined;
|
|
645
|
+
generated: undefined;
|
|
646
|
+
}, {}, {}>;
|
|
596
647
|
sourcePersonId: import("drizzle-orm/pg-core").PgColumn<{
|
|
597
648
|
name: "sourcePersonId";
|
|
598
649
|
tableName: "clients";
|
|
@@ -610,6 +661,23 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
610
661
|
identity: undefined;
|
|
611
662
|
generated: undefined;
|
|
612
663
|
}, {}, {}>;
|
|
664
|
+
industryId: import("drizzle-orm/pg-core").PgColumn<{
|
|
665
|
+
name: "industryId";
|
|
666
|
+
tableName: "clients";
|
|
667
|
+
dataType: "string";
|
|
668
|
+
columnType: "PgUUID";
|
|
669
|
+
data: string;
|
|
670
|
+
driverParam: string;
|
|
671
|
+
notNull: false;
|
|
672
|
+
hasDefault: false;
|
|
673
|
+
isPrimaryKey: false;
|
|
674
|
+
isAutoincrement: false;
|
|
675
|
+
hasRuntimeDefault: false;
|
|
676
|
+
enumValues: undefined;
|
|
677
|
+
baseColumn: never;
|
|
678
|
+
identity: undefined;
|
|
679
|
+
generated: undefined;
|
|
680
|
+
}, {}, {}>;
|
|
613
681
|
sourceCampaignId: import("drizzle-orm/pg-core").PgColumn<{
|
|
614
682
|
name: "sourceCampaignId";
|
|
615
683
|
tableName: "clients";
|
|
@@ -729,6 +797,23 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
729
797
|
identity: undefined;
|
|
730
798
|
generated: undefined;
|
|
731
799
|
}, {}, {}>;
|
|
800
|
+
sourceDescription: import("drizzle-orm/pg-core").PgColumn<{
|
|
801
|
+
name: "sourceDescription";
|
|
802
|
+
tableName: "clients";
|
|
803
|
+
dataType: "string";
|
|
804
|
+
columnType: "PgText";
|
|
805
|
+
data: string;
|
|
806
|
+
driverParam: string;
|
|
807
|
+
notNull: false;
|
|
808
|
+
hasDefault: false;
|
|
809
|
+
isPrimaryKey: false;
|
|
810
|
+
isAutoincrement: false;
|
|
811
|
+
hasRuntimeDefault: false;
|
|
812
|
+
enumValues: [string, ...string[]];
|
|
813
|
+
baseColumn: never;
|
|
814
|
+
identity: undefined;
|
|
815
|
+
generated: undefined;
|
|
816
|
+
}, {}, {}>;
|
|
732
817
|
status: import("drizzle-orm/pg-core").PgColumn<{
|
|
733
818
|
name: "status";
|
|
734
819
|
tableName: "clients";
|
|
@@ -737,7 +822,7 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
737
822
|
data: "ACTIVE" | "INACTIVE" | "POTENTIAL";
|
|
738
823
|
driverParam: string;
|
|
739
824
|
notNull: false;
|
|
740
|
-
hasDefault:
|
|
825
|
+
hasDefault: true;
|
|
741
826
|
isPrimaryKey: false;
|
|
742
827
|
isAutoincrement: false;
|
|
743
828
|
hasRuntimeDefault: false;
|
|
@@ -746,6 +831,74 @@ export declare const client: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
746
831
|
identity: undefined;
|
|
747
832
|
generated: undefined;
|
|
748
833
|
}, {}, {}>;
|
|
834
|
+
nextSteps: import("drizzle-orm/pg-core").PgColumn<{
|
|
835
|
+
name: "nextSteps";
|
|
836
|
+
tableName: "clients";
|
|
837
|
+
dataType: "string";
|
|
838
|
+
columnType: "PgText";
|
|
839
|
+
data: string;
|
|
840
|
+
driverParam: string;
|
|
841
|
+
notNull: false;
|
|
842
|
+
hasDefault: false;
|
|
843
|
+
isPrimaryKey: false;
|
|
844
|
+
isAutoincrement: false;
|
|
845
|
+
hasRuntimeDefault: false;
|
|
846
|
+
enumValues: [string, ...string[]];
|
|
847
|
+
baseColumn: never;
|
|
848
|
+
identity: undefined;
|
|
849
|
+
generated: undefined;
|
|
850
|
+
}, {}, {}>;
|
|
851
|
+
isContractSent: import("drizzle-orm/pg-core").PgColumn<{
|
|
852
|
+
name: "isContractSent";
|
|
853
|
+
tableName: "clients";
|
|
854
|
+
dataType: "boolean";
|
|
855
|
+
columnType: "PgBoolean";
|
|
856
|
+
data: boolean;
|
|
857
|
+
driverParam: boolean;
|
|
858
|
+
notNull: false;
|
|
859
|
+
hasDefault: true;
|
|
860
|
+
isPrimaryKey: false;
|
|
861
|
+
isAutoincrement: false;
|
|
862
|
+
hasRuntimeDefault: false;
|
|
863
|
+
enumValues: undefined;
|
|
864
|
+
baseColumn: never;
|
|
865
|
+
identity: undefined;
|
|
866
|
+
generated: undefined;
|
|
867
|
+
}, {}, {}>;
|
|
868
|
+
followUpAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
869
|
+
name: "followUpAt";
|
|
870
|
+
tableName: "clients";
|
|
871
|
+
dataType: "date";
|
|
872
|
+
columnType: "PgTimestamp";
|
|
873
|
+
data: Date;
|
|
874
|
+
driverParam: string;
|
|
875
|
+
notNull: false;
|
|
876
|
+
hasDefault: false;
|
|
877
|
+
isPrimaryKey: false;
|
|
878
|
+
isAutoincrement: false;
|
|
879
|
+
hasRuntimeDefault: false;
|
|
880
|
+
enumValues: undefined;
|
|
881
|
+
baseColumn: never;
|
|
882
|
+
identity: undefined;
|
|
883
|
+
generated: undefined;
|
|
884
|
+
}, {}, {}>;
|
|
885
|
+
initialOutreachAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
886
|
+
name: "initialOutreachAt";
|
|
887
|
+
tableName: "clients";
|
|
888
|
+
dataType: "date";
|
|
889
|
+
columnType: "PgTimestamp";
|
|
890
|
+
data: Date;
|
|
891
|
+
driverParam: string;
|
|
892
|
+
notNull: false;
|
|
893
|
+
hasDefault: false;
|
|
894
|
+
isPrimaryKey: false;
|
|
895
|
+
isAutoincrement: false;
|
|
896
|
+
hasRuntimeDefault: false;
|
|
897
|
+
enumValues: undefined;
|
|
898
|
+
baseColumn: never;
|
|
899
|
+
identity: undefined;
|
|
900
|
+
generated: undefined;
|
|
901
|
+
}, {}, {}>;
|
|
749
902
|
deletedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
750
903
|
name: "deletedAt";
|
|
751
904
|
tableName: "clients";
|
|
@@ -6887,6 +7040,7 @@ export declare const clientRelations: import("drizzle-orm").Relations<"clients",
|
|
|
6887
7040
|
referral: import("drizzle-orm").One<"referrals", false>;
|
|
6888
7041
|
contracts: import("drizzle-orm").Many<"contracts">;
|
|
6889
7042
|
persons: import("drizzle-orm").Many<"persons">;
|
|
7043
|
+
industry: import("drizzle-orm").One<"industries", false>;
|
|
6890
7044
|
sourcePerson: import("drizzle-orm").One<"persons", false>;
|
|
6891
7045
|
sourceCampaign: import("drizzle-orm").One<"campaigns", false>;
|
|
6892
7046
|
}>;
|
|
@@ -6906,6 +7060,7 @@ export declare const experienceRelations: import("drizzle-orm").Relations<"exper
|
|
|
6906
7060
|
industry: import("drizzle-orm").One<"industries", false>;
|
|
6907
7061
|
}>;
|
|
6908
7062
|
export declare const industryRelations: import("drizzle-orm").Relations<"industries", {
|
|
7063
|
+
clients: import("drizzle-orm").Many<"clients">;
|
|
6909
7064
|
experiences: import("drizzle-orm").Many<"experiences">;
|
|
6910
7065
|
positions: import("drizzle-orm").Many<"positions">;
|
|
6911
7066
|
}>;
|
package/dist/schema/core.js
CHANGED
|
@@ -150,11 +150,18 @@ exports.client = (0, pg_core_1.pgTable)('clients', {
|
|
|
150
150
|
description: (0, pg_core_1.text)(),
|
|
151
151
|
isLead: (0, pg_core_1.boolean)().default(false).notNull(),
|
|
152
152
|
websiteUrl: (0, pg_core_1.text)(),
|
|
153
|
+
linkedInUrl: (0, pg_core_1.text)(),
|
|
153
154
|
referralFee: (0, pg_core_1.integer)(),
|
|
155
|
+
employeesMin: (0, pg_core_1.integer)(),
|
|
156
|
+
employeesMax: (0, pg_core_1.integer)(),
|
|
154
157
|
sourcePersonId: (0, pg_core_1.uuid)().references(() => exports.person.id, {
|
|
155
158
|
onUpdate: 'cascade',
|
|
156
159
|
onDelete: 'set null'
|
|
157
160
|
}),
|
|
161
|
+
industryId: (0, pg_core_1.uuid)().references(() => exports.industry.id, {
|
|
162
|
+
onUpdate: 'cascade',
|
|
163
|
+
onDelete: 'set null'
|
|
164
|
+
}),
|
|
158
165
|
sourceCampaignId: (0, pg_core_1.uuid)().references(() => exports.campaign.id, {
|
|
159
166
|
onUpdate: 'cascade',
|
|
160
167
|
onDelete: 'set null'
|
|
@@ -165,7 +172,20 @@ exports.client = (0, pg_core_1.pgTable)('clients', {
|
|
|
165
172
|
recruitingSearchFee: (0, pg_core_1.integer)(),
|
|
166
173
|
staffingSearchFee: (0, pg_core_1.integer)(),
|
|
167
174
|
source: (0, exports.ClientSources)(),
|
|
168
|
-
|
|
175
|
+
sourceDescription: (0, pg_core_1.text)(),
|
|
176
|
+
status: (0, exports.ClientStatuses)().default('ACTIVE'),
|
|
177
|
+
nextSteps: (0, pg_core_1.text)(),
|
|
178
|
+
isContractSent: (0, pg_core_1.boolean)().default(false),
|
|
179
|
+
followUpAt: (0, pg_core_1.timestamp)({
|
|
180
|
+
precision: 3,
|
|
181
|
+
mode: 'date',
|
|
182
|
+
withTimezone: true
|
|
183
|
+
}),
|
|
184
|
+
initialOutreachAt: (0, pg_core_1.timestamp)({
|
|
185
|
+
precision: 3,
|
|
186
|
+
mode: 'date',
|
|
187
|
+
withTimezone: true
|
|
188
|
+
}),
|
|
169
189
|
deletedAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'date', withTimezone: true }),
|
|
170
190
|
createdAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'date', withTimezone: true })
|
|
171
191
|
.defaultNow()
|
|
@@ -1333,6 +1353,10 @@ exports.clientRelations = (0, drizzle_orm_1.relations)(exports.client, ({ many,
|
|
|
1333
1353
|
referral: one(exports.referral),
|
|
1334
1354
|
contracts: many(exports.contract),
|
|
1335
1355
|
persons: many(exports.person),
|
|
1356
|
+
industry: one(exports.industry, {
|
|
1357
|
+
fields: [exports.client.industryId],
|
|
1358
|
+
references: [exports.industry.id]
|
|
1359
|
+
}),
|
|
1336
1360
|
sourcePerson: one(exports.person, {
|
|
1337
1361
|
fields: [exports.client.sourcePersonId],
|
|
1338
1362
|
references: [exports.person.id],
|
|
@@ -1380,6 +1404,7 @@ exports.experienceRelations = (0, drizzle_orm_1.relations)(exports.experience, (
|
|
|
1380
1404
|
})
|
|
1381
1405
|
}));
|
|
1382
1406
|
exports.industryRelations = (0, drizzle_orm_1.relations)(exports.industry, ({ many }) => ({
|
|
1407
|
+
clients: many(exports.client),
|
|
1383
1408
|
experiences: many(exports.experience),
|
|
1384
1409
|
positions: many(exports.position)
|
|
1385
1410
|
}));
|