@blazeo.com/calendar-client 1.0.50 → 1.0.52
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/index.d.ts +20 -4
- package/dist/index.js +32 -4
- package/dist/index.mjs +32 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -225,6 +225,13 @@ export type PhoneNumberPurchaseResult = {
|
|
|
225
225
|
Success?: boolean;
|
|
226
226
|
};
|
|
227
227
|
|
|
228
|
+
export type PhoneNumberReleaseData = {
|
|
229
|
+
company_key?: string;
|
|
230
|
+
phone_number?: string;
|
|
231
|
+
released_from_twilio?: boolean;
|
|
232
|
+
cleared_local_state?: boolean;
|
|
233
|
+
};
|
|
234
|
+
|
|
228
235
|
export const CompanyModel: {
|
|
229
236
|
get(companyKey: string): Promise<unknown>;
|
|
230
237
|
getAll(): Promise<unknown[] | null>;
|
|
@@ -234,6 +241,11 @@ export const CompanyModel: {
|
|
|
234
241
|
data?: PhoneNumberPurchaseResult;
|
|
235
242
|
message?: string;
|
|
236
243
|
}>;
|
|
244
|
+
releasePhoneNumber(companyKey: string, phoneNumber?: string): Promise<{
|
|
245
|
+
status: string;
|
|
246
|
+
data?: PhoneNumberReleaseData;
|
|
247
|
+
message?: string;
|
|
248
|
+
}>;
|
|
237
249
|
create(snapshot: object, options?: { env?: object }): unknown;
|
|
238
250
|
};
|
|
239
251
|
export const AssetModel: {
|
|
@@ -338,26 +350,30 @@ export const LeadModel: {
|
|
|
338
350
|
data?: { userId?: string; columns?: string[]; isDefault?: boolean };
|
|
339
351
|
message?: string;
|
|
340
352
|
}>;
|
|
341
|
-
/** Requires companyKey and at least one of email or phone. */
|
|
353
|
+
/** Requires firstName/name, leadType, companyKey and at least one of email or phone. */
|
|
342
354
|
createLead(payload: {
|
|
343
355
|
companyKey: string;
|
|
344
356
|
email?: string;
|
|
345
357
|
phone?: string;
|
|
346
358
|
name?: string;
|
|
359
|
+
firstName?: string;
|
|
360
|
+
first_name?: string;
|
|
347
361
|
source?: string;
|
|
348
|
-
leadType
|
|
362
|
+
leadType: 'sales' | 'service' | 'others' | number;
|
|
349
363
|
referrerLink?: string;
|
|
350
364
|
description?: string;
|
|
351
365
|
}): Promise<{ status: string; data?: unknown; message?: string } | null>;
|
|
352
|
-
/** Requires leadId; when email or phone is included, at least one must be non-empty. */
|
|
366
|
+
/** Requires leadId, firstName/name and leadType; when email or phone is included, at least one must be non-empty. */
|
|
353
367
|
updateLead(payload: {
|
|
354
368
|
leadId: string;
|
|
355
369
|
email?: string;
|
|
356
370
|
companyKey?: string;
|
|
357
371
|
name?: string;
|
|
372
|
+
firstName?: string;
|
|
373
|
+
first_name?: string;
|
|
358
374
|
phone?: string;
|
|
359
375
|
source?: string;
|
|
360
|
-
leadType
|
|
376
|
+
leadType: 'sales' | 'service' | 'others' | number;
|
|
361
377
|
referrerLink?: string;
|
|
362
378
|
description?: string;
|
|
363
379
|
}): Promise<unknown>;
|
package/dist/index.js
CHANGED
|
@@ -2037,6 +2037,12 @@ CompanyModel.purchasePhoneNumber = async (companyKey, companyId) => {
|
|
|
2037
2037
|
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
2038
2038
|
return reqGet("/Company/PhoneNumber/Purchase", { company_key: companyKey, company_id: companyId });
|
|
2039
2039
|
};
|
|
2040
|
+
CompanyModel.releasePhoneNumber = async (companyKey, phoneNumber) => {
|
|
2041
|
+
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
2042
|
+
const query = { company_key: companyKey };
|
|
2043
|
+
if (phoneNumber) query.phone_number = phoneNumber;
|
|
2044
|
+
return reqGet("/Company/PhoneNumber/Release", query);
|
|
2045
|
+
};
|
|
2040
2046
|
var Company_default = CompanyModel;
|
|
2041
2047
|
|
|
2042
2048
|
// src/models/appointment/Asset.js
|
|
@@ -2578,9 +2584,24 @@ function pickLeadCreateContact(payload) {
|
|
|
2578
2584
|
const companyKey = String(p.companyKey ?? p.company_key ?? p.CompanyKey ?? "").trim();
|
|
2579
2585
|
return { email, phone, companyKey };
|
|
2580
2586
|
}
|
|
2587
|
+
function pickLeadRequiredFields(payload) {
|
|
2588
|
+
const p = payload ?? {};
|
|
2589
|
+
const firstName = String(
|
|
2590
|
+
p.firstName ?? p.first_name ?? p.name ?? p.Name ?? ""
|
|
2591
|
+
).trim();
|
|
2592
|
+
const leadType = p.leadType ?? p.lead_type ?? p.LeadType ?? null;
|
|
2593
|
+
return { firstName, leadType };
|
|
2594
|
+
}
|
|
2595
|
+
function hasLeadTypeValue(leadType) {
|
|
2596
|
+
if (leadType == null) return false;
|
|
2597
|
+
return !(typeof leadType === "string" && leadType.trim() === "");
|
|
2598
|
+
}
|
|
2581
2599
|
function validateLeadCreatePayload(payload) {
|
|
2582
2600
|
const { email, phone, companyKey } = pickLeadCreateContact(payload);
|
|
2601
|
+
const { firstName, leadType } = pickLeadRequiredFields(payload);
|
|
2583
2602
|
if (!companyKey) return { ok: false, message: "companyKey is required" };
|
|
2603
|
+
if (!firstName) return { ok: false, message: "First name is mandatory" };
|
|
2604
|
+
if (!hasLeadTypeValue(leadType)) return { ok: false, message: "Lead type is mandatory" };
|
|
2584
2605
|
if (!email && !phone) return { ok: false, message: "email or phone is required" };
|
|
2585
2606
|
return { ok: true };
|
|
2586
2607
|
}
|
|
@@ -2588,6 +2609,9 @@ function validateLeadUpdatePayload(payload) {
|
|
|
2588
2609
|
const p = payload ?? {};
|
|
2589
2610
|
const leadId = String(p.leadId ?? p.lead_id ?? p.LeadId ?? "").trim();
|
|
2590
2611
|
if (!leadId) return { ok: false, message: "leadId required" };
|
|
2612
|
+
const { firstName, leadType } = pickLeadRequiredFields(payload);
|
|
2613
|
+
if (!firstName) return { ok: false, message: "First name is mandatory" };
|
|
2614
|
+
if (!hasLeadTypeValue(leadType)) return { ok: false, message: "Lead type is mandatory" };
|
|
2591
2615
|
const hasEmailKey = "email" in p || "Email" in p;
|
|
2592
2616
|
const hasPhoneKey = "phone" in p || "Phone" in p;
|
|
2593
2617
|
if (hasEmailKey || hasPhoneKey) {
|
|
@@ -2685,12 +2709,14 @@ var LeadModel = import_mobx_state_tree20.types.model("Lead", {
|
|
|
2685
2709
|
async getColumnSelection(userId) {
|
|
2686
2710
|
return LeadModel.getColumnSelection(userId);
|
|
2687
2711
|
},
|
|
2688
|
-
/** POST /lead/create – create this lead (requires companyKey and email
|
|
2712
|
+
/** POST /lead/create – create this lead (requires firstName, leadType, companyKey and email/phone) */
|
|
2689
2713
|
async createLead() {
|
|
2690
2714
|
const validation = validateLeadCreatePayload({
|
|
2691
2715
|
email: self.email,
|
|
2692
2716
|
phone: self.phone,
|
|
2693
|
-
companyKey: self.companyKey
|
|
2717
|
+
companyKey: self.companyKey,
|
|
2718
|
+
firstName: self.name,
|
|
2719
|
+
leadType: self.leadType
|
|
2694
2720
|
});
|
|
2695
2721
|
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2696
2722
|
const payload = {
|
|
@@ -2709,7 +2735,7 @@ var LeadModel = import_mobx_state_tree20.types.model("Lead", {
|
|
|
2709
2735
|
}
|
|
2710
2736
|
return res;
|
|
2711
2737
|
},
|
|
2712
|
-
/** POST /lead/update – update this lead (requires
|
|
2738
|
+
/** POST /lead/update – update this lead (requires firstName and leadType) */
|
|
2713
2739
|
async updateLead() {
|
|
2714
2740
|
if (!self.leadId || self.leadId === "new") {
|
|
2715
2741
|
return { status: "failure", message: "leadId required" };
|
|
@@ -2717,7 +2743,9 @@ var LeadModel = import_mobx_state_tree20.types.model("Lead", {
|
|
|
2717
2743
|
const validation = validateLeadUpdatePayload({
|
|
2718
2744
|
leadId: self.leadId,
|
|
2719
2745
|
email: self.email,
|
|
2720
|
-
phone: self.phone
|
|
2746
|
+
phone: self.phone,
|
|
2747
|
+
firstName: self.name,
|
|
2748
|
+
leadType: self.leadType
|
|
2721
2749
|
});
|
|
2722
2750
|
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2723
2751
|
const payload = {
|
package/dist/index.mjs
CHANGED
|
@@ -1962,6 +1962,12 @@ CompanyModel.purchasePhoneNumber = async (companyKey, companyId) => {
|
|
|
1962
1962
|
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
1963
1963
|
return reqGet("/Company/PhoneNumber/Purchase", { company_key: companyKey, company_id: companyId });
|
|
1964
1964
|
};
|
|
1965
|
+
CompanyModel.releasePhoneNumber = async (companyKey, phoneNumber) => {
|
|
1966
|
+
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
1967
|
+
const query = { company_key: companyKey };
|
|
1968
|
+
if (phoneNumber) query.phone_number = phoneNumber;
|
|
1969
|
+
return reqGet("/Company/PhoneNumber/Release", query);
|
|
1970
|
+
};
|
|
1965
1971
|
var Company_default = CompanyModel;
|
|
1966
1972
|
|
|
1967
1973
|
// src/models/appointment/Asset.js
|
|
@@ -2503,9 +2509,24 @@ function pickLeadCreateContact(payload) {
|
|
|
2503
2509
|
const companyKey = String(p.companyKey ?? p.company_key ?? p.CompanyKey ?? "").trim();
|
|
2504
2510
|
return { email, phone, companyKey };
|
|
2505
2511
|
}
|
|
2512
|
+
function pickLeadRequiredFields(payload) {
|
|
2513
|
+
const p = payload ?? {};
|
|
2514
|
+
const firstName = String(
|
|
2515
|
+
p.firstName ?? p.first_name ?? p.name ?? p.Name ?? ""
|
|
2516
|
+
).trim();
|
|
2517
|
+
const leadType = p.leadType ?? p.lead_type ?? p.LeadType ?? null;
|
|
2518
|
+
return { firstName, leadType };
|
|
2519
|
+
}
|
|
2520
|
+
function hasLeadTypeValue(leadType) {
|
|
2521
|
+
if (leadType == null) return false;
|
|
2522
|
+
return !(typeof leadType === "string" && leadType.trim() === "");
|
|
2523
|
+
}
|
|
2506
2524
|
function validateLeadCreatePayload(payload) {
|
|
2507
2525
|
const { email, phone, companyKey } = pickLeadCreateContact(payload);
|
|
2526
|
+
const { firstName, leadType } = pickLeadRequiredFields(payload);
|
|
2508
2527
|
if (!companyKey) return { ok: false, message: "companyKey is required" };
|
|
2528
|
+
if (!firstName) return { ok: false, message: "First name is mandatory" };
|
|
2529
|
+
if (!hasLeadTypeValue(leadType)) return { ok: false, message: "Lead type is mandatory" };
|
|
2509
2530
|
if (!email && !phone) return { ok: false, message: "email or phone is required" };
|
|
2510
2531
|
return { ok: true };
|
|
2511
2532
|
}
|
|
@@ -2513,6 +2534,9 @@ function validateLeadUpdatePayload(payload) {
|
|
|
2513
2534
|
const p = payload ?? {};
|
|
2514
2535
|
const leadId = String(p.leadId ?? p.lead_id ?? p.LeadId ?? "").trim();
|
|
2515
2536
|
if (!leadId) return { ok: false, message: "leadId required" };
|
|
2537
|
+
const { firstName, leadType } = pickLeadRequiredFields(payload);
|
|
2538
|
+
if (!firstName) return { ok: false, message: "First name is mandatory" };
|
|
2539
|
+
if (!hasLeadTypeValue(leadType)) return { ok: false, message: "Lead type is mandatory" };
|
|
2516
2540
|
const hasEmailKey = "email" in p || "Email" in p;
|
|
2517
2541
|
const hasPhoneKey = "phone" in p || "Phone" in p;
|
|
2518
2542
|
if (hasEmailKey || hasPhoneKey) {
|
|
@@ -2610,12 +2634,14 @@ var LeadModel = types20.model("Lead", {
|
|
|
2610
2634
|
async getColumnSelection(userId) {
|
|
2611
2635
|
return LeadModel.getColumnSelection(userId);
|
|
2612
2636
|
},
|
|
2613
|
-
/** POST /lead/create – create this lead (requires companyKey and email
|
|
2637
|
+
/** POST /lead/create – create this lead (requires firstName, leadType, companyKey and email/phone) */
|
|
2614
2638
|
async createLead() {
|
|
2615
2639
|
const validation = validateLeadCreatePayload({
|
|
2616
2640
|
email: self.email,
|
|
2617
2641
|
phone: self.phone,
|
|
2618
|
-
companyKey: self.companyKey
|
|
2642
|
+
companyKey: self.companyKey,
|
|
2643
|
+
firstName: self.name,
|
|
2644
|
+
leadType: self.leadType
|
|
2619
2645
|
});
|
|
2620
2646
|
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2621
2647
|
const payload = {
|
|
@@ -2634,7 +2660,7 @@ var LeadModel = types20.model("Lead", {
|
|
|
2634
2660
|
}
|
|
2635
2661
|
return res;
|
|
2636
2662
|
},
|
|
2637
|
-
/** POST /lead/update – update this lead (requires
|
|
2663
|
+
/** POST /lead/update – update this lead (requires firstName and leadType) */
|
|
2638
2664
|
async updateLead() {
|
|
2639
2665
|
if (!self.leadId || self.leadId === "new") {
|
|
2640
2666
|
return { status: "failure", message: "leadId required" };
|
|
@@ -2642,7 +2668,9 @@ var LeadModel = types20.model("Lead", {
|
|
|
2642
2668
|
const validation = validateLeadUpdatePayload({
|
|
2643
2669
|
leadId: self.leadId,
|
|
2644
2670
|
email: self.email,
|
|
2645
|
-
phone: self.phone
|
|
2671
|
+
phone: self.phone,
|
|
2672
|
+
firstName: self.name,
|
|
2673
|
+
leadType: self.leadType
|
|
2646
2674
|
});
|
|
2647
2675
|
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2648
2676
|
const payload = {
|