@voyantjs/crm-react 0.26.0 → 0.26.2
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/hooks/index.d.ts +4 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/use-people.d.ts +12 -0
- package/dist/hooks/use-people.d.ts.map +1 -1
- package/dist/hooks/use-person-document-mutation.d.ts +135 -0
- package/dist/hooks/use-person-document-mutation.d.ts.map +1 -0
- package/dist/hooks/use-person-document-mutation.js +88 -0
- package/dist/hooks/use-person-documents.d.ts +31 -0
- package/dist/hooks/use-person-documents.d.ts.map +1 -0
- package/dist/hooks/use-person-documents.js +35 -0
- package/dist/hooks/use-person-mutation.d.ts +41 -0
- package/dist/hooks/use-person-mutation.d.ts.map +1 -1
- package/dist/hooks/use-person-mutation.js +18 -1
- package/dist/hooks/use-person-travel-snapshot.d.ts +22 -0
- package/dist/hooks/use-person-travel-snapshot.d.ts.map +1 -0
- package/dist/hooks/use-person-travel-snapshot.js +26 -0
- package/dist/hooks/use-person.d.ts +12 -0
- package/dist/hooks/use-person.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/query-keys.d.ts +9 -0
- package/dist/query-keys.d.ts.map +1 -1
- package/dist/query-keys.js +3 -0
- package/dist/query-options.d.ts +96 -0
- package/dist/query-options.d.ts.map +1 -1
- package/dist/schemas.d.ts +153 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +47 -0
- package/package.json +5 -5
package/dist/hooks/index.d.ts
CHANGED
|
@@ -3,5 +3,8 @@ export { type CreateOrganizationInput, type UpdateOrganizationInput, useOrganiza
|
|
|
3
3
|
export { type UseOrganizationsOptions, useOrganizations } from "./use-organizations.js";
|
|
4
4
|
export { type UsePeopleOptions, usePeople } from "./use-people.js";
|
|
5
5
|
export { type UsePersonOptions, usePerson } from "./use-person.js";
|
|
6
|
-
export { type
|
|
6
|
+
export { type CreatePersonDocumentFromPlaintextInput, type CreatePersonDocumentInput, type UpdatePersonDocumentFromPlaintextInput, type UpdatePersonDocumentInput, usePersonDocumentMutation, } from "./use-person-document-mutation.js";
|
|
7
|
+
export { type UsePersonDocumentsOptions, usePersonDocuments, } from "./use-person-documents.js";
|
|
8
|
+
export { type CreatePersonInput, type UpdatePersonInput, type UpdatePersonProfilePiiInput, usePersonMutation, } from "./use-person-mutation.js";
|
|
9
|
+
export { type UsePersonTravelSnapshotOptions, usePersonTravelSnapshot, } from "./use-person-travel-snapshot.js";
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,KAAK,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,KAAK,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,yBAAyB,GAC1B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,KAAK,yBAAyB,EAC9B,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,GACxB,MAAM,iCAAiC,CAAA"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -3,4 +3,7 @@ export { useOrganizationMutation, } from "./use-organization-mutation.js";
|
|
|
3
3
|
export { useOrganizations } from "./use-organizations.js";
|
|
4
4
|
export { usePeople } from "./use-people.js";
|
|
5
5
|
export { usePerson } from "./use-person.js";
|
|
6
|
+
export { usePersonDocumentMutation, } from "./use-person-document-mutation.js";
|
|
7
|
+
export { usePersonDocuments, } from "./use-person-documents.js";
|
|
6
8
|
export { usePersonMutation, } from "./use-person-mutation.js";
|
|
9
|
+
export { usePersonTravelSnapshot, } from "./use-person-travel-snapshot.js";
|
|
@@ -31,6 +31,18 @@ export declare function usePeople(options?: UsePeopleOptions): import("@tanstack
|
|
|
31
31
|
email: string | null;
|
|
32
32
|
phone: string | null;
|
|
33
33
|
website: string | null;
|
|
34
|
+
accessibilityEncrypted?: {
|
|
35
|
+
enc: string;
|
|
36
|
+
} | null | undefined;
|
|
37
|
+
dietaryEncrypted?: {
|
|
38
|
+
enc: string;
|
|
39
|
+
} | null | undefined;
|
|
40
|
+
loyaltyEncrypted?: {
|
|
41
|
+
enc: string;
|
|
42
|
+
} | null | undefined;
|
|
43
|
+
insuranceEncrypted?: {
|
|
44
|
+
enc: string;
|
|
45
|
+
} | null | undefined;
|
|
34
46
|
}[];
|
|
35
47
|
total: number;
|
|
36
48
|
limit: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-people.d.ts","sourceRoot":"","sources":["../../src/hooks/use-people.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB
|
|
1
|
+
{"version":3,"file":"use-people.d.ts","sourceRoot":"","sources":["../../src/hooks/use-people.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuBvD"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { type KmsEnvelopeRecord, type PersonDocumentType } from "../schemas.js";
|
|
2
|
+
export interface CreatePersonDocumentInput {
|
|
3
|
+
type: PersonDocumentType;
|
|
4
|
+
numberEncrypted?: KmsEnvelopeRecord;
|
|
5
|
+
issuingAuthority?: string | null;
|
|
6
|
+
issuingCountry?: string | null;
|
|
7
|
+
issueDate?: string | null;
|
|
8
|
+
expiryDate?: string | null;
|
|
9
|
+
attachmentId?: string | null;
|
|
10
|
+
isPrimary?: boolean;
|
|
11
|
+
notes?: string | null;
|
|
12
|
+
metadata?: Record<string, unknown> | null;
|
|
13
|
+
}
|
|
14
|
+
export type UpdatePersonDocumentInput = Partial<CreatePersonDocumentInput>;
|
|
15
|
+
export interface CreatePersonDocumentFromPlaintextInput {
|
|
16
|
+
type: PersonDocumentType;
|
|
17
|
+
/** Plaintext document number; the route encrypts server-side. */
|
|
18
|
+
number?: string | null;
|
|
19
|
+
issuingAuthority?: string | null;
|
|
20
|
+
issuingCountry?: string | null;
|
|
21
|
+
issueDate?: string | null;
|
|
22
|
+
expiryDate?: string | null;
|
|
23
|
+
attachmentId?: string | null;
|
|
24
|
+
isPrimary?: boolean;
|
|
25
|
+
notes?: string | null;
|
|
26
|
+
metadata?: Record<string, unknown> | null;
|
|
27
|
+
}
|
|
28
|
+
export type UpdatePersonDocumentFromPlaintextInput = Partial<CreatePersonDocumentFromPlaintextInput>;
|
|
29
|
+
/**
|
|
30
|
+
* Create / update / delete / set-primary mutations for person
|
|
31
|
+
* documents. Cache invalidation targets both the per-person list and
|
|
32
|
+
* the per-document detail key.
|
|
33
|
+
*/
|
|
34
|
+
export declare function usePersonDocumentMutation(personId: string | undefined): {
|
|
35
|
+
create: import("@tanstack/react-query").UseMutationResult<{
|
|
36
|
+
id: string;
|
|
37
|
+
personId: string;
|
|
38
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
39
|
+
issuingAuthority: string | null;
|
|
40
|
+
issuingCountry: string | null;
|
|
41
|
+
issueDate: string | null;
|
|
42
|
+
expiryDate: string | null;
|
|
43
|
+
attachmentId: string | null;
|
|
44
|
+
isPrimary: boolean;
|
|
45
|
+
notes: string | null;
|
|
46
|
+
metadata: Record<string, unknown> | null;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
updatedAt: string;
|
|
49
|
+
numberEncrypted?: {
|
|
50
|
+
enc: string;
|
|
51
|
+
} | null | undefined;
|
|
52
|
+
}, Error, CreatePersonDocumentInput, unknown>;
|
|
53
|
+
update: import("@tanstack/react-query").UseMutationResult<{
|
|
54
|
+
id: string;
|
|
55
|
+
personId: string;
|
|
56
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
57
|
+
issuingAuthority: string | null;
|
|
58
|
+
issuingCountry: string | null;
|
|
59
|
+
issueDate: string | null;
|
|
60
|
+
expiryDate: string | null;
|
|
61
|
+
attachmentId: string | null;
|
|
62
|
+
isPrimary: boolean;
|
|
63
|
+
notes: string | null;
|
|
64
|
+
metadata: Record<string, unknown> | null;
|
|
65
|
+
createdAt: string;
|
|
66
|
+
updatedAt: string;
|
|
67
|
+
numberEncrypted?: {
|
|
68
|
+
enc: string;
|
|
69
|
+
} | null | undefined;
|
|
70
|
+
}, Error, {
|
|
71
|
+
id: string;
|
|
72
|
+
input: UpdatePersonDocumentInput;
|
|
73
|
+
}, unknown>;
|
|
74
|
+
remove: import("@tanstack/react-query").UseMutationResult<{
|
|
75
|
+
success: boolean;
|
|
76
|
+
}, Error, string, unknown>;
|
|
77
|
+
setPrimary: import("@tanstack/react-query").UseMutationResult<{
|
|
78
|
+
id: string;
|
|
79
|
+
personId: string;
|
|
80
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
81
|
+
issuingAuthority: string | null;
|
|
82
|
+
issuingCountry: string | null;
|
|
83
|
+
issueDate: string | null;
|
|
84
|
+
expiryDate: string | null;
|
|
85
|
+
attachmentId: string | null;
|
|
86
|
+
isPrimary: boolean;
|
|
87
|
+
notes: string | null;
|
|
88
|
+
metadata: Record<string, unknown> | null;
|
|
89
|
+
createdAt: string;
|
|
90
|
+
updatedAt: string;
|
|
91
|
+
numberEncrypted?: {
|
|
92
|
+
enc: string;
|
|
93
|
+
} | null | undefined;
|
|
94
|
+
}, Error, string, unknown>;
|
|
95
|
+
createFromPlaintext: import("@tanstack/react-query").UseMutationResult<{
|
|
96
|
+
id: string;
|
|
97
|
+
personId: string;
|
|
98
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
99
|
+
issuingAuthority: string | null;
|
|
100
|
+
issuingCountry: string | null;
|
|
101
|
+
issueDate: string | null;
|
|
102
|
+
expiryDate: string | null;
|
|
103
|
+
attachmentId: string | null;
|
|
104
|
+
isPrimary: boolean;
|
|
105
|
+
notes: string | null;
|
|
106
|
+
metadata: Record<string, unknown> | null;
|
|
107
|
+
createdAt: string;
|
|
108
|
+
updatedAt: string;
|
|
109
|
+
numberEncrypted?: {
|
|
110
|
+
enc: string;
|
|
111
|
+
} | null | undefined;
|
|
112
|
+
}, Error, CreatePersonDocumentFromPlaintextInput, unknown>;
|
|
113
|
+
updateFromPlaintext: import("@tanstack/react-query").UseMutationResult<{
|
|
114
|
+
id: string;
|
|
115
|
+
personId: string;
|
|
116
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
117
|
+
issuingAuthority: string | null;
|
|
118
|
+
issuingCountry: string | null;
|
|
119
|
+
issueDate: string | null;
|
|
120
|
+
expiryDate: string | null;
|
|
121
|
+
attachmentId: string | null;
|
|
122
|
+
isPrimary: boolean;
|
|
123
|
+
notes: string | null;
|
|
124
|
+
metadata: Record<string, unknown> | null;
|
|
125
|
+
createdAt: string;
|
|
126
|
+
updatedAt: string;
|
|
127
|
+
numberEncrypted?: {
|
|
128
|
+
enc: string;
|
|
129
|
+
} | null | undefined;
|
|
130
|
+
}, Error, {
|
|
131
|
+
id: string;
|
|
132
|
+
input: UpdatePersonDocumentFromPlaintextInput;
|
|
133
|
+
}, unknown>;
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=use-person-document-mutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-person-document-mutation.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person-document-mutation.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,kBAAkB,CAAA;IACxB,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAE1E,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,kBAAkB,CAAA;IACxB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,MAAM,sCAAsC,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAA;AAIpG;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2B1B,MAAM;eAAS,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAuE1E,MAAM;eACH,sCAAsC;;EAiBlD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { fetchWithValidation } from "../client.js";
|
|
5
|
+
import { useVoyantContext } from "../provider.js";
|
|
6
|
+
import { crmQueryKeys } from "../query-keys.js";
|
|
7
|
+
import { personDocumentSingleResponse, } from "../schemas.js";
|
|
8
|
+
const deleteResponseSchema = z.object({ success: z.boolean() });
|
|
9
|
+
/**
|
|
10
|
+
* Create / update / delete / set-primary mutations for person
|
|
11
|
+
* documents. Cache invalidation targets both the per-person list and
|
|
12
|
+
* the per-document detail key.
|
|
13
|
+
*/
|
|
14
|
+
export function usePersonDocumentMutation(personId) {
|
|
15
|
+
const { baseUrl, fetcher } = useVoyantContext();
|
|
16
|
+
const queryClient = useQueryClient();
|
|
17
|
+
const invalidate = () => {
|
|
18
|
+
if (personId) {
|
|
19
|
+
void queryClient.invalidateQueries({
|
|
20
|
+
queryKey: [...crmQueryKeys.person(personId), "documents"],
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const create = useMutation({
|
|
25
|
+
mutationFn: async (input) => {
|
|
26
|
+
if (!personId)
|
|
27
|
+
throw new Error("usePersonDocumentMutation requires a personId");
|
|
28
|
+
const { data } = await fetchWithValidation(`/v1/crm/people/${personId}/documents`, personDocumentSingleResponse, { baseUrl, fetcher }, { method: "POST", body: JSON.stringify(input) });
|
|
29
|
+
return data;
|
|
30
|
+
},
|
|
31
|
+
onSuccess: invalidate,
|
|
32
|
+
});
|
|
33
|
+
const update = useMutation({
|
|
34
|
+
mutationFn: async ({ id, input }) => {
|
|
35
|
+
const { data } = await fetchWithValidation(`/v1/crm/person-documents/${id}`, personDocumentSingleResponse, { baseUrl, fetcher }, { method: "PATCH", body: JSON.stringify(input) });
|
|
36
|
+
return data;
|
|
37
|
+
},
|
|
38
|
+
onSuccess: (data) => {
|
|
39
|
+
invalidate();
|
|
40
|
+
queryClient.setQueryData(crmQueryKeys.personDocument(data.id), data);
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const remove = useMutation({
|
|
44
|
+
mutationFn: async (id) => {
|
|
45
|
+
return fetchWithValidation(`/v1/crm/person-documents/${id}`, deleteResponseSchema, { baseUrl, fetcher }, { method: "DELETE" });
|
|
46
|
+
},
|
|
47
|
+
onSuccess: (_data, id) => {
|
|
48
|
+
invalidate();
|
|
49
|
+
queryClient.removeQueries({ queryKey: crmQueryKeys.personDocument(id) });
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const setPrimary = useMutation({
|
|
53
|
+
mutationFn: async (id) => {
|
|
54
|
+
const { data } = await fetchWithValidation(`/v1/crm/person-documents/${id}/set-primary`, personDocumentSingleResponse, { baseUrl, fetcher }, { method: "POST" });
|
|
55
|
+
return data;
|
|
56
|
+
},
|
|
57
|
+
onSuccess: (data) => {
|
|
58
|
+
invalidate();
|
|
59
|
+
queryClient.setQueryData(crmQueryKeys.personDocument(data.id), data);
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* Plaintext create — caller passes `number` as cleartext, the route
|
|
64
|
+
* encrypts server-side. Used by the operator booking-traveler
|
|
65
|
+
* "Save to profile" affordance when a passport doc doesn't yet
|
|
66
|
+
* exist for the linked person.
|
|
67
|
+
*/
|
|
68
|
+
const createFromPlaintext = useMutation({
|
|
69
|
+
mutationFn: async (input) => {
|
|
70
|
+
if (!personId)
|
|
71
|
+
throw new Error("usePersonDocumentMutation requires a personId");
|
|
72
|
+
const { data } = await fetchWithValidation(`/v1/crm/people/${personId}/documents/from-plaintext`, personDocumentSingleResponse, { baseUrl, fetcher }, { method: "POST", body: JSON.stringify(input) });
|
|
73
|
+
return data;
|
|
74
|
+
},
|
|
75
|
+
onSuccess: invalidate,
|
|
76
|
+
});
|
|
77
|
+
const updateFromPlaintext = useMutation({
|
|
78
|
+
mutationFn: async ({ id, input, }) => {
|
|
79
|
+
const { data } = await fetchWithValidation(`/v1/crm/person-documents/${id}/from-plaintext`, personDocumentSingleResponse, { baseUrl, fetcher }, { method: "PATCH", body: JSON.stringify(input) });
|
|
80
|
+
return data;
|
|
81
|
+
},
|
|
82
|
+
onSuccess: (data) => {
|
|
83
|
+
invalidate();
|
|
84
|
+
queryClient.setQueryData(crmQueryKeys.personDocument(data.id), data);
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
return { create, update, remove, setPrimary, createFromPlaintext, updateFromPlaintext };
|
|
88
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type PersonDocumentsListFilters } from "../query-keys.js";
|
|
2
|
+
export interface UsePersonDocumentsOptions extends PersonDocumentsListFilters {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Lists identity documents for a person. The list includes encrypted
|
|
7
|
+
* passport/ID numbers as KMS envelopes — consumers display structured
|
|
8
|
+
* fields (type, expiry, country) and gate the decrypted number behind
|
|
9
|
+
* a separate request.
|
|
10
|
+
*/
|
|
11
|
+
export declare function usePersonDocuments(personId: string | undefined, options?: UsePersonDocumentsOptions): import("@tanstack/react-query").UseQueryResult<{
|
|
12
|
+
data: {
|
|
13
|
+
id: string;
|
|
14
|
+
personId: string;
|
|
15
|
+
type: "passport" | "id_card" | "driver_license" | "visa" | "other";
|
|
16
|
+
issuingAuthority: string | null;
|
|
17
|
+
issuingCountry: string | null;
|
|
18
|
+
issueDate: string | null;
|
|
19
|
+
expiryDate: string | null;
|
|
20
|
+
attachmentId: string | null;
|
|
21
|
+
isPrimary: boolean;
|
|
22
|
+
notes: string | null;
|
|
23
|
+
metadata: Record<string, unknown> | null;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
numberEncrypted?: {
|
|
27
|
+
enc: string;
|
|
28
|
+
} | null | undefined;
|
|
29
|
+
}[];
|
|
30
|
+
}, Error>;
|
|
31
|
+
//# sourceMappingURL=use-person-documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-person-documents.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person-documents.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAGhF,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;UAuBxC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { fetchWithValidation } from "../client.js";
|
|
4
|
+
import { useVoyantContext } from "../provider.js";
|
|
5
|
+
import { crmQueryKeys } from "../query-keys.js";
|
|
6
|
+
import { personDocumentListResponse } from "../schemas.js";
|
|
7
|
+
/**
|
|
8
|
+
* Lists identity documents for a person. The list includes encrypted
|
|
9
|
+
* passport/ID numbers as KMS envelopes — consumers display structured
|
|
10
|
+
* fields (type, expiry, country) and gate the decrypted number behind
|
|
11
|
+
* a separate request.
|
|
12
|
+
*/
|
|
13
|
+
export function usePersonDocuments(personId, options = {}) {
|
|
14
|
+
const { baseUrl, fetcher } = useVoyantContext();
|
|
15
|
+
const { enabled = true, ...filters } = options;
|
|
16
|
+
return useQuery({
|
|
17
|
+
queryKey: crmQueryKeys.personDocuments(personId ?? "", filters),
|
|
18
|
+
queryFn: async () => {
|
|
19
|
+
if (!personId)
|
|
20
|
+
throw new Error("usePersonDocuments requires a personId");
|
|
21
|
+
const params = new URLSearchParams();
|
|
22
|
+
if (filters.type)
|
|
23
|
+
params.set("type", filters.type);
|
|
24
|
+
if (filters.expiringBefore)
|
|
25
|
+
params.set("expiringBefore", filters.expiringBefore);
|
|
26
|
+
if (filters.limit !== undefined)
|
|
27
|
+
params.set("limit", String(filters.limit));
|
|
28
|
+
if (filters.offset !== undefined)
|
|
29
|
+
params.set("offset", String(filters.offset));
|
|
30
|
+
const qs = params.toString();
|
|
31
|
+
return fetchWithValidation(`/v1/crm/people/${personId}/documents${qs ? `?${qs}` : ""}`, personDocumentListResponse, { baseUrl, fetcher });
|
|
32
|
+
},
|
|
33
|
+
enabled: enabled && Boolean(personId),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type KmsEnvelopeRecord } from "../schemas.js";
|
|
1
2
|
export interface CreatePersonInput {
|
|
2
3
|
firstName: string;
|
|
3
4
|
lastName: string;
|
|
@@ -10,9 +11,19 @@ export interface CreatePersonInput {
|
|
|
10
11
|
website?: string | null;
|
|
11
12
|
tags?: string[];
|
|
12
13
|
notes?: string | null;
|
|
14
|
+
accessibilityEncrypted?: KmsEnvelopeRecord;
|
|
15
|
+
dietaryEncrypted?: KmsEnvelopeRecord;
|
|
16
|
+
loyaltyEncrypted?: KmsEnvelopeRecord;
|
|
17
|
+
insuranceEncrypted?: KmsEnvelopeRecord;
|
|
13
18
|
[key: string]: unknown;
|
|
14
19
|
}
|
|
15
20
|
export type UpdatePersonInput = Partial<CreatePersonInput>;
|
|
21
|
+
export interface UpdatePersonProfilePiiInput {
|
|
22
|
+
accessibility?: string | null;
|
|
23
|
+
dietary?: string | null;
|
|
24
|
+
loyalty?: string | null;
|
|
25
|
+
insurance?: string | null;
|
|
26
|
+
}
|
|
16
27
|
/**
|
|
17
28
|
* Create, update, and delete mutations for people. All three share a single
|
|
18
29
|
* hook so the component can pick the action it needs. TanStack Query cache is
|
|
@@ -42,6 +53,18 @@ export declare function usePersonMutation(): {
|
|
|
42
53
|
email: string | null;
|
|
43
54
|
phone: string | null;
|
|
44
55
|
website: string | null;
|
|
56
|
+
accessibilityEncrypted?: {
|
|
57
|
+
enc: string;
|
|
58
|
+
} | null | undefined;
|
|
59
|
+
dietaryEncrypted?: {
|
|
60
|
+
enc: string;
|
|
61
|
+
} | null | undefined;
|
|
62
|
+
loyaltyEncrypted?: {
|
|
63
|
+
enc: string;
|
|
64
|
+
} | null | undefined;
|
|
65
|
+
insuranceEncrypted?: {
|
|
66
|
+
enc: string;
|
|
67
|
+
} | null | undefined;
|
|
45
68
|
}, Error, CreatePersonInput, unknown>;
|
|
46
69
|
update: import("@tanstack/react-query").UseMutationResult<{
|
|
47
70
|
id: string;
|
|
@@ -66,6 +89,18 @@ export declare function usePersonMutation(): {
|
|
|
66
89
|
email: string | null;
|
|
67
90
|
phone: string | null;
|
|
68
91
|
website: string | null;
|
|
92
|
+
accessibilityEncrypted?: {
|
|
93
|
+
enc: string;
|
|
94
|
+
} | null | undefined;
|
|
95
|
+
dietaryEncrypted?: {
|
|
96
|
+
enc: string;
|
|
97
|
+
} | null | undefined;
|
|
98
|
+
loyaltyEncrypted?: {
|
|
99
|
+
enc: string;
|
|
100
|
+
} | null | undefined;
|
|
101
|
+
insuranceEncrypted?: {
|
|
102
|
+
enc: string;
|
|
103
|
+
} | null | undefined;
|
|
69
104
|
}, Error, {
|
|
70
105
|
id: string;
|
|
71
106
|
input: UpdatePersonInput;
|
|
@@ -73,5 +108,11 @@ export declare function usePersonMutation(): {
|
|
|
73
108
|
remove: import("@tanstack/react-query").UseMutationResult<{
|
|
74
109
|
success: boolean;
|
|
75
110
|
}, Error, string, unknown>;
|
|
111
|
+
updateProfilePii: import("@tanstack/react-query").UseMutationResult<{
|
|
112
|
+
success: boolean;
|
|
113
|
+
}, Error, {
|
|
114
|
+
personId: string;
|
|
115
|
+
input: UpdatePersonProfilePiiInput;
|
|
116
|
+
}, unknown>;
|
|
76
117
|
};
|
|
77
118
|
//# sourceMappingURL=use-person-mutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-person-mutation.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person-mutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-person-mutation.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person-mutation.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,eAAe,CAAA;AAE5E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,sBAAsB,CAAC,EAAE,iBAAiB,CAAA;IAC1C,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,CAAC,EAAE,iBAAiB,CAAA;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE1D,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAKD;;;;GAIG;AACH,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoBW,MAAM;eAAS,iBAAiB;;;;;;;;kBAwC5D,MAAM;eACT,2BAA2B;;EAkBvC"}
|
|
@@ -6,6 +6,7 @@ import { useVoyantContext } from "../provider.js";
|
|
|
6
6
|
import { crmQueryKeys } from "../query-keys.js";
|
|
7
7
|
import { personSingleResponse } from "../schemas.js";
|
|
8
8
|
const deleteResponseSchema = z.object({ success: z.boolean() });
|
|
9
|
+
const successResponseSchema = z.object({ success: z.boolean() });
|
|
9
10
|
/**
|
|
10
11
|
* Create, update, and delete mutations for people. All three share a single
|
|
11
12
|
* hook so the component can pick the action it needs. TanStack Query cache is
|
|
@@ -42,5 +43,21 @@ export function usePersonMutation() {
|
|
|
42
43
|
queryClient.removeQueries({ queryKey: crmQueryKeys.person(id) });
|
|
43
44
|
},
|
|
44
45
|
});
|
|
45
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Plaintext PATCH for the four free-text PII slots. Server-side
|
|
48
|
+
* encryption against the people KMS key. Used by the operator
|
|
49
|
+
* "Save to profile" affordance after a booking-traveler edit.
|
|
50
|
+
*/
|
|
51
|
+
const updateProfilePii = useMutation({
|
|
52
|
+
mutationFn: async ({ personId, input, }) => {
|
|
53
|
+
return fetchWithValidation(`/v1/crm/people/${personId}/profile-pii`, successResponseSchema, { baseUrl, fetcher }, { method: "PATCH", body: JSON.stringify(input) });
|
|
54
|
+
},
|
|
55
|
+
onSuccess: (_data, variables) => {
|
|
56
|
+
void queryClient.invalidateQueries({ queryKey: crmQueryKeys.person(variables.personId) });
|
|
57
|
+
void queryClient.invalidateQueries({
|
|
58
|
+
queryKey: crmQueryKeys.personTravelSnapshot(variables.personId),
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
return { create, update, remove, updateProfilePii };
|
|
46
63
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface UsePersonTravelSnapshotOptions {
|
|
2
|
+
enabled?: boolean;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Decrypted snapshot of a person's primary passport + dietary +
|
|
6
|
+
* accessibility values. Used by the operator booking-traveler dialog
|
|
7
|
+
* to pre-fill snapshot fields when an operator picks an existing
|
|
8
|
+
* person.
|
|
9
|
+
*/
|
|
10
|
+
export declare function usePersonTravelSnapshot(personId: string | undefined, options?: UsePersonTravelSnapshotOptions): import("@tanstack/react-query").UseQueryResult<{
|
|
11
|
+
data: {
|
|
12
|
+
dateOfBirth: string | null;
|
|
13
|
+
dietaryRequirements: string | null;
|
|
14
|
+
accessibilityNeeds: string | null;
|
|
15
|
+
passportNumber: string | null;
|
|
16
|
+
passportExpiry: string | null;
|
|
17
|
+
passportIssuingCountry: string | null;
|
|
18
|
+
passportIssuingAuthority: string | null;
|
|
19
|
+
passportPersonDocumentId: string | null;
|
|
20
|
+
};
|
|
21
|
+
}, Error>;
|
|
22
|
+
//# sourceMappingURL=use-person-travel-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-person-travel-snapshot.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person-travel-snapshot.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,GAAE,8BAAmC;;;;;;;;;;;UAkB7C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { fetchWithValidation } from "../client.js";
|
|
4
|
+
import { useVoyantContext } from "../provider.js";
|
|
5
|
+
import { crmQueryKeys } from "../query-keys.js";
|
|
6
|
+
import { personTravelSnapshotResponse } from "../schemas.js";
|
|
7
|
+
/**
|
|
8
|
+
* Decrypted snapshot of a person's primary passport + dietary +
|
|
9
|
+
* accessibility values. Used by the operator booking-traveler dialog
|
|
10
|
+
* to pre-fill snapshot fields when an operator picks an existing
|
|
11
|
+
* person.
|
|
12
|
+
*/
|
|
13
|
+
export function usePersonTravelSnapshot(personId, options = {}) {
|
|
14
|
+
const { baseUrl, fetcher } = useVoyantContext();
|
|
15
|
+
const { enabled = true } = options;
|
|
16
|
+
return useQuery({
|
|
17
|
+
queryKey: crmQueryKeys.personTravelSnapshot(personId ?? ""),
|
|
18
|
+
queryFn: async () => {
|
|
19
|
+
if (!personId)
|
|
20
|
+
throw new Error("usePersonTravelSnapshot requires a personId");
|
|
21
|
+
return fetchWithValidation(`/v1/crm/people/${personId}/travel-snapshot`, personTravelSnapshotResponse, { baseUrl, fetcher });
|
|
22
|
+
},
|
|
23
|
+
enabled: enabled && Boolean(personId),
|
|
24
|
+
staleTime: 30_000,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -29,5 +29,17 @@ export declare function usePerson(id: string | undefined, options?: UsePersonOpt
|
|
|
29
29
|
email: string | null;
|
|
30
30
|
phone: string | null;
|
|
31
31
|
website: string | null;
|
|
32
|
+
accessibilityEncrypted?: {
|
|
33
|
+
enc: string;
|
|
34
|
+
} | null | undefined;
|
|
35
|
+
dietaryEncrypted?: {
|
|
36
|
+
enc: string;
|
|
37
|
+
} | null | undefined;
|
|
38
|
+
loyaltyEncrypted?: {
|
|
39
|
+
enc: string;
|
|
40
|
+
} | null | undefined;
|
|
41
|
+
insuranceEncrypted?: {
|
|
42
|
+
enc: string;
|
|
43
|
+
} | null | undefined;
|
|
32
44
|
}, Error>;
|
|
33
45
|
//# sourceMappingURL=use-person.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-person.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,gBAAqB
|
|
1
|
+
{"version":3,"file":"use-person.d.ts","sourceRoot":"","sources":["../../src/hooks/use-person.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,gBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgB/E"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,10 @@ export { type CreateOrganizationInput, type UpdateOrganizationInput, useOrganiza
|
|
|
10
10
|
export { type UseOrganizationsOptions, useOrganizations, } from "./hooks/use-organizations.js";
|
|
11
11
|
export { type UsePeopleOptions, usePeople } from "./hooks/use-people.js";
|
|
12
12
|
export { type UsePersonOptions, usePerson } from "./hooks/use-person.js";
|
|
13
|
-
export { type
|
|
13
|
+
export { type CreatePersonDocumentFromPlaintextInput, type CreatePersonDocumentInput, type UpdatePersonDocumentFromPlaintextInput, type UpdatePersonDocumentInput, usePersonDocumentMutation, } from "./hooks/use-person-document-mutation.js";
|
|
14
|
+
export { type UsePersonDocumentsOptions, usePersonDocuments, } from "./hooks/use-person-documents.js";
|
|
15
|
+
export { type CreatePersonInput, type UpdatePersonInput, type UpdatePersonProfilePiiInput, usePersonMutation, } from "./hooks/use-person-mutation.js";
|
|
16
|
+
export { type UsePersonTravelSnapshotOptions, usePersonTravelSnapshot, } from "./hooks/use-person-travel-snapshot.js";
|
|
14
17
|
export { type CreatePipelineInput, type CreateStageInput, type UpdatePipelineInput, type UpdateStageInput, usePipelineMutation, } from "./hooks/use-pipeline-mutation.js";
|
|
15
18
|
export { type UsePipelineOptions, type UsePipelinesOptions, usePipeline, usePipelines, } from "./hooks/use-pipelines.js";
|
|
16
19
|
export { type UseQuoteOptions, useQuote, useQuoteLines, } from "./hooks/use-quote.js";
|
|
@@ -18,7 +21,7 @@ export { type CreateQuoteInput, type CreateQuoteLineInput, type UpdateQuoteInput
|
|
|
18
21
|
export { type UseQuotesOptions, useQuotes, } from "./hooks/use-quotes.js";
|
|
19
22
|
export { type UseStageOptions, type UseStagesOptions, useStage, useStages, } from "./hooks/use-stages.js";
|
|
20
23
|
export { useVoyantContext, type VoyantContextValue, VoyantProvider, type VoyantProviderProps, } from "./provider.js";
|
|
21
|
-
export { type ActivitiesListFilters, crmQueryKeys, type OpportunitiesListFilters, type OrganizationsListFilters, type PeopleListFilters, type PipelinesListFilters, type QuotesListFilters, type StagesListFilters, } from "./query-keys.js";
|
|
24
|
+
export { type ActivitiesListFilters, crmQueryKeys, type OpportunitiesListFilters, type OrganizationsListFilters, type PeopleListFilters, type PersonDocumentsListFilters, type PipelinesListFilters, type QuotesListFilters, type StagesListFilters, } from "./query-keys.js";
|
|
22
25
|
export { getActivitiesQueryOptions, getOpportunitiesQueryOptions, getOpportunityQueryOptions, getOrganizationQueryOptions, getOrganizationsQueryOptions, getPeopleQueryOptions, getPersonActivitiesQueryOptions, getPersonNotesQueryOptions, getPersonOpportunitiesQueryOptions, getPersonQueryOptions, getPipelineQueryOptions, getPipelinesQueryOptions, getQuoteLinesQueryOptions, getQuoteQueryOptions, getQuotesQueryOptions, getStageQueryOptions, getStagesQueryOptions, } from "./query-options.js";
|
|
23
|
-
export { type ActivityLinkRecord, type ActivityRecord, activityLinkRecordSchema, activityRecordSchema, type OpportunityRecord, type OrganizationRecord, opportunityRecordSchema, organizationRecordSchema, type PersonNoteRecord, type PersonRecord, type PipelineRecord, personNoteRecordSchema, personRecordSchema, pipelineRecordSchema, type QuoteLineRecord, type QuoteRecord, quoteLineRecordSchema, quoteRecordSchema, type StageRecord, stageRecordSchema, } from "./schemas.js";
|
|
26
|
+
export { type ActivityLinkRecord, type ActivityRecord, activityLinkRecordSchema, activityRecordSchema, type KmsEnvelopeRecord, kmsEnvelopeRecordSchema, type OpportunityRecord, type OrganizationRecord, opportunityRecordSchema, organizationRecordSchema, type PersonDocumentRecord, type PersonDocumentType, type PersonNoteRecord, type PersonRecord, type PersonTravelSnapshotRecord, type PipelineRecord, personDocumentRecordSchema, personDocumentTypeSchema, personNoteRecordSchema, personRecordSchema, personTravelSnapshotSchema, pipelineRecordSchema, type QuoteLineRecord, type QuoteRecord, quoteLineRecordSchema, quoteRecordSchema, type StageRecord, stageRecordSchema, } from "./schemas.js";
|
|
24
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,10 @@ export { useOrganizationMutation, } from "./hooks/use-organization-mutation.js";
|
|
|
10
10
|
export { useOrganizations, } from "./hooks/use-organizations.js";
|
|
11
11
|
export { usePeople } from "./hooks/use-people.js";
|
|
12
12
|
export { usePerson } from "./hooks/use-person.js";
|
|
13
|
+
export { usePersonDocumentMutation, } from "./hooks/use-person-document-mutation.js";
|
|
14
|
+
export { usePersonDocuments, } from "./hooks/use-person-documents.js";
|
|
13
15
|
export { usePersonMutation, } from "./hooks/use-person-mutation.js";
|
|
16
|
+
export { usePersonTravelSnapshot, } from "./hooks/use-person-travel-snapshot.js";
|
|
14
17
|
export { usePipelineMutation, } from "./hooks/use-pipeline-mutation.js";
|
|
15
18
|
export { usePipeline, usePipelines, } from "./hooks/use-pipelines.js";
|
|
16
19
|
export { useQuote, useQuoteLines, } from "./hooks/use-quote.js";
|
|
@@ -20,4 +23,4 @@ export { useStage, useStages, } from "./hooks/use-stages.js";
|
|
|
20
23
|
export { useVoyantContext, VoyantProvider, } from "./provider.js";
|
|
21
24
|
export { crmQueryKeys, } from "./query-keys.js";
|
|
22
25
|
export { getActivitiesQueryOptions, getOpportunitiesQueryOptions, getOpportunityQueryOptions, getOrganizationQueryOptions, getOrganizationsQueryOptions, getPeopleQueryOptions, getPersonActivitiesQueryOptions, getPersonNotesQueryOptions, getPersonOpportunitiesQueryOptions, getPersonQueryOptions, getPipelineQueryOptions, getPipelinesQueryOptions, getQuoteLinesQueryOptions, getQuoteQueryOptions, getQuotesQueryOptions, getStageQueryOptions, getStagesQueryOptions, } from "./query-options.js";
|
|
23
|
-
export { activityLinkRecordSchema, activityRecordSchema, opportunityRecordSchema, organizationRecordSchema, personNoteRecordSchema, personRecordSchema, pipelineRecordSchema, quoteLineRecordSchema, quoteRecordSchema, stageRecordSchema, } from "./schemas.js";
|
|
26
|
+
export { activityLinkRecordSchema, activityRecordSchema, kmsEnvelopeRecordSchema, opportunityRecordSchema, organizationRecordSchema, personDocumentRecordSchema, personDocumentTypeSchema, personNoteRecordSchema, personRecordSchema, personTravelSnapshotSchema, pipelineRecordSchema, quoteLineRecordSchema, quoteRecordSchema, stageRecordSchema, } from "./schemas.js";
|
package/dist/query-keys.d.ts
CHANGED
|
@@ -56,11 +56,20 @@ export interface QuotesListFilters {
|
|
|
56
56
|
limit?: number | undefined;
|
|
57
57
|
offset?: number | undefined;
|
|
58
58
|
}
|
|
59
|
+
export interface PersonDocumentsListFilters {
|
|
60
|
+
type?: string | undefined;
|
|
61
|
+
expiringBefore?: string | undefined;
|
|
62
|
+
limit?: number | undefined;
|
|
63
|
+
offset?: number | undefined;
|
|
64
|
+
}
|
|
59
65
|
export declare const crmQueryKeys: {
|
|
60
66
|
readonly all: readonly ["voyant", "crm"];
|
|
61
67
|
readonly people: () => readonly ["voyant", "crm", "people"];
|
|
62
68
|
readonly peopleList: (filters: PeopleListFilters) => readonly ["voyant", "crm", "people", "list", PeopleListFilters];
|
|
63
69
|
readonly person: (id: string) => readonly ["voyant", "crm", "people", "detail", string];
|
|
70
|
+
readonly personDocuments: (personId: string, filters?: PersonDocumentsListFilters) => readonly ["voyant", "crm", "people", "detail", string, "documents", PersonDocumentsListFilters];
|
|
71
|
+
readonly personDocument: (id: string) => readonly ["voyant", "crm", "person-documents", "detail", string];
|
|
72
|
+
readonly personTravelSnapshot: (personId: string) => readonly ["voyant", "crm", "people", "detail", string, "travel-snapshot"];
|
|
64
73
|
readonly organizations: () => readonly ["voyant", "crm", "organizations"];
|
|
65
74
|
readonly organizationsList: (filters: OrganizationsListFilters) => readonly ["voyant", "crm", "organizations", "list", OrganizationsListFilters];
|
|
66
75
|
readonly organization: (id: string) => readonly ["voyant", "crm", "organizations", "detail", string];
|
package/dist/query-keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../src/query-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,eAAO,MAAM,YAAY;;;mCAID,iBAAiB;0BAC1B,MAAM;;
|
|
1
|
+
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../src/query-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,eAAO,MAAM,YAAY;;;mCAID,iBAAiB;0BAC1B,MAAM;yCACS,MAAM,YAAW,0BAA0B;kCAElD,MAAM;8CACM,MAAM;;0CAIV,wBAAwB;gCAElC,MAAM;;0CAGI,wBAAwB;+BAEnC,MAAM;;sCAGC,oBAAoB;4BAE9B,MAAM;;mCAGC,iBAAiB;yBAC3B,MAAM;;uCAGQ,qBAAqB;4BAEhC,MAAM;yCACO,MAAM;;mCAGZ,iBAAiB;yBAC3B,MAAM;mCACI,MAAM;CACpB,CAAA"}
|
package/dist/query-keys.js
CHANGED
|
@@ -7,6 +7,9 @@ export const crmQueryKeys = {
|
|
|
7
7
|
people: () => [...crmQueryKeys.all, "people"],
|
|
8
8
|
peopleList: (filters) => [...crmQueryKeys.people(), "list", filters],
|
|
9
9
|
person: (id) => [...crmQueryKeys.people(), "detail", id],
|
|
10
|
+
personDocuments: (personId, filters = {}) => [...crmQueryKeys.person(personId), "documents", filters],
|
|
11
|
+
personDocument: (id) => [...crmQueryKeys.all, "person-documents", "detail", id],
|
|
12
|
+
personTravelSnapshot: (personId) => [...crmQueryKeys.person(personId), "travel-snapshot"],
|
|
10
13
|
organizations: () => [...crmQueryKeys.all, "organizations"],
|
|
11
14
|
organizationsList: (filters) => [...crmQueryKeys.organizations(), "list", filters],
|
|
12
15
|
organization: (id) => [...crmQueryKeys.organizations(), "detail", id],
|
package/dist/query-options.d.ts
CHANGED
|
@@ -106,6 +106,18 @@ export declare function getPeopleQueryOptions(client: FetchWithValidationOptions
|
|
|
106
106
|
email: string | null;
|
|
107
107
|
phone: string | null;
|
|
108
108
|
website: string | null;
|
|
109
|
+
accessibilityEncrypted?: {
|
|
110
|
+
enc: string;
|
|
111
|
+
} | null | undefined;
|
|
112
|
+
dietaryEncrypted?: {
|
|
113
|
+
enc: string;
|
|
114
|
+
} | null | undefined;
|
|
115
|
+
loyaltyEncrypted?: {
|
|
116
|
+
enc: string;
|
|
117
|
+
} | null | undefined;
|
|
118
|
+
insuranceEncrypted?: {
|
|
119
|
+
enc: string;
|
|
120
|
+
} | null | undefined;
|
|
109
121
|
}[];
|
|
110
122
|
total: number;
|
|
111
123
|
limit: number;
|
|
@@ -134,6 +146,18 @@ export declare function getPeopleQueryOptions(client: FetchWithValidationOptions
|
|
|
134
146
|
email: string | null;
|
|
135
147
|
phone: string | null;
|
|
136
148
|
website: string | null;
|
|
149
|
+
accessibilityEncrypted?: {
|
|
150
|
+
enc: string;
|
|
151
|
+
} | null | undefined;
|
|
152
|
+
dietaryEncrypted?: {
|
|
153
|
+
enc: string;
|
|
154
|
+
} | null | undefined;
|
|
155
|
+
loyaltyEncrypted?: {
|
|
156
|
+
enc: string;
|
|
157
|
+
} | null | undefined;
|
|
158
|
+
insuranceEncrypted?: {
|
|
159
|
+
enc: string;
|
|
160
|
+
} | null | undefined;
|
|
137
161
|
}[];
|
|
138
162
|
total: number;
|
|
139
163
|
limit: number;
|
|
@@ -163,6 +187,18 @@ export declare function getPeopleQueryOptions(client: FetchWithValidationOptions
|
|
|
163
187
|
email: string | null;
|
|
164
188
|
phone: string | null;
|
|
165
189
|
website: string | null;
|
|
190
|
+
accessibilityEncrypted?: {
|
|
191
|
+
enc: string;
|
|
192
|
+
} | null | undefined;
|
|
193
|
+
dietaryEncrypted?: {
|
|
194
|
+
enc: string;
|
|
195
|
+
} | null | undefined;
|
|
196
|
+
loyaltyEncrypted?: {
|
|
197
|
+
enc: string;
|
|
198
|
+
} | null | undefined;
|
|
199
|
+
insuranceEncrypted?: {
|
|
200
|
+
enc: string;
|
|
201
|
+
} | null | undefined;
|
|
166
202
|
}[];
|
|
167
203
|
total: number;
|
|
168
204
|
limit: number;
|
|
@@ -194,6 +230,18 @@ export declare function getPeopleQueryOptions(client: FetchWithValidationOptions
|
|
|
194
230
|
email: string | null;
|
|
195
231
|
phone: string | null;
|
|
196
232
|
website: string | null;
|
|
233
|
+
accessibilityEncrypted?: {
|
|
234
|
+
enc: string;
|
|
235
|
+
} | null | undefined;
|
|
236
|
+
dietaryEncrypted?: {
|
|
237
|
+
enc: string;
|
|
238
|
+
} | null | undefined;
|
|
239
|
+
loyaltyEncrypted?: {
|
|
240
|
+
enc: string;
|
|
241
|
+
} | null | undefined;
|
|
242
|
+
insuranceEncrypted?: {
|
|
243
|
+
enc: string;
|
|
244
|
+
} | null | undefined;
|
|
197
245
|
}[];
|
|
198
246
|
total: number;
|
|
199
247
|
limit: number;
|
|
@@ -225,6 +273,18 @@ export declare function getPersonQueryOptions(client: FetchWithValidationOptions
|
|
|
225
273
|
email: string | null;
|
|
226
274
|
phone: string | null;
|
|
227
275
|
website: string | null;
|
|
276
|
+
accessibilityEncrypted?: {
|
|
277
|
+
enc: string;
|
|
278
|
+
} | null | undefined;
|
|
279
|
+
dietaryEncrypted?: {
|
|
280
|
+
enc: string;
|
|
281
|
+
} | null | undefined;
|
|
282
|
+
loyaltyEncrypted?: {
|
|
283
|
+
enc: string;
|
|
284
|
+
} | null | undefined;
|
|
285
|
+
insuranceEncrypted?: {
|
|
286
|
+
enc: string;
|
|
287
|
+
} | null | undefined;
|
|
228
288
|
}, Error, {
|
|
229
289
|
id: string;
|
|
230
290
|
organizationId: string | null;
|
|
@@ -248,6 +308,18 @@ export declare function getPersonQueryOptions(client: FetchWithValidationOptions
|
|
|
248
308
|
email: string | null;
|
|
249
309
|
phone: string | null;
|
|
250
310
|
website: string | null;
|
|
311
|
+
accessibilityEncrypted?: {
|
|
312
|
+
enc: string;
|
|
313
|
+
} | null | undefined;
|
|
314
|
+
dietaryEncrypted?: {
|
|
315
|
+
enc: string;
|
|
316
|
+
} | null | undefined;
|
|
317
|
+
loyaltyEncrypted?: {
|
|
318
|
+
enc: string;
|
|
319
|
+
} | null | undefined;
|
|
320
|
+
insuranceEncrypted?: {
|
|
321
|
+
enc: string;
|
|
322
|
+
} | null | undefined;
|
|
251
323
|
}, readonly ["voyant", "crm", "people", "detail", string]>, "queryFn"> & {
|
|
252
324
|
queryFn?: import("@tanstack/react-query").QueryFunction<{
|
|
253
325
|
id: string;
|
|
@@ -272,6 +344,18 @@ export declare function getPersonQueryOptions(client: FetchWithValidationOptions
|
|
|
272
344
|
email: string | null;
|
|
273
345
|
phone: string | null;
|
|
274
346
|
website: string | null;
|
|
347
|
+
accessibilityEncrypted?: {
|
|
348
|
+
enc: string;
|
|
349
|
+
} | null | undefined;
|
|
350
|
+
dietaryEncrypted?: {
|
|
351
|
+
enc: string;
|
|
352
|
+
} | null | undefined;
|
|
353
|
+
loyaltyEncrypted?: {
|
|
354
|
+
enc: string;
|
|
355
|
+
} | null | undefined;
|
|
356
|
+
insuranceEncrypted?: {
|
|
357
|
+
enc: string;
|
|
358
|
+
} | null | undefined;
|
|
275
359
|
}, readonly ["voyant", "crm", "people", "detail", string], never> | undefined;
|
|
276
360
|
} & {
|
|
277
361
|
queryKey: readonly ["voyant", "crm", "people", "detail", string] & {
|
|
@@ -298,6 +382,18 @@ export declare function getPersonQueryOptions(client: FetchWithValidationOptions
|
|
|
298
382
|
email: string | null;
|
|
299
383
|
phone: string | null;
|
|
300
384
|
website: string | null;
|
|
385
|
+
accessibilityEncrypted?: {
|
|
386
|
+
enc: string;
|
|
387
|
+
} | null | undefined;
|
|
388
|
+
dietaryEncrypted?: {
|
|
389
|
+
enc: string;
|
|
390
|
+
} | null | undefined;
|
|
391
|
+
loyaltyEncrypted?: {
|
|
392
|
+
enc: string;
|
|
393
|
+
} | null | undefined;
|
|
394
|
+
insuranceEncrypted?: {
|
|
395
|
+
enc: string;
|
|
396
|
+
} | null | undefined;
|
|
301
397
|
};
|
|
302
398
|
[dataTagErrorSymbol]: Error;
|
|
303
399
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-options.d.ts","sourceRoot":"","sources":["../src/query-options.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAoB7D,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE,oBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBnC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE,gBAAqB
|
|
1
|
+
{"version":3,"file":"query-options.d.ts","sourceRoot":"","sources":["../src/query-options.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -25,6 +25,15 @@ export declare const successEnvelope: z.ZodObject<{
|
|
|
25
25
|
* consumers to depend on the Drizzle type inference chain. The hooks expose
|
|
26
26
|
* these as `z.infer` types; keep in sync with `packages/crm/src/schema.ts`.
|
|
27
27
|
*/
|
|
28
|
+
/**
|
|
29
|
+
* KMS-encrypted envelope shape — `{ enc: base64 }`. Mirrors the
|
|
30
|
+
* `kmsEnvelopeSchema` in `@voyantjs/db/schema/iam/kms` (kept inline
|
|
31
|
+
* here so crm-react has no server-side schema dep).
|
|
32
|
+
*/
|
|
33
|
+
export declare const kmsEnvelopeRecordSchema: z.ZodNullable<z.ZodObject<{
|
|
34
|
+
enc: z.ZodString;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
export type KmsEnvelopeRecord = z.infer<typeof kmsEnvelopeRecordSchema>;
|
|
28
37
|
export declare const personRecordSchema: z.ZodObject<{
|
|
29
38
|
id: z.ZodString;
|
|
30
39
|
organizationId: z.ZodNullable<z.ZodString>;
|
|
@@ -47,6 +56,18 @@ export declare const personRecordSchema: z.ZodObject<{
|
|
|
47
56
|
tags: z.ZodArray<z.ZodString>;
|
|
48
57
|
birthday: z.ZodNullable<z.ZodString>;
|
|
49
58
|
notes: z.ZodNullable<z.ZodString>;
|
|
59
|
+
accessibilityEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
60
|
+
enc: z.ZodString;
|
|
61
|
+
}, z.core.$strip>>>;
|
|
62
|
+
dietaryEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
63
|
+
enc: z.ZodString;
|
|
64
|
+
}, z.core.$strip>>>;
|
|
65
|
+
loyaltyEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
66
|
+
enc: z.ZodString;
|
|
67
|
+
}, z.core.$strip>>>;
|
|
68
|
+
insuranceEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
69
|
+
enc: z.ZodString;
|
|
70
|
+
}, z.core.$strip>>>;
|
|
50
71
|
createdAt: z.ZodString;
|
|
51
72
|
updatedAt: z.ZodString;
|
|
52
73
|
email: z.ZodNullable<z.ZodString>;
|
|
@@ -98,6 +119,18 @@ export declare const personListResponse: z.ZodObject<{
|
|
|
98
119
|
tags: z.ZodArray<z.ZodString>;
|
|
99
120
|
birthday: z.ZodNullable<z.ZodString>;
|
|
100
121
|
notes: z.ZodNullable<z.ZodString>;
|
|
122
|
+
accessibilityEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
123
|
+
enc: z.ZodString;
|
|
124
|
+
}, z.core.$strip>>>;
|
|
125
|
+
dietaryEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
126
|
+
enc: z.ZodString;
|
|
127
|
+
}, z.core.$strip>>>;
|
|
128
|
+
loyaltyEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
129
|
+
enc: z.ZodString;
|
|
130
|
+
}, z.core.$strip>>>;
|
|
131
|
+
insuranceEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
132
|
+
enc: z.ZodString;
|
|
133
|
+
}, z.core.$strip>>>;
|
|
101
134
|
createdAt: z.ZodString;
|
|
102
135
|
updatedAt: z.ZodString;
|
|
103
136
|
email: z.ZodNullable<z.ZodString>;
|
|
@@ -131,6 +164,18 @@ export declare const personSingleResponse: z.ZodObject<{
|
|
|
131
164
|
tags: z.ZodArray<z.ZodString>;
|
|
132
165
|
birthday: z.ZodNullable<z.ZodString>;
|
|
133
166
|
notes: z.ZodNullable<z.ZodString>;
|
|
167
|
+
accessibilityEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
168
|
+
enc: z.ZodString;
|
|
169
|
+
}, z.core.$strip>>>;
|
|
170
|
+
dietaryEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
171
|
+
enc: z.ZodString;
|
|
172
|
+
}, z.core.$strip>>>;
|
|
173
|
+
loyaltyEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
174
|
+
enc: z.ZodString;
|
|
175
|
+
}, z.core.$strip>>>;
|
|
176
|
+
insuranceEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
177
|
+
enc: z.ZodString;
|
|
178
|
+
}, z.core.$strip>>>;
|
|
134
179
|
createdAt: z.ZodString;
|
|
135
180
|
updatedAt: z.ZodString;
|
|
136
181
|
email: z.ZodNullable<z.ZodString>;
|
|
@@ -433,6 +478,114 @@ export declare const personNoteListResponse: z.ZodObject<{
|
|
|
433
478
|
createdAt: z.ZodString;
|
|
434
479
|
}, z.core.$strip>>;
|
|
435
480
|
}, z.core.$strip>;
|
|
481
|
+
export declare const personDocumentTypeSchema: z.ZodEnum<{
|
|
482
|
+
passport: "passport";
|
|
483
|
+
id_card: "id_card";
|
|
484
|
+
driver_license: "driver_license";
|
|
485
|
+
visa: "visa";
|
|
486
|
+
other: "other";
|
|
487
|
+
}>;
|
|
488
|
+
export type PersonDocumentType = z.infer<typeof personDocumentTypeSchema>;
|
|
489
|
+
export declare const personDocumentRecordSchema: z.ZodObject<{
|
|
490
|
+
id: z.ZodString;
|
|
491
|
+
personId: z.ZodString;
|
|
492
|
+
type: z.ZodEnum<{
|
|
493
|
+
passport: "passport";
|
|
494
|
+
id_card: "id_card";
|
|
495
|
+
driver_license: "driver_license";
|
|
496
|
+
visa: "visa";
|
|
497
|
+
other: "other";
|
|
498
|
+
}>;
|
|
499
|
+
numberEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
500
|
+
enc: z.ZodString;
|
|
501
|
+
}, z.core.$strip>>>;
|
|
502
|
+
issuingAuthority: z.ZodNullable<z.ZodString>;
|
|
503
|
+
issuingCountry: z.ZodNullable<z.ZodString>;
|
|
504
|
+
issueDate: z.ZodNullable<z.ZodString>;
|
|
505
|
+
expiryDate: z.ZodNullable<z.ZodString>;
|
|
506
|
+
attachmentId: z.ZodNullable<z.ZodString>;
|
|
507
|
+
isPrimary: z.ZodBoolean;
|
|
508
|
+
notes: z.ZodNullable<z.ZodString>;
|
|
509
|
+
metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
510
|
+
createdAt: z.ZodString;
|
|
511
|
+
updatedAt: z.ZodString;
|
|
512
|
+
}, z.core.$strip>;
|
|
513
|
+
export type PersonDocumentRecord = z.infer<typeof personDocumentRecordSchema>;
|
|
514
|
+
export declare const personDocumentListResponse: z.ZodObject<{
|
|
515
|
+
data: z.ZodArray<z.ZodObject<{
|
|
516
|
+
id: z.ZodString;
|
|
517
|
+
personId: z.ZodString;
|
|
518
|
+
type: z.ZodEnum<{
|
|
519
|
+
passport: "passport";
|
|
520
|
+
id_card: "id_card";
|
|
521
|
+
driver_license: "driver_license";
|
|
522
|
+
visa: "visa";
|
|
523
|
+
other: "other";
|
|
524
|
+
}>;
|
|
525
|
+
numberEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
526
|
+
enc: z.ZodString;
|
|
527
|
+
}, z.core.$strip>>>;
|
|
528
|
+
issuingAuthority: z.ZodNullable<z.ZodString>;
|
|
529
|
+
issuingCountry: z.ZodNullable<z.ZodString>;
|
|
530
|
+
issueDate: z.ZodNullable<z.ZodString>;
|
|
531
|
+
expiryDate: z.ZodNullable<z.ZodString>;
|
|
532
|
+
attachmentId: z.ZodNullable<z.ZodString>;
|
|
533
|
+
isPrimary: z.ZodBoolean;
|
|
534
|
+
notes: z.ZodNullable<z.ZodString>;
|
|
535
|
+
metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
536
|
+
createdAt: z.ZodString;
|
|
537
|
+
updatedAt: z.ZodString;
|
|
538
|
+
}, z.core.$strip>>;
|
|
539
|
+
}, z.core.$strip>;
|
|
540
|
+
export declare const personDocumentSingleResponse: z.ZodObject<{
|
|
541
|
+
data: z.ZodObject<{
|
|
542
|
+
id: z.ZodString;
|
|
543
|
+
personId: z.ZodString;
|
|
544
|
+
type: z.ZodEnum<{
|
|
545
|
+
passport: "passport";
|
|
546
|
+
id_card: "id_card";
|
|
547
|
+
driver_license: "driver_license";
|
|
548
|
+
visa: "visa";
|
|
549
|
+
other: "other";
|
|
550
|
+
}>;
|
|
551
|
+
numberEncrypted: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
552
|
+
enc: z.ZodString;
|
|
553
|
+
}, z.core.$strip>>>;
|
|
554
|
+
issuingAuthority: z.ZodNullable<z.ZodString>;
|
|
555
|
+
issuingCountry: z.ZodNullable<z.ZodString>;
|
|
556
|
+
issueDate: z.ZodNullable<z.ZodString>;
|
|
557
|
+
expiryDate: z.ZodNullable<z.ZodString>;
|
|
558
|
+
attachmentId: z.ZodNullable<z.ZodString>;
|
|
559
|
+
isPrimary: z.ZodBoolean;
|
|
560
|
+
notes: z.ZodNullable<z.ZodString>;
|
|
561
|
+
metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
562
|
+
createdAt: z.ZodString;
|
|
563
|
+
updatedAt: z.ZodString;
|
|
564
|
+
}, z.core.$strip>;
|
|
565
|
+
}, z.core.$strip>;
|
|
566
|
+
export declare const personTravelSnapshotSchema: z.ZodObject<{
|
|
567
|
+
dateOfBirth: z.ZodNullable<z.ZodString>;
|
|
568
|
+
dietaryRequirements: z.ZodNullable<z.ZodString>;
|
|
569
|
+
accessibilityNeeds: z.ZodNullable<z.ZodString>;
|
|
570
|
+
passportNumber: z.ZodNullable<z.ZodString>;
|
|
571
|
+
passportExpiry: z.ZodNullable<z.ZodString>;
|
|
572
|
+
passportIssuingCountry: z.ZodNullable<z.ZodString>;
|
|
573
|
+
passportIssuingAuthority: z.ZodNullable<z.ZodString>;
|
|
574
|
+
passportPersonDocumentId: z.ZodNullable<z.ZodString>;
|
|
575
|
+
}, z.core.$strip>;
|
|
576
|
+
export type PersonTravelSnapshotRecord = z.infer<typeof personTravelSnapshotSchema>;
|
|
577
|
+
export declare const personTravelSnapshotResponse: z.ZodObject<{
|
|
578
|
+
data: z.ZodObject<{
|
|
579
|
+
dateOfBirth: z.ZodNullable<z.ZodString>;
|
|
580
|
+
dietaryRequirements: z.ZodNullable<z.ZodString>;
|
|
581
|
+
accessibilityNeeds: z.ZodNullable<z.ZodString>;
|
|
582
|
+
passportNumber: z.ZodNullable<z.ZodString>;
|
|
583
|
+
passportExpiry: z.ZodNullable<z.ZodString>;
|
|
584
|
+
passportIssuingCountry: z.ZodNullable<z.ZodString>;
|
|
585
|
+
passportIssuingAuthority: z.ZodNullable<z.ZodString>;
|
|
586
|
+
passportPersonDocumentId: z.ZodNullable<z.ZodString>;
|
|
587
|
+
}, z.core.$strip>;
|
|
588
|
+
}, z.core.$strip>;
|
|
436
589
|
export declare const quoteRecordSchema: z.ZodObject<{
|
|
437
590
|
id: z.ZodString;
|
|
438
591
|
opportunityId: z.ZodString;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;;;;;iBAM7D,CAAA;AAEJ,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;;iBAA6B,CAAA;AAE3F,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;;iBAAsC,CAAA;AAElG,eAAO,MAAM,eAAe;;iBAAqC,CAAA;AAEjE;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -19,6 +19,12 @@ export const successEnvelope = z.object({ success: z.boolean() });
|
|
|
19
19
|
* consumers to depend on the Drizzle type inference chain. The hooks expose
|
|
20
20
|
* these as `z.infer` types; keep in sync with `packages/crm/src/schema.ts`.
|
|
21
21
|
*/
|
|
22
|
+
/**
|
|
23
|
+
* KMS-encrypted envelope shape — `{ enc: base64 }`. Mirrors the
|
|
24
|
+
* `kmsEnvelopeSchema` in `@voyantjs/db/schema/iam/kms` (kept inline
|
|
25
|
+
* here so crm-react has no server-side schema dep).
|
|
26
|
+
*/
|
|
27
|
+
export const kmsEnvelopeRecordSchema = z.object({ enc: z.string().min(1) }).nullable();
|
|
22
28
|
export const personRecordSchema = z.object({
|
|
23
29
|
id: z.string(),
|
|
24
30
|
organizationId: z.string().nullable(),
|
|
@@ -37,6 +43,11 @@ export const personRecordSchema = z.object({
|
|
|
37
43
|
tags: z.array(z.string()),
|
|
38
44
|
birthday: z.string().nullable(),
|
|
39
45
|
notes: z.string().nullable(),
|
|
46
|
+
// Encrypted PII slots (canonical store; documents live in /documents)
|
|
47
|
+
accessibilityEncrypted: kmsEnvelopeRecordSchema.optional(),
|
|
48
|
+
dietaryEncrypted: kmsEnvelopeRecordSchema.optional(),
|
|
49
|
+
loyaltyEncrypted: kmsEnvelopeRecordSchema.optional(),
|
|
50
|
+
insuranceEncrypted: kmsEnvelopeRecordSchema.optional(),
|
|
40
51
|
createdAt: z.string(),
|
|
41
52
|
updatedAt: z.string(),
|
|
42
53
|
// Hydrated identity fields
|
|
@@ -154,6 +165,42 @@ export const personNoteRecordSchema = z.object({
|
|
|
154
165
|
createdAt: z.string(),
|
|
155
166
|
});
|
|
156
167
|
export const personNoteListResponse = listEnvelope(personNoteRecordSchema);
|
|
168
|
+
export const personDocumentTypeSchema = z.enum([
|
|
169
|
+
"passport",
|
|
170
|
+
"id_card",
|
|
171
|
+
"driver_license",
|
|
172
|
+
"visa",
|
|
173
|
+
"other",
|
|
174
|
+
]);
|
|
175
|
+
export const personDocumentRecordSchema = z.object({
|
|
176
|
+
id: z.string(),
|
|
177
|
+
personId: z.string(),
|
|
178
|
+
type: personDocumentTypeSchema,
|
|
179
|
+
numberEncrypted: kmsEnvelopeRecordSchema.optional(),
|
|
180
|
+
issuingAuthority: z.string().nullable(),
|
|
181
|
+
issuingCountry: z.string().nullable(),
|
|
182
|
+
issueDate: z.string().nullable(),
|
|
183
|
+
expiryDate: z.string().nullable(),
|
|
184
|
+
attachmentId: z.string().nullable(),
|
|
185
|
+
isPrimary: z.boolean(),
|
|
186
|
+
notes: z.string().nullable(),
|
|
187
|
+
metadata: z.record(z.string(), z.unknown()).nullable(),
|
|
188
|
+
createdAt: z.string(),
|
|
189
|
+
updatedAt: z.string(),
|
|
190
|
+
});
|
|
191
|
+
export const personDocumentListResponse = listEnvelope(personDocumentRecordSchema);
|
|
192
|
+
export const personDocumentSingleResponse = singleEnvelope(personDocumentRecordSchema);
|
|
193
|
+
export const personTravelSnapshotSchema = z.object({
|
|
194
|
+
dateOfBirth: z.string().nullable(),
|
|
195
|
+
dietaryRequirements: z.string().nullable(),
|
|
196
|
+
accessibilityNeeds: z.string().nullable(),
|
|
197
|
+
passportNumber: z.string().nullable(),
|
|
198
|
+
passportExpiry: z.string().nullable(),
|
|
199
|
+
passportIssuingCountry: z.string().nullable(),
|
|
200
|
+
passportIssuingAuthority: z.string().nullable(),
|
|
201
|
+
passportPersonDocumentId: z.string().nullable(),
|
|
202
|
+
});
|
|
203
|
+
export const personTravelSnapshotResponse = z.object({ data: personTravelSnapshotSchema });
|
|
157
204
|
export const quoteRecordSchema = z.object({
|
|
158
205
|
id: z.string(),
|
|
159
206
|
opportunityId: z.string(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/crm-react",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react": "^19.0.0",
|
|
42
42
|
"react-dom": "^19.0.0",
|
|
43
43
|
"zod": "^4.0.0",
|
|
44
|
-
"@voyantjs/crm": "0.26.
|
|
44
|
+
"@voyantjs/crm": "0.26.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@tanstack/react-query": "^5.96.2",
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
"typescript": "^6.0.2",
|
|
53
53
|
"vitest": "^4.1.2",
|
|
54
54
|
"zod": "^4.3.6",
|
|
55
|
-
"@voyantjs/crm": "0.26.
|
|
56
|
-
"@voyantjs/react": "0.26.
|
|
55
|
+
"@voyantjs/crm": "0.26.2",
|
|
56
|
+
"@voyantjs/react": "0.26.2",
|
|
57
57
|
"@voyantjs/voyant-typescript-config": "0.1.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@voyantjs/react": "0.26.
|
|
60
|
+
"@voyantjs/react": "0.26.2"
|
|
61
61
|
},
|
|
62
62
|
"files": [
|
|
63
63
|
"dist"
|