contacts: owners' contacts on their desk phones, copy builtin contacts to Contrack (C6)
Spec 11 §6.2: a phone's directory is the extensions, its owner's own contacts (accepted shares included), then the company's, in both modes. In Contrack mode, contacts from before Contrack are offered for copying (contrack.toCopy, POST …/copy-to-contrack: one Contrack bulk import, skipping what's already there; the builtin rows stay). Tested against a fake and a real Contrack 2.0.2.
This commit is contained in:
1 parent
e6a1373f36
commit
604e40adf1
16 files changed
+294
-15
No files matched your search
@@ -53,9 +53,18 @@ export type ContactBookDto = {
|
||||
items: ContactDto[];
|
||||
provider: 'builtin' | 'contrack';
|
||||
/** Contrack mode: the address people open, and whether this book's token works. */
|
||||
contrack: { publicUrl: string | null; connected: boolean; error: string | null } | null;
|
||||
contrack: {
|
||||
publicUrl: string | null;
|
||||
connected: boolean;
|
||||
error: string | null;
|
||||
/** Contacts still only in the builtin book (from before Contrack): "Copy them" (11 §5). */
|
||||
toCopy: number;
|
||||
} | null;
|
||||
};
|
||||
|
||||
/** POST …/contacts/copy-to-contrack (11 §5, C6). */
|
||||
export type ContactCopyResult = { added: number; duplicates: number; failed: number };
|
||||
|
||||
/** POST …/contacts/import: the files' text, read in the browser. */
|
||||
export const ContactImportSchema = z.object({
|
||||
files: z
|
||||
|
||||
Reference in new issue
Block a user