@kelpie/schemas 0.1.0
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/LICENSE +661 -0
- package/README.md +33 -0
- package/dist/account.d.ts +79 -0
- package/dist/account.d.ts.map +1 -0
- package/dist/account.js +66 -0
- package/dist/account.js.map +1 -0
- package/dist/activity.d.ts +23 -0
- package/dist/activity.d.ts.map +1 -0
- package/dist/activity.js +27 -0
- package/dist/activity.js.map +1 -0
- package/dist/agentTask.d.ts +97 -0
- package/dist/agentTask.d.ts.map +1 -0
- package/dist/agentTask.js +127 -0
- package/dist/agentTask.js.map +1 -0
- package/dist/candidate.d.ts +39 -0
- package/dist/candidate.d.ts.map +1 -0
- package/dist/candidate.js +40 -0
- package/dist/candidate.js.map +1 -0
- package/dist/company.d.ts +38 -0
- package/dist/company.d.ts.map +1 -0
- package/dist/company.js +57 -0
- package/dist/company.js.map +1 -0
- package/dist/dashboard.d.ts +112 -0
- package/dist/dashboard.d.ts.map +1 -0
- package/dist/dashboard.js +165 -0
- package/dist/dashboard.js.map +1 -0
- package/dist/deal.d.ts +40 -0
- package/dist/deal.d.ts.map +1 -0
- package/dist/deal.js +59 -0
- package/dist/deal.js.map +1 -0
- package/dist/decision.d.ts +46 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +48 -0
- package/dist/decision.js.map +1 -0
- package/dist/form.d.ts +97 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +98 -0
- package/dist/form.js.map +1 -0
- package/dist/formSubmission.d.ts +47 -0
- package/dist/formSubmission.d.ts.map +1 -0
- package/dist/formSubmission.js +47 -0
- package/dist/formSubmission.js.map +1 -0
- package/dist/handbookPage.d.ts +52 -0
- package/dist/handbookPage.d.ts.map +1 -0
- package/dist/handbookPage.js +56 -0
- package/dist/handbookPage.js.map +1 -0
- package/dist/importExport.d.ts +143 -0
- package/dist/importExport.d.ts.map +1 -0
- package/dist/importExport.js +239 -0
- package/dist/importExport.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/invite.d.ts +35 -0
- package/dist/invite.d.ts.map +1 -0
- package/dist/invite.js +31 -0
- package/dist/invite.js.map +1 -0
- package/dist/mcpTool.d.ts +26 -0
- package/dist/mcpTool.d.ts.map +1 -0
- package/dist/mcpTool.js +13 -0
- package/dist/mcpTool.js.map +1 -0
- package/dist/member.d.ts +26 -0
- package/dist/member.d.ts.map +1 -0
- package/dist/member.js +24 -0
- package/dist/member.js.map +1 -0
- package/dist/moduleSetting.d.ts +19 -0
- package/dist/moduleSetting.d.ts.map +1 -0
- package/dist/moduleSetting.js +16 -0
- package/dist/moduleSetting.js.map +1 -0
- package/dist/note.d.ts +34 -0
- package/dist/note.d.ts.map +1 -0
- package/dist/note.js +35 -0
- package/dist/note.js.map +1 -0
- package/dist/opportunity.d.ts +30 -0
- package/dist/opportunity.d.ts.map +1 -0
- package/dist/opportunity.js +41 -0
- package/dist/opportunity.js.map +1 -0
- package/dist/partnership.d.ts +36 -0
- package/dist/partnership.d.ts.map +1 -0
- package/dist/partnership.js +50 -0
- package/dist/partnership.js.map +1 -0
- package/dist/person.d.ts +45 -0
- package/dist/person.d.ts.map +1 -0
- package/dist/person.js +60 -0
- package/dist/person.js.map +1 -0
- package/dist/pipelineStage.d.ts +29 -0
- package/dist/pipelineStage.d.ts.map +1 -0
- package/dist/pipelineStage.js +38 -0
- package/dist/pipelineStage.js.map +1 -0
- package/dist/planItem.d.ts +43 -0
- package/dist/planItem.d.ts.map +1 -0
- package/dist/planItem.js +44 -0
- package/dist/planItem.js.map +1 -0
- package/dist/position.d.ts +22 -0
- package/dist/position.d.ts.map +1 -0
- package/dist/position.js +25 -0
- package/dist/position.js.map +1 -0
- package/dist/raise.d.ts +38 -0
- package/dist/raise.d.ts.map +1 -0
- package/dist/raise.js +53 -0
- package/dist/raise.js.map +1 -0
- package/dist/role.d.ts +21 -0
- package/dist/role.d.ts.map +1 -0
- package/dist/role.js +21 -0
- package/dist/role.js.map +1 -0
- package/dist/search.d.ts +41 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +41 -0
- package/dist/search.js.map +1 -0
- package/dist/session.d.ts +92 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +67 -0
- package/dist/session.js.map +1 -0
- package/dist/values.d.ts +216 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +329 -0
- package/dist/values.js.map +1 -0
- package/dist/webhook.d.ts +85 -0
- package/dist/webhook.d.ts.map +1 -0
- package/dist/webhook.js +75 -0
- package/dist/webhook.js.map +1 -0
- package/dist/wire.d.ts +40 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +40 -0
- package/dist/wire.js.map +1 -0
- package/package.json +51 -0
- package/src/account.ts +149 -0
- package/src/activity.ts +52 -0
- package/src/agentTask.ts +254 -0
- package/src/candidate.ts +83 -0
- package/src/company.ts +98 -0
- package/src/dashboard.ts +307 -0
- package/src/deal.ts +102 -0
- package/src/decision.ts +106 -0
- package/src/form.ts +217 -0
- package/src/formSubmission.ts +99 -0
- package/src/handbookPage.ts +99 -0
- package/src/importExport.ts +339 -0
- package/src/index.ts +324 -0
- package/src/invite.ts +69 -0
- package/src/mcpTool.ts +32 -0
- package/src/member.ts +53 -0
- package/src/moduleSetting.ts +37 -0
- package/src/note.ts +73 -0
- package/src/opportunity.ts +74 -0
- package/src/partnership.ts +89 -0
- package/src/person.ts +116 -0
- package/src/pipelineStage.ts +71 -0
- package/src/planItem.ts +91 -0
- package/src/position.ts +50 -0
- package/src/raise.ts +94 -0
- package/src/role.ts +45 -0
- package/src/search.ts +86 -0
- package/src/session.ts +177 -0
- package/src/values.ts +427 -0
- package/src/webhook.ts +164 -0
- package/src/wire.ts +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleSetting.js","sourceRoot":"","sources":["../src/moduleSetting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAgBvB,MAAM,CAAC,MAAM,mBAAmB,GAAsC,CAAC;KACpE,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAiB,EAAE,CAAC,CAAC;IACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,MAAM,EAAE,IAAI,CAAC,MAAM;CACpB,CAAC,CACH,CAAA;AAMH,MAAM,UAAU,uBAAuB,CAAC,KAA+B;IACrE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;AACnC,CAAC"}
|
package/dist/note.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { RecordTargetType } from './values.ts';
|
|
3
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Wire and write shapes for `/v1/notes`.
|
|
6
|
+
*
|
|
7
|
+
* `authorId` is a workspace member id, not a user id. It is null when no member
|
|
8
|
+
* was behind the write, which today means a workspace API key. Resolving it to a
|
|
9
|
+
* name is the caller's job: `api.md` has no include-expansion, so a panel joins
|
|
10
|
+
* against the workspace member list it already holds.
|
|
11
|
+
*/
|
|
12
|
+
export interface Note extends RecordTimestamps {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly targetType: RecordTargetType;
|
|
15
|
+
readonly targetId: string;
|
|
16
|
+
readonly body: string;
|
|
17
|
+
readonly authorId: string | null;
|
|
18
|
+
readonly pinned: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const noteSchema: z.ZodType<Note, unknown>;
|
|
21
|
+
export interface CreateNoteInput {
|
|
22
|
+
readonly targetType: RecordTargetType;
|
|
23
|
+
readonly targetId: string;
|
|
24
|
+
readonly body: string;
|
|
25
|
+
readonly pinned?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function createNoteBody(input: CreateNoteInput): Record<string, unknown>;
|
|
28
|
+
/** The target never moves: re-filing a note under another record is a delete and a create. */
|
|
29
|
+
export interface NoteInput {
|
|
30
|
+
readonly body?: string;
|
|
31
|
+
readonly pinned?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function noteBody(input: NoteInput): Record<string, unknown>;
|
|
34
|
+
//# sourceMappingURL=note.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../src/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD;;;;;;;GAOG;AAEH,MAAM,WAAW,IAAK,SAAQ,gBAAgB;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAqB7C,CAAA;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAED,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE"}
|
package/dist/note.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { RECORD_TARGET_TYPES } from './values.js';
|
|
3
|
+
import { definedFields, idSchema, recordTimestamps } from './wire.js';
|
|
4
|
+
export const noteSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
id: idSchema,
|
|
7
|
+
target_type: z.enum(RECORD_TARGET_TYPES),
|
|
8
|
+
target_id: idSchema,
|
|
9
|
+
body: z.string(),
|
|
10
|
+
author_id: idSchema.nullable(),
|
|
11
|
+
pinned: z.boolean(),
|
|
12
|
+
...recordTimestamps,
|
|
13
|
+
})
|
|
14
|
+
.transform((wire) => ({
|
|
15
|
+
id: wire.id,
|
|
16
|
+
targetType: wire.target_type,
|
|
17
|
+
targetId: wire.target_id,
|
|
18
|
+
body: wire.body,
|
|
19
|
+
authorId: wire.author_id,
|
|
20
|
+
pinned: wire.pinned,
|
|
21
|
+
createdAt: wire.created_at,
|
|
22
|
+
updatedAt: wire.updated_at,
|
|
23
|
+
}));
|
|
24
|
+
export function createNoteBody(input) {
|
|
25
|
+
return definedFields({
|
|
26
|
+
target_type: input.targetType,
|
|
27
|
+
target_id: input.targetId,
|
|
28
|
+
body: input.body,
|
|
29
|
+
pinned: input.pinned,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function noteBody(input) {
|
|
33
|
+
return definedFields({ body: input.body, pinned: input.pinned });
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=note.js.map
|
package/dist/note.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note.js","sourceRoot":"","sources":["../src/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAqBrE,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC;KAClD,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACxC,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAQ,EAAE,CAAC,CAAC;IACf,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,UAAU,EAAE,IAAI,CAAC,WAAW;IAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AASH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,OAAO,aAAa,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAA;AACJ,CAAC;AAQD,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;AAClE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
3
|
+
/** Wire and write shapes for `/v1/opportunities`. */
|
|
4
|
+
export interface Opportunity extends RecordTimestamps {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
/** Free text ("Grant", "Accelerator", …), not an enum: the seed's own kinds vary by workspace. */
|
|
8
|
+
readonly kind: string;
|
|
9
|
+
readonly stageId: string;
|
|
10
|
+
/** Nullable: a speaking slot or a grant need not belong to a company on file. */
|
|
11
|
+
readonly companyId: string | null;
|
|
12
|
+
readonly ownerId: string | null;
|
|
13
|
+
/** `YYYY-MM-DD`, per `api.md` date-only fields. */
|
|
14
|
+
readonly expectedClose: string | null;
|
|
15
|
+
readonly summary: string;
|
|
16
|
+
readonly tags: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export declare const opportunitySchema: z.ZodType<Opportunity, unknown>;
|
|
19
|
+
export interface OpportunityInput {
|
|
20
|
+
readonly name?: string;
|
|
21
|
+
readonly kind?: string;
|
|
22
|
+
readonly stageId?: string;
|
|
23
|
+
readonly companyId?: string | null;
|
|
24
|
+
readonly ownerId?: string | null;
|
|
25
|
+
readonly expectedClose?: string | null;
|
|
26
|
+
readonly summary?: string;
|
|
27
|
+
readonly tags?: readonly string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function opportunityBody(input: OpportunityInput): Record<string, unknown>;
|
|
30
|
+
//# sourceMappingURL=opportunity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunity.d.ts","sourceRoot":"","sources":["../src/opportunity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD,qDAAqD;AAErD,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CA2B3D,CAAA;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWhF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { definedFields, idSchema, recordTimestamps } from './wire.js';
|
|
3
|
+
export const opportunitySchema = z
|
|
4
|
+
.object({
|
|
5
|
+
id: idSchema,
|
|
6
|
+
name: z.string(),
|
|
7
|
+
kind: z.string(),
|
|
8
|
+
stage_id: idSchema,
|
|
9
|
+
company_id: idSchema.nullable(),
|
|
10
|
+
owner_id: idSchema.nullable(),
|
|
11
|
+
expected_close: z.string().nullable(),
|
|
12
|
+
summary: z.string(),
|
|
13
|
+
tags: z.array(z.string()),
|
|
14
|
+
...recordTimestamps,
|
|
15
|
+
})
|
|
16
|
+
.transform((wire) => ({
|
|
17
|
+
id: wire.id,
|
|
18
|
+
name: wire.name,
|
|
19
|
+
kind: wire.kind,
|
|
20
|
+
stageId: wire.stage_id,
|
|
21
|
+
companyId: wire.company_id,
|
|
22
|
+
ownerId: wire.owner_id,
|
|
23
|
+
expectedClose: wire.expected_close,
|
|
24
|
+
summary: wire.summary,
|
|
25
|
+
tags: wire.tags,
|
|
26
|
+
createdAt: wire.created_at,
|
|
27
|
+
updatedAt: wire.updated_at,
|
|
28
|
+
}));
|
|
29
|
+
export function opportunityBody(input) {
|
|
30
|
+
return definedFields({
|
|
31
|
+
name: input.name,
|
|
32
|
+
kind: input.kind,
|
|
33
|
+
stage_id: input.stageId,
|
|
34
|
+
company_id: input.companyId,
|
|
35
|
+
owner_id: input.ownerId,
|
|
36
|
+
expected_close: input.expectedClose,
|
|
37
|
+
summary: input.summary,
|
|
38
|
+
tags: input.tags,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=opportunity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunity.js","sourceRoot":"","sources":["../src/opportunity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAoBrE,MAAM,CAAC,MAAM,iBAAiB,GAAoC,CAAC;KAChE,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAe,EAAE,CAAC,CAAC;IACtB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,OAAO,EAAE,IAAI,CAAC,QAAQ;IACtB,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;IACtB,aAAa,EAAE,IAAI,CAAC,cAAc;IAClC,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AAaH,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO,aAAa,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
3
|
+
/** Wire and write shapes for `/v1/partnerships`. */
|
|
4
|
+
export interface Partnership extends RecordTimestamps {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
/** Required: a partnership is with an organisation, unlike an opportunity. */
|
|
8
|
+
readonly companyId: string;
|
|
9
|
+
readonly stageId: string;
|
|
10
|
+
/** Free text ("Integration", "Co-marketing", …), not an enum: the seed's own kinds vary by workspace. */
|
|
11
|
+
readonly kind: string;
|
|
12
|
+
/** `YYYY-MM-DD`, per `api.md` date-only fields. */
|
|
13
|
+
readonly nextTouchpoint: string | null;
|
|
14
|
+
readonly ownerId: string | null;
|
|
15
|
+
readonly goals: string;
|
|
16
|
+
readonly successLooksLike: string;
|
|
17
|
+
readonly personIds: readonly string[];
|
|
18
|
+
readonly summary: string;
|
|
19
|
+
readonly tags: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export declare const partnershipSchema: z.ZodType<Partnership, unknown>;
|
|
22
|
+
export interface PartnershipInput {
|
|
23
|
+
readonly name?: string;
|
|
24
|
+
readonly companyId?: string;
|
|
25
|
+
readonly stageId?: string;
|
|
26
|
+
readonly kind?: string;
|
|
27
|
+
readonly nextTouchpoint?: string | null;
|
|
28
|
+
readonly ownerId?: string | null;
|
|
29
|
+
readonly goals?: string;
|
|
30
|
+
readonly successLooksLike?: string;
|
|
31
|
+
readonly personIds?: readonly string[];
|
|
32
|
+
readonly summary?: string;
|
|
33
|
+
readonly tags?: readonly string[];
|
|
34
|
+
}
|
|
35
|
+
export declare function partnershipBody(input: PartnershipInput): Record<string, unknown>;
|
|
36
|
+
//# sourceMappingURL=partnership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partnership.d.ts","sourceRoot":"","sources":["../src/partnership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD,oDAAoD;AAEpD,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,yGAAyG;IACzG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAiC3D,CAAA;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAchF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { definedFields, idSchema, recordTimestamps } from './wire.js';
|
|
3
|
+
export const partnershipSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
id: idSchema,
|
|
6
|
+
name: z.string(),
|
|
7
|
+
company_id: idSchema,
|
|
8
|
+
stage_id: idSchema,
|
|
9
|
+
kind: z.string(),
|
|
10
|
+
next_touchpoint: z.string().nullable(),
|
|
11
|
+
owner_id: idSchema.nullable(),
|
|
12
|
+
goals: z.string(),
|
|
13
|
+
success_looks_like: z.string(),
|
|
14
|
+
person_ids: z.array(idSchema),
|
|
15
|
+
summary: z.string(),
|
|
16
|
+
tags: z.array(z.string()),
|
|
17
|
+
...recordTimestamps,
|
|
18
|
+
})
|
|
19
|
+
.transform((wire) => ({
|
|
20
|
+
id: wire.id,
|
|
21
|
+
name: wire.name,
|
|
22
|
+
companyId: wire.company_id,
|
|
23
|
+
stageId: wire.stage_id,
|
|
24
|
+
kind: wire.kind,
|
|
25
|
+
nextTouchpoint: wire.next_touchpoint,
|
|
26
|
+
ownerId: wire.owner_id,
|
|
27
|
+
goals: wire.goals,
|
|
28
|
+
successLooksLike: wire.success_looks_like,
|
|
29
|
+
personIds: wire.person_ids,
|
|
30
|
+
summary: wire.summary,
|
|
31
|
+
tags: wire.tags,
|
|
32
|
+
createdAt: wire.created_at,
|
|
33
|
+
updatedAt: wire.updated_at,
|
|
34
|
+
}));
|
|
35
|
+
export function partnershipBody(input) {
|
|
36
|
+
return definedFields({
|
|
37
|
+
name: input.name,
|
|
38
|
+
company_id: input.companyId,
|
|
39
|
+
stage_id: input.stageId,
|
|
40
|
+
kind: input.kind,
|
|
41
|
+
next_touchpoint: input.nextTouchpoint,
|
|
42
|
+
owner_id: input.ownerId,
|
|
43
|
+
goals: input.goals,
|
|
44
|
+
success_looks_like: input.successLooksLike,
|
|
45
|
+
person_ids: input.personIds,
|
|
46
|
+
summary: input.summary,
|
|
47
|
+
tags: input.tags,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=partnership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partnership.js","sourceRoot":"","sources":["../src/partnership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAuBrE,MAAM,CAAC,MAAM,iBAAiB,GAAoC,CAAC;KAChE,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAe,EAAE,CAAC,CAAC;IACtB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;IACtB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,cAAc,EAAE,IAAI,CAAC,eAAe;IACpC,OAAO,EAAE,IAAI,CAAC,QAAQ;IACtB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;IACzC,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AAgBH,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO,aAAa,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,eAAe,EAAE,KAAK,CAAC,cAAc;QACrC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;QAC1C,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/person.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Influence, PreferredChannel, Relationship, SocialNetworkId } from './values.ts';
|
|
3
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
4
|
+
/** Wire and write shapes for `/v1/people`. Job title is not here: it lives on Position. */
|
|
5
|
+
export interface SocialProfile {
|
|
6
|
+
readonly network: SocialNetworkId;
|
|
7
|
+
readonly url: string;
|
|
8
|
+
}
|
|
9
|
+
export interface Person extends RecordTimestamps {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly email: string | null;
|
|
13
|
+
readonly phones: readonly string[];
|
|
14
|
+
readonly socialProfiles: readonly SocialProfile[];
|
|
15
|
+
readonly timezone: string | null;
|
|
16
|
+
readonly location: string | null;
|
|
17
|
+
readonly preferredChannel: PreferredChannel;
|
|
18
|
+
readonly influence: Influence;
|
|
19
|
+
readonly relationship: Relationship;
|
|
20
|
+
readonly summary: string;
|
|
21
|
+
readonly tags: readonly string[];
|
|
22
|
+
readonly lastContactedAt: Date | null;
|
|
23
|
+
}
|
|
24
|
+
export declare const personSchema: z.ZodType<Person, unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* A create or update body. Every field is optional because `POST` defaults all
|
|
27
|
+
* but `name` server-side and `PATCH` sends only what changed; `name` is required
|
|
28
|
+
* on create by the route, not by this type.
|
|
29
|
+
*/
|
|
30
|
+
export interface PersonInput {
|
|
31
|
+
readonly name?: string;
|
|
32
|
+
readonly email?: string | null;
|
|
33
|
+
readonly phones?: readonly string[];
|
|
34
|
+
readonly socialProfiles?: readonly SocialProfile[];
|
|
35
|
+
readonly timezone?: string | null;
|
|
36
|
+
readonly location?: string | null;
|
|
37
|
+
readonly preferredChannel?: PreferredChannel;
|
|
38
|
+
readonly influence?: Influence;
|
|
39
|
+
readonly relationship?: Relationship;
|
|
40
|
+
readonly summary?: string;
|
|
41
|
+
readonly tags?: readonly string[];
|
|
42
|
+
readonly lastContactedAt?: Date | null;
|
|
43
|
+
}
|
|
44
|
+
export declare function personBody(input: PersonInput): Record<string, unknown>;
|
|
45
|
+
//# sourceMappingURL=person.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../src/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD,2FAA2F;AAE3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,MAAO,SAAQ,gBAAgB;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,IAAI,GAAG,IAAI,CAAA;CACtC;AAOD,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAmCjD,CAAA;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CACvC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtE"}
|
package/dist/person.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { INFLUENCE_LEVELS, PREFERRED_CHANNELS, RELATIONSHIP_LEVELS, SOCIAL_NETWORK_IDS, } from './values.js';
|
|
3
|
+
import { definedFields, idSchema, nullableTimestampSchema, recordTimestamps } from './wire.js';
|
|
4
|
+
const socialProfileSchema = z.object({
|
|
5
|
+
network: z.enum(SOCIAL_NETWORK_IDS),
|
|
6
|
+
url: z.string(),
|
|
7
|
+
});
|
|
8
|
+
export const personSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
id: idSchema,
|
|
11
|
+
name: z.string(),
|
|
12
|
+
email: z.string().nullable(),
|
|
13
|
+
phones: z.array(z.string()),
|
|
14
|
+
social_profiles: z.array(socialProfileSchema),
|
|
15
|
+
timezone: z.string().nullable(),
|
|
16
|
+
location: z.string().nullable(),
|
|
17
|
+
preferred_channel: z.enum(PREFERRED_CHANNELS),
|
|
18
|
+
influence: z.enum(INFLUENCE_LEVELS),
|
|
19
|
+
relationship: z.enum(RELATIONSHIP_LEVELS),
|
|
20
|
+
summary: z.string(),
|
|
21
|
+
tags: z.array(z.string()),
|
|
22
|
+
last_contacted_at: nullableTimestampSchema,
|
|
23
|
+
...recordTimestamps,
|
|
24
|
+
})
|
|
25
|
+
.transform((wire) => ({
|
|
26
|
+
id: wire.id,
|
|
27
|
+
name: wire.name,
|
|
28
|
+
email: wire.email,
|
|
29
|
+
phones: wire.phones,
|
|
30
|
+
socialProfiles: wire.social_profiles,
|
|
31
|
+
timezone: wire.timezone,
|
|
32
|
+
location: wire.location,
|
|
33
|
+
preferredChannel: wire.preferred_channel,
|
|
34
|
+
influence: wire.influence,
|
|
35
|
+
relationship: wire.relationship,
|
|
36
|
+
summary: wire.summary,
|
|
37
|
+
tags: wire.tags,
|
|
38
|
+
lastContactedAt: wire.last_contacted_at,
|
|
39
|
+
createdAt: wire.created_at,
|
|
40
|
+
updatedAt: wire.updated_at,
|
|
41
|
+
}));
|
|
42
|
+
export function personBody(input) {
|
|
43
|
+
return definedFields({
|
|
44
|
+
name: input.name,
|
|
45
|
+
email: input.email,
|
|
46
|
+
phones: input.phones,
|
|
47
|
+
social_profiles: input.socialProfiles,
|
|
48
|
+
timezone: input.timezone,
|
|
49
|
+
location: input.location,
|
|
50
|
+
preferred_channel: input.preferredChannel,
|
|
51
|
+
influence: input.influence,
|
|
52
|
+
relationship: input.relationship,
|
|
53
|
+
summary: input.summary,
|
|
54
|
+
tags: input.tags,
|
|
55
|
+
last_contacted_at: input.lastContactedAt === undefined || input.lastContactedAt === null
|
|
56
|
+
? input.lastContactedAt
|
|
57
|
+
: input.lastContactedAt.toISOString(),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=person.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person.js","sourceRoot":"","sources":["../src/person.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PipelineKind } from './values.ts';
|
|
3
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
4
|
+
/** Wire and write shapes for `/v1/pipeline_stages`. */
|
|
5
|
+
export interface PipelineStage extends RecordTimestamps {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly kind: PipelineKind;
|
|
8
|
+
/** The stable import-alias id. Renaming the label never moves it. */
|
|
9
|
+
readonly slug: string;
|
|
10
|
+
readonly label: string;
|
|
11
|
+
/** When false, hidden from the board's Open scope. */
|
|
12
|
+
readonly open: boolean;
|
|
13
|
+
readonly sortOrder: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const pipelineStageSchema: z.ZodType<PipelineStage, unknown>;
|
|
16
|
+
export interface CreatePipelineStageInput {
|
|
17
|
+
readonly kind: PipelineKind;
|
|
18
|
+
readonly label: string;
|
|
19
|
+
readonly open?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function createPipelineStageBody(input: CreatePipelineStageInput): Record<string, unknown>;
|
|
22
|
+
export interface UpdatePipelineStageInput {
|
|
23
|
+
readonly label?: string;
|
|
24
|
+
readonly open?: boolean;
|
|
25
|
+
/** The stage's new 0-based position on its board. */
|
|
26
|
+
readonly sortOrder?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function updatePipelineStageBody(input: UpdatePipelineStageInput): Record<string, unknown>;
|
|
29
|
+
//# sourceMappingURL=pipelineStage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineStage.d.ts","sourceRoot":"","sources":["../src/pipelineStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD,uDAAuD;AAEvD,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAqB/D,CAAA;AAEH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhG;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PIPELINE_KINDS } from './values.js';
|
|
3
|
+
import { definedFields, idSchema, recordTimestamps } from './wire.js';
|
|
4
|
+
export const pipelineStageSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
id: idSchema,
|
|
7
|
+
kind: z.enum(PIPELINE_KINDS),
|
|
8
|
+
slug: z.string(),
|
|
9
|
+
label: z.string(),
|
|
10
|
+
open: z.boolean(),
|
|
11
|
+
sort_order: z.number().int(),
|
|
12
|
+
...recordTimestamps,
|
|
13
|
+
})
|
|
14
|
+
.transform((wire) => ({
|
|
15
|
+
id: wire.id,
|
|
16
|
+
kind: wire.kind,
|
|
17
|
+
slug: wire.slug,
|
|
18
|
+
label: wire.label,
|
|
19
|
+
open: wire.open,
|
|
20
|
+
sortOrder: wire.sort_order,
|
|
21
|
+
createdAt: wire.created_at,
|
|
22
|
+
updatedAt: wire.updated_at,
|
|
23
|
+
}));
|
|
24
|
+
export function createPipelineStageBody(input) {
|
|
25
|
+
return definedFields({
|
|
26
|
+
kind: input.kind,
|
|
27
|
+
label: input.label,
|
|
28
|
+
open: input.open,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function updatePipelineStageBody(input) {
|
|
32
|
+
return definedFields({
|
|
33
|
+
label: input.label,
|
|
34
|
+
open: input.open,
|
|
35
|
+
sort_order: input.sortOrder,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=pipelineStage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineStage.js","sourceRoot":"","sources":["../src/pipelineStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAgBrE,MAAM,CAAC,MAAM,mBAAmB,GAAsC,CAAC;KACpE,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAiB,EAAE,CAAC,CAAC;IACxB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AAQH,MAAM,UAAU,uBAAuB,CAAC,KAA+B;IACrE,OAAO,aAAa,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAA;AACJ,CAAC;AASD,MAAM,UAAU,uBAAuB,CAAC,KAA+B;IACrE,OAAO,aAAa,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,SAAS;KAC5B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PipelineKind, PlanItemStatus } from './values.ts';
|
|
3
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Wire and write shapes for `/v1/plan_items`.
|
|
6
|
+
*
|
|
7
|
+
* A plan item is a dated action on one of the four pipelines. It replaces any
|
|
8
|
+
* next-step text field (`brief.md`): the date, the owner, and the status are
|
|
9
|
+
* columns, so "what is overdue" is a query rather than a read of prose.
|
|
10
|
+
*
|
|
11
|
+
* `ownerId` is a workspace member id and is null when nobody has taken it. The
|
|
12
|
+
* status is never null: the table defaults it to `todo`, so a plan item always
|
|
13
|
+
* says where it stands.
|
|
14
|
+
*/
|
|
15
|
+
export interface PlanItem extends RecordTimestamps {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly targetType: PipelineKind;
|
|
18
|
+
readonly targetId: string;
|
|
19
|
+
/** `YYYY-MM-DD`, per `api.md` date-only fields. */
|
|
20
|
+
readonly date: string;
|
|
21
|
+
readonly title: string;
|
|
22
|
+
readonly ownerId: string | null;
|
|
23
|
+
readonly status: PlanItemStatus;
|
|
24
|
+
}
|
|
25
|
+
export declare const planItemSchema: z.ZodType<PlanItem, unknown>;
|
|
26
|
+
export interface CreatePlanItemInput {
|
|
27
|
+
readonly targetType: PipelineKind;
|
|
28
|
+
readonly targetId: string;
|
|
29
|
+
readonly date: string;
|
|
30
|
+
readonly title: string;
|
|
31
|
+
readonly ownerId?: string | null;
|
|
32
|
+
readonly status?: PlanItemStatus;
|
|
33
|
+
}
|
|
34
|
+
export declare function createPlanItemBody(input: CreatePlanItemInput): Record<string, unknown>;
|
|
35
|
+
/** The target never moves: re-filing a plan item under another record is a delete and a create. */
|
|
36
|
+
export interface PlanItemInput {
|
|
37
|
+
readonly date?: string;
|
|
38
|
+
readonly title?: string;
|
|
39
|
+
readonly ownerId?: string | null;
|
|
40
|
+
readonly status?: PlanItemStatus;
|
|
41
|
+
}
|
|
42
|
+
export declare function planItemBody(input: PlanItemInput): Record<string, unknown>;
|
|
43
|
+
//# sourceMappingURL=planItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planItem.d.ts","sourceRoot":"","sources":["../src/planItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAuBrD,CAAA;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAStF;AAED,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CACjC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO1E"}
|
package/dist/planItem.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PIPELINE_KINDS, PLAN_ITEM_STATUSES } from './values.js';
|
|
3
|
+
import { definedFields, idSchema, recordTimestamps } from './wire.js';
|
|
4
|
+
export const planItemSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
id: idSchema,
|
|
7
|
+
target_type: z.enum(PIPELINE_KINDS),
|
|
8
|
+
target_id: idSchema,
|
|
9
|
+
date: z.string(),
|
|
10
|
+
title: z.string(),
|
|
11
|
+
owner_id: idSchema.nullable(),
|
|
12
|
+
status: z.enum(PLAN_ITEM_STATUSES),
|
|
13
|
+
...recordTimestamps,
|
|
14
|
+
})
|
|
15
|
+
.transform((wire) => ({
|
|
16
|
+
id: wire.id,
|
|
17
|
+
targetType: wire.target_type,
|
|
18
|
+
targetId: wire.target_id,
|
|
19
|
+
date: wire.date,
|
|
20
|
+
title: wire.title,
|
|
21
|
+
ownerId: wire.owner_id,
|
|
22
|
+
status: wire.status,
|
|
23
|
+
createdAt: wire.created_at,
|
|
24
|
+
updatedAt: wire.updated_at,
|
|
25
|
+
}));
|
|
26
|
+
export function createPlanItemBody(input) {
|
|
27
|
+
return definedFields({
|
|
28
|
+
target_type: input.targetType,
|
|
29
|
+
target_id: input.targetId,
|
|
30
|
+
date: input.date,
|
|
31
|
+
title: input.title,
|
|
32
|
+
owner_id: input.ownerId,
|
|
33
|
+
status: input.status,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export function planItemBody(input) {
|
|
37
|
+
return definedFields({
|
|
38
|
+
date: input.date,
|
|
39
|
+
title: input.title,
|
|
40
|
+
owner_id: input.ownerId,
|
|
41
|
+
status: input.status,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=planItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planItem.js","sourceRoot":"","sources":["../src/planItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AA0BrE,MAAM,CAAC,MAAM,cAAc,GAAiC,CAAC;KAC1D,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACnC,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAClC,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAY,EAAE,CAAC,CAAC;IACnB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,UAAU,EAAE,IAAI,CAAC,WAAW;IAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;IACtB,MAAM,EAAE,IAAI,CAAC,MAAM;IACnB,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AAWH,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,OAAO,aAAa,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAA;AACJ,CAAC;AAUD,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,OAAO,aAAa,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { RecordTimestamps } from './wire.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Wire and write shapes for `/v1/positions`, the Person↔Company link that holds
|
|
5
|
+
* the job title. Moving a link to a different person or company is a delete and
|
|
6
|
+
* a create, which is why only the title is updatable.
|
|
7
|
+
*/
|
|
8
|
+
export interface Position extends RecordTimestamps {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly personId: string;
|
|
11
|
+
readonly companyId: string;
|
|
12
|
+
readonly title: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const positionSchema: z.ZodType<Position, unknown>;
|
|
15
|
+
export interface CreatePositionInput {
|
|
16
|
+
readonly personId: string;
|
|
17
|
+
readonly companyId: string;
|
|
18
|
+
readonly title: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function createPositionBody(input: CreatePositionInput): Record<string, unknown>;
|
|
21
|
+
export declare function updatePositionBody(title: string): Record<string, unknown>;
|
|
22
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../src/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD;;;;GAIG;AAEH,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAiBrD,CAAA;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE"}
|
package/dist/position.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { idSchema, recordTimestamps } from './wire.js';
|
|
3
|
+
export const positionSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
id: idSchema,
|
|
6
|
+
person_id: idSchema,
|
|
7
|
+
company_id: idSchema,
|
|
8
|
+
title: z.string(),
|
|
9
|
+
...recordTimestamps,
|
|
10
|
+
})
|
|
11
|
+
.transform((wire) => ({
|
|
12
|
+
id: wire.id,
|
|
13
|
+
personId: wire.person_id,
|
|
14
|
+
companyId: wire.company_id,
|
|
15
|
+
title: wire.title,
|
|
16
|
+
createdAt: wire.created_at,
|
|
17
|
+
updatedAt: wire.updated_at,
|
|
18
|
+
}));
|
|
19
|
+
export function createPositionBody(input) {
|
|
20
|
+
return { person_id: input.personId, company_id: input.companyId, title: input.title };
|
|
21
|
+
}
|
|
22
|
+
export function updatePositionBody(title) {
|
|
23
|
+
return { title };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../src/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAgBtD,MAAM,CAAC,MAAM,cAAc,GAAiC,CAAC;KAC1D,MAAM,CAAC;IACN,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,gBAAgB;CACpB,CAAC;KACD,SAAS,CACR,CAAC,IAAI,EAAY,EAAE,CAAC,CAAC;IACnB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,QAAQ,EAAE,IAAI,CAAC,SAAS;IACxB,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,SAAS,EAAE,IAAI,CAAC,UAAU;IAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;CAC3B,CAAC,CACH,CAAA;AAQH,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
|