@blazeo.com/calendar-client 1.0.14 → 1.0.16

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 CHANGED
@@ -138,6 +138,26 @@ export const LeadModel: {
138
138
  getRaw(leadId: string): Promise<{ status: string; data?: unknown; message?: string }>;
139
139
  get(leadId: string): Promise<unknown>;
140
140
  getByEmail(email: string, companyKey: string): Promise<unknown>;
141
+ createLead(payload: {
142
+ email: string;
143
+ companyKey: string;
144
+ name?: string;
145
+ phone?: string;
146
+ source?: string;
147
+ leadType?: 'sales' | 'service' | 'others' | number;
148
+ referrerLink?: string;
149
+ }): Promise<unknown>;
150
+ updateLead(payload: {
151
+ leadId: string;
152
+ email?: string;
153
+ companyKey?: string;
154
+ name?: string;
155
+ phone?: string;
156
+ source?: string;
157
+ leadType?: 'sales' | 'service' | 'others' | number;
158
+ referrerLink?: string;
159
+ }): Promise<unknown>;
160
+ deleteLead(leadId: string): Promise<{ status: string; data?: unknown; message?: string }>;
141
161
  getByCompany(
142
162
  companyKey: string,
143
163
  opts?: {
package/dist/index.js CHANGED
@@ -1963,6 +1963,17 @@ var import_mobx_state_tree17 = require("mobx-state-tree");
1963
1963
  function mapLeadFromApi(d) {
1964
1964
  if (!d) return d;
1965
1965
  const pick = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
1966
+ const leadTypeRaw = pick("leadType", "LeadType", "lead_type");
1967
+ let leadType = 2;
1968
+ if (typeof leadTypeRaw === "number" && Number.isFinite(leadTypeRaw)) {
1969
+ leadType = leadTypeRaw;
1970
+ } else if (typeof leadTypeRaw === "string" && leadTypeRaw.trim() !== "") {
1971
+ const lowered = leadTypeRaw.trim().toLowerCase();
1972
+ if (lowered === "sales") leadType = 0;
1973
+ else if (lowered === "service") leadType = 1;
1974
+ else if (lowered === "others") leadType = 2;
1975
+ else if (!Number.isNaN(Number(leadTypeRaw))) leadType = Number(leadTypeRaw);
1976
+ }
1966
1977
  return {
1967
1978
  id: pick("id", "Id") ?? null,
1968
1979
  leadId: pick("leadId", "LeadId", "lead_id") ?? "",
@@ -1971,6 +1982,8 @@ function mapLeadFromApi(d) {
1971
1982
  phone: pick("phone", "Phone") ?? "",
1972
1983
  companyKey: pick("companyKey", "CompanyKey", "company_key") ?? "",
1973
1984
  source: pick("source", "Source") ?? "",
1985
+ leadType,
1986
+ referrerLink: pick("referrerLink", "ReferrerLink", "referrer_link") ?? "",
1974
1987
  createdOn: pick("createdOn", "CreatedOn", "created_on") ?? null,
1975
1988
  modifiedOn: pick("modifiedOn", "ModifiedOn", "modified_on") ?? null
1976
1989
  };
@@ -1983,10 +1996,12 @@ var LeadModel = import_mobx_state_tree17.types.model("Lead", {
1983
1996
  phone: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
1984
1997
  companyKey: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
1985
1998
  source: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
1999
+ leadType: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.number, 2),
2000
+ referrerLink: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
1986
2001
  createdOn: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null),
1987
2002
  modifiedOn: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null)
1988
2003
  }).actions((self) => {
1989
- const { reqGet } = createRequestHelpers(self, import_mobx_state_tree17.getEnv);
2004
+ const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree17.getEnv);
1990
2005
  return {
1991
2006
  /** GET /lead/get – fetch this lead by leadId */
1992
2007
  async get() {
@@ -2012,6 +2027,51 @@ var LeadModel = import_mobx_state_tree17.types.model("Lead", {
2012
2027
  async getByCompany(opts = {}) {
2013
2028
  if (!self.companyKey) return null;
2014
2029
  return LeadModel.getByCompany(self.companyKey, opts);
2030
+ },
2031
+ /** POST /lead/create – create this lead */
2032
+ async createLead() {
2033
+ const payload = {
2034
+ email: self.email,
2035
+ name: self.name,
2036
+ phone: self.phone,
2037
+ companyKey: self.companyKey,
2038
+ source: self.source,
2039
+ leadType: self.leadType,
2040
+ referrerLink: self.referrerLink
2041
+ };
2042
+ const res = await reqPost("/lead/create", payload);
2043
+ if (res.status === "success" && res.data) {
2044
+ (0, import_mobx_state_tree17.applySnapshot)(self, mapLeadFromApi(res.data));
2045
+ }
2046
+ return res;
2047
+ },
2048
+ /** POST /lead/update – update this lead */
2049
+ async updateLead() {
2050
+ if (!self.leadId || self.leadId === "new") {
2051
+ return { status: "failure", message: "leadId required" };
2052
+ }
2053
+ const payload = {
2054
+ leadId: self.leadId,
2055
+ email: self.email,
2056
+ name: self.name,
2057
+ phone: self.phone,
2058
+ companyKey: self.companyKey,
2059
+ source: self.source,
2060
+ leadType: self.leadType,
2061
+ referrerLink: self.referrerLink
2062
+ };
2063
+ const res = await reqPost("/lead/update", payload);
2064
+ if (res.status === "success" && res.data) {
2065
+ (0, import_mobx_state_tree17.applySnapshot)(self, mapLeadFromApi(res.data));
2066
+ }
2067
+ return res;
2068
+ },
2069
+ /** GET /lead/delete – delete this lead by leadId */
2070
+ async deleteLead() {
2071
+ if (!self.leadId || self.leadId === "new") {
2072
+ return { status: "failure", message: "leadId required" };
2073
+ }
2074
+ return reqGet("/lead/delete", { lead_id: self.leadId });
2015
2075
  }
2016
2076
  };
2017
2077
  });
@@ -2066,10 +2126,31 @@ LeadModel.getByCompany = async (companyKey, opts = {}) => {
2066
2126
  }
2067
2127
  return null;
2068
2128
  };
2069
- LeadModel.getSources = async () => {
2129
+ LeadModel.createLead = async (payload) => {
2130
+ const { reqPost } = createRequestHelpersFromEnv(getConfig());
2131
+ const res = await reqPost("/lead/create", payload);
2132
+ if (res.status === "success" && res.data) {
2133
+ return LeadModel.create(mapLeadFromApi(res.data), { env: getConfig() });
2134
+ }
2135
+ return null;
2136
+ };
2137
+ LeadModel.updateLead = async (payload) => {
2138
+ const { reqPost } = createRequestHelpersFromEnv(getConfig());
2139
+ const res = await reqPost("/lead/update", payload);
2140
+ if (res.status === "success" && res.data) {
2141
+ return LeadModel.create(mapLeadFromApi(res.data), { env: getConfig() });
2142
+ }
2143
+ return null;
2144
+ };
2145
+ LeadModel.deleteLead = async (leadId) => {
2146
+ const { reqGet } = createRequestHelpersFromEnv(getConfig());
2147
+ return reqGet("/lead/delete", { lead_id: leadId });
2148
+ };
2149
+ LeadModel.getSources = async (companyKey) => {
2070
2150
  var _a;
2151
+ if (!companyKey || String(companyKey).trim() === "") return [];
2071
2152
  const { reqGet } = createRequestHelpersFromEnv(getConfig());
2072
- const res = await reqGet("/lead/sources/get");
2153
+ const res = await reqGet("/lead/sources/get", { company_key: String(companyKey).trim() });
2073
2154
  if (res.status === "success") {
2074
2155
  const sources = Array.isArray(res.data) ? res.data : Array.isArray((_a = res.data) == null ? void 0 : _a.sources) ? res.data.sources : null;
2075
2156
  if (sources) {
package/dist/index.mjs CHANGED
@@ -1910,6 +1910,17 @@ import { types as types17, getEnv as getEnv7, applySnapshot as applySnapshot7, g
1910
1910
  function mapLeadFromApi(d) {
1911
1911
  if (!d) return d;
1912
1912
  const pick = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
1913
+ const leadTypeRaw = pick("leadType", "LeadType", "lead_type");
1914
+ let leadType = 2;
1915
+ if (typeof leadTypeRaw === "number" && Number.isFinite(leadTypeRaw)) {
1916
+ leadType = leadTypeRaw;
1917
+ } else if (typeof leadTypeRaw === "string" && leadTypeRaw.trim() !== "") {
1918
+ const lowered = leadTypeRaw.trim().toLowerCase();
1919
+ if (lowered === "sales") leadType = 0;
1920
+ else if (lowered === "service") leadType = 1;
1921
+ else if (lowered === "others") leadType = 2;
1922
+ else if (!Number.isNaN(Number(leadTypeRaw))) leadType = Number(leadTypeRaw);
1923
+ }
1913
1924
  return {
1914
1925
  id: pick("id", "Id") ?? null,
1915
1926
  leadId: pick("leadId", "LeadId", "lead_id") ?? "",
@@ -1918,6 +1929,8 @@ function mapLeadFromApi(d) {
1918
1929
  phone: pick("phone", "Phone") ?? "",
1919
1930
  companyKey: pick("companyKey", "CompanyKey", "company_key") ?? "",
1920
1931
  source: pick("source", "Source") ?? "",
1932
+ leadType,
1933
+ referrerLink: pick("referrerLink", "ReferrerLink", "referrer_link") ?? "",
1921
1934
  createdOn: pick("createdOn", "CreatedOn", "created_on") ?? null,
1922
1935
  modifiedOn: pick("modifiedOn", "ModifiedOn", "modified_on") ?? null
1923
1936
  };
@@ -1930,10 +1943,12 @@ var LeadModel = types17.model("Lead", {
1930
1943
  phone: types17.optional(types17.string, ""),
1931
1944
  companyKey: types17.optional(types17.string, ""),
1932
1945
  source: types17.optional(types17.string, ""),
1946
+ leadType: types17.optional(types17.number, 2),
1947
+ referrerLink: types17.optional(types17.string, ""),
1933
1948
  createdOn: types17.optional(types17.maybeNull(types17.string), null),
1934
1949
  modifiedOn: types17.optional(types17.maybeNull(types17.string), null)
1935
1950
  }).actions((self) => {
1936
- const { reqGet } = createRequestHelpers(self, getEnv7);
1951
+ const { reqGet, reqPost } = createRequestHelpers(self, getEnv7);
1937
1952
  return {
1938
1953
  /** GET /lead/get – fetch this lead by leadId */
1939
1954
  async get() {
@@ -1959,6 +1974,51 @@ var LeadModel = types17.model("Lead", {
1959
1974
  async getByCompany(opts = {}) {
1960
1975
  if (!self.companyKey) return null;
1961
1976
  return LeadModel.getByCompany(self.companyKey, opts);
1977
+ },
1978
+ /** POST /lead/create – create this lead */
1979
+ async createLead() {
1980
+ const payload = {
1981
+ email: self.email,
1982
+ name: self.name,
1983
+ phone: self.phone,
1984
+ companyKey: self.companyKey,
1985
+ source: self.source,
1986
+ leadType: self.leadType,
1987
+ referrerLink: self.referrerLink
1988
+ };
1989
+ const res = await reqPost("/lead/create", payload);
1990
+ if (res.status === "success" && res.data) {
1991
+ applySnapshot7(self, mapLeadFromApi(res.data));
1992
+ }
1993
+ return res;
1994
+ },
1995
+ /** POST /lead/update – update this lead */
1996
+ async updateLead() {
1997
+ if (!self.leadId || self.leadId === "new") {
1998
+ return { status: "failure", message: "leadId required" };
1999
+ }
2000
+ const payload = {
2001
+ leadId: self.leadId,
2002
+ email: self.email,
2003
+ name: self.name,
2004
+ phone: self.phone,
2005
+ companyKey: self.companyKey,
2006
+ source: self.source,
2007
+ leadType: self.leadType,
2008
+ referrerLink: self.referrerLink
2009
+ };
2010
+ const res = await reqPost("/lead/update", payload);
2011
+ if (res.status === "success" && res.data) {
2012
+ applySnapshot7(self, mapLeadFromApi(res.data));
2013
+ }
2014
+ return res;
2015
+ },
2016
+ /** GET /lead/delete – delete this lead by leadId */
2017
+ async deleteLead() {
2018
+ if (!self.leadId || self.leadId === "new") {
2019
+ return { status: "failure", message: "leadId required" };
2020
+ }
2021
+ return reqGet("/lead/delete", { lead_id: self.leadId });
1962
2022
  }
1963
2023
  };
1964
2024
  });
@@ -2013,10 +2073,31 @@ LeadModel.getByCompany = async (companyKey, opts = {}) => {
2013
2073
  }
2014
2074
  return null;
2015
2075
  };
2016
- LeadModel.getSources = async () => {
2076
+ LeadModel.createLead = async (payload) => {
2077
+ const { reqPost } = createRequestHelpersFromEnv(getConfig());
2078
+ const res = await reqPost("/lead/create", payload);
2079
+ if (res.status === "success" && res.data) {
2080
+ return LeadModel.create(mapLeadFromApi(res.data), { env: getConfig() });
2081
+ }
2082
+ return null;
2083
+ };
2084
+ LeadModel.updateLead = async (payload) => {
2085
+ const { reqPost } = createRequestHelpersFromEnv(getConfig());
2086
+ const res = await reqPost("/lead/update", payload);
2087
+ if (res.status === "success" && res.data) {
2088
+ return LeadModel.create(mapLeadFromApi(res.data), { env: getConfig() });
2089
+ }
2090
+ return null;
2091
+ };
2092
+ LeadModel.deleteLead = async (leadId) => {
2093
+ const { reqGet } = createRequestHelpersFromEnv(getConfig());
2094
+ return reqGet("/lead/delete", { lead_id: leadId });
2095
+ };
2096
+ LeadModel.getSources = async (companyKey) => {
2017
2097
  var _a;
2098
+ if (!companyKey || String(companyKey).trim() === "") return [];
2018
2099
  const { reqGet } = createRequestHelpersFromEnv(getConfig());
2019
- const res = await reqGet("/lead/sources/get");
2100
+ const res = await reqGet("/lead/sources/get", { company_key: String(companyKey).trim() });
2020
2101
  if (res.status === "success") {
2021
2102
  const sources = Array.isArray(res.data) ? res.data : Array.isArray((_a = res.data) == null ? void 0 : _a.sources) ? res.data.sources : null;
2022
2103
  if (sources) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blazeo.com/calendar-client",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Blazeo Calendar / Appointment API client with MobX State Tree models",
5
5
  "exports": {
6
6
  ".": {