@23blocks/block-crm 1.0.2 → 1.0.4

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.
Files changed (100) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +897 -0
  3. package/dist/src/index.d.ts +7 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/lib/block-crm.d.ts +2 -0
  6. package/dist/src/lib/block-crm.d.ts.map +1 -0
  7. package/dist/src/lib/crm.block.d.ts +17 -0
  8. package/dist/src/lib/crm.block.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/account.mapper.d.ts +5 -0
  10. package/dist/src/lib/mappers/account.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/contact.mapper.d.ts +5 -0
  12. package/dist/src/lib/mappers/contact.mapper.d.ts.map +1 -0
  13. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +1 -2
  14. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  15. package/dist/src/lib/mappers/lead.mapper.d.ts +4 -0
  16. package/dist/src/lib/mappers/lead.mapper.d.ts.map +1 -0
  17. package/dist/src/lib/mappers/meeting.mapper.d.ts +4 -0
  18. package/dist/src/lib/mappers/meeting.mapper.d.ts.map +1 -0
  19. package/dist/src/lib/mappers/opportunity.mapper.d.ts +4 -0
  20. package/dist/src/lib/mappers/opportunity.mapper.d.ts.map +1 -0
  21. package/dist/src/lib/mappers/quote.mapper.d.ts +4 -0
  22. package/dist/src/lib/mappers/quote.mapper.d.ts.map +1 -0
  23. package/dist/src/lib/mappers/utils.d.ts +29 -0
  24. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  25. package/dist/src/lib/services/accounts.service.d.ts +16 -0
  26. package/dist/src/lib/services/accounts.service.d.ts.map +1 -0
  27. package/dist/src/lib/services/contacts.service.d.ts +16 -0
  28. package/dist/src/lib/services/contacts.service.d.ts.map +1 -0
  29. package/dist/{lib/services/index.js → src/lib/services/index.d.ts} +1 -2
  30. package/dist/src/lib/services/index.d.ts.map +1 -0
  31. package/dist/src/lib/services/leads.service.d.ts +16 -0
  32. package/dist/src/lib/services/leads.service.d.ts.map +1 -0
  33. package/dist/src/lib/services/meetings.service.d.ts +16 -0
  34. package/dist/src/lib/services/meetings.service.d.ts.map +1 -0
  35. package/dist/src/lib/services/opportunities.service.d.ts +16 -0
  36. package/dist/src/lib/services/opportunities.service.d.ts.map +1 -0
  37. package/dist/src/lib/services/quotes.service.d.ts +16 -0
  38. package/dist/src/lib/services/quotes.service.d.ts.map +1 -0
  39. package/dist/src/lib/types/account.d.ts +56 -0
  40. package/dist/src/lib/types/account.d.ts.map +1 -0
  41. package/dist/src/lib/types/contact.d.ts +73 -0
  42. package/dist/src/lib/types/contact.d.ts.map +1 -0
  43. package/dist/{lib/types/index.js → src/lib/types/index.d.ts} +1 -2
  44. package/dist/src/lib/types/index.d.ts.map +1 -0
  45. package/dist/src/lib/types/lead.d.ts +71 -0
  46. package/dist/src/lib/types/lead.d.ts.map +1 -0
  47. package/dist/src/lib/types/meeting.d.ts +73 -0
  48. package/dist/src/lib/types/meeting.d.ts.map +1 -0
  49. package/dist/src/lib/types/opportunity.d.ts +66 -0
  50. package/dist/src/lib/types/opportunity.d.ts.map +1 -0
  51. package/dist/src/lib/types/quote.d.ts +66 -0
  52. package/dist/src/lib/types/quote.d.ts.map +1 -0
  53. package/package.json +10 -8
  54. package/dist/index.js +0 -7
  55. package/dist/index.js.map +0 -1
  56. package/dist/lib/block-crm.js +0 -5
  57. package/dist/lib/block-crm.js.map +0 -1
  58. package/dist/lib/crm.block.js +0 -28
  59. package/dist/lib/crm.block.js.map +0 -1
  60. package/dist/lib/mappers/account.mapper.js +0 -44
  61. package/dist/lib/mappers/account.mapper.js.map +0 -1
  62. package/dist/lib/mappers/contact.mapper.js +0 -54
  63. package/dist/lib/mappers/contact.mapper.js.map +0 -1
  64. package/dist/lib/mappers/index.js.map +0 -1
  65. package/dist/lib/mappers/lead.mapper.js +0 -31
  66. package/dist/lib/mappers/lead.mapper.js.map +0 -1
  67. package/dist/lib/mappers/meeting.mapper.js +0 -34
  68. package/dist/lib/mappers/meeting.mapper.js.map +0 -1
  69. package/dist/lib/mappers/opportunity.mapper.js +0 -30
  70. package/dist/lib/mappers/opportunity.mapper.js.map +0 -1
  71. package/dist/lib/mappers/quote.mapper.js +0 -30
  72. package/dist/lib/mappers/quote.mapper.js.map +0 -1
  73. package/dist/lib/mappers/utils.js +0 -75
  74. package/dist/lib/mappers/utils.js.map +0 -1
  75. package/dist/lib/services/accounts.service.js +0 -88
  76. package/dist/lib/services/accounts.service.js.map +0 -1
  77. package/dist/lib/services/contacts.service.js +0 -95
  78. package/dist/lib/services/contacts.service.js.map +0 -1
  79. package/dist/lib/services/index.js.map +0 -1
  80. package/dist/lib/services/leads.service.js +0 -109
  81. package/dist/lib/services/leads.service.js.map +0 -1
  82. package/dist/lib/services/meetings.service.js +0 -108
  83. package/dist/lib/services/meetings.service.js.map +0 -1
  84. package/dist/lib/services/opportunities.service.js +0 -105
  85. package/dist/lib/services/opportunities.service.js.map +0 -1
  86. package/dist/lib/services/quotes.service.js +0 -105
  87. package/dist/lib/services/quotes.service.js.map +0 -1
  88. package/dist/lib/types/account.js +0 -3
  89. package/dist/lib/types/account.js.map +0 -1
  90. package/dist/lib/types/contact.js +0 -3
  91. package/dist/lib/types/contact.js.map +0 -1
  92. package/dist/lib/types/index.js.map +0 -1
  93. package/dist/lib/types/lead.js +0 -3
  94. package/dist/lib/types/lead.js.map +0 -1
  95. package/dist/lib/types/meeting.js +0 -3
  96. package/dist/lib/types/meeting.js.map +0 -1
  97. package/dist/lib/types/opportunity.js +0 -3
  98. package/dist/lib/types/opportunity.js.map +0 -1
  99. package/dist/lib/types/quote.js +0 -3
  100. package/dist/lib/types/quote.js.map +0 -1
@@ -1,75 +0,0 @@
1
- /**
2
- * Parse a string value, returning undefined for empty/undefined
3
- */ export function parseString(value) {
4
- if (value === null || value === undefined) {
5
- return undefined;
6
- }
7
- const str = String(value);
8
- return str.length > 0 ? str : undefined;
9
- }
10
- /**
11
- * Parse a date value
12
- */ export function parseDate(value) {
13
- if (value === null || value === undefined) {
14
- return undefined;
15
- }
16
- if (value instanceof Date) {
17
- return value;
18
- }
19
- if (typeof value === 'string' || typeof value === 'number') {
20
- const date = new Date(value);
21
- return isNaN(date.getTime()) ? undefined : date;
22
- }
23
- return undefined;
24
- }
25
- /**
26
- * Parse a boolean value
27
- */ export function parseBoolean(value) {
28
- if (typeof value === 'boolean') {
29
- return value;
30
- }
31
- if (value === 'true' || value === '1' || value === 1) {
32
- return true;
33
- }
34
- return false;
35
- }
36
- /**
37
- * Parse an array of strings
38
- */ export function parseStringArray(value) {
39
- if (value === null || value === undefined) {
40
- return undefined;
41
- }
42
- if (Array.isArray(value)) {
43
- return value.map(String);
44
- }
45
- return undefined;
46
- }
47
- /**
48
- * Parse a number value
49
- */ export function parseNumber(value) {
50
- if (value === null || value === undefined) {
51
- return 0;
52
- }
53
- const num = Number(value);
54
- return isNaN(num) ? 0 : num;
55
- }
56
- /**
57
- * Parse an optional number value
58
- */ export function parseOptionalNumber(value) {
59
- if (value === null || value === undefined) {
60
- return undefined;
61
- }
62
- const num = Number(value);
63
- return isNaN(num) ? undefined : num;
64
- }
65
- /**
66
- * Parse entity status
67
- */ export function parseStatus(value) {
68
- const status = parseString(value);
69
- if (status === 'active' || status === 'inactive' || status === 'pending' || status === 'archived' || status === 'deleted') {
70
- return status;
71
- }
72
- return 'active';
73
- }
74
-
75
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/utils.ts"],"sourcesContent":["/**\n * Parse a string value, returning undefined for empty/undefined\n */\nexport function parseString(value: unknown): string | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n const str = String(value);\n return str.length > 0 ? str : undefined;\n}\n\n/**\n * Parse a date value\n */\nexport function parseDate(value: unknown): Date | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n return isNaN(date.getTime()) ? undefined : date;\n }\n\n return undefined;\n}\n\n/**\n * Parse a boolean value\n */\nexport function parseBoolean(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n if (value === 'true' || value === '1' || value === 1) {\n return true;\n }\n return false;\n}\n\n/**\n * Parse an array of strings\n */\nexport function parseStringArray(value: unknown): string[] | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Array.isArray(value)) {\n return value.map(String);\n }\n return undefined;\n}\n\n/**\n * Parse a number value\n */\nexport function parseNumber(value: unknown): number {\n if (value === null || value === undefined) {\n return 0;\n }\n const num = Number(value);\n return isNaN(num) ? 0 : num;\n}\n\n/**\n * Parse an optional number value\n */\nexport function parseOptionalNumber(value: unknown): number | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n const num = Number(value);\n return isNaN(num) ? undefined : num;\n}\n\n/**\n * Parse entity status\n */\nexport function parseStatus(value: unknown): 'active' | 'inactive' | 'pending' | 'archived' | 'deleted' {\n const status = parseString(value);\n if (status === 'active' || status === 'inactive' || status === 'pending' || status === 'archived' || status === 'deleted') {\n return status;\n }\n return 'active';\n}\n"],"names":["parseString","value","undefined","str","String","length","parseDate","Date","date","isNaN","getTime","parseBoolean","parseStringArray","Array","isArray","map","parseNumber","num","Number","parseOptionalNumber","parseStatus","status"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,YAAYC,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,MAAMC,MAAMC,OAAOH;IACnB,OAAOE,IAAIE,MAAM,GAAG,IAAIF,MAAMD;AAChC;AAEA;;CAEC,GACD,OAAO,SAASI,UAAUL,KAAc;IACtC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IAEA,IAAID,iBAAiBM,MAAM;QACzB,OAAON;IACT;IAEA,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,UAAU;QAC1D,MAAMO,OAAO,IAAID,KAAKN;QACtB,OAAOQ,MAAMD,KAAKE,OAAO,MAAMR,YAAYM;IAC7C;IAEA,OAAON;AACT;AAEA;;CAEC,GACD,OAAO,SAASS,aAAaV,KAAc;IACzC,IAAI,OAAOA,UAAU,WAAW;QAC9B,OAAOA;IACT;IACA,IAAIA,UAAU,UAAUA,UAAU,OAAOA,UAAU,GAAG;QACpD,OAAO;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASW,iBAAiBX,KAAc;IAC7C,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,IAAIW,MAAMC,OAAO,CAACb,QAAQ;QACxB,OAAOA,MAAMc,GAAG,CAACX;IACnB;IACA,OAAOF;AACT;AAEA;;CAEC,GACD,OAAO,SAASc,YAAYf,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IACA,MAAMe,MAAMC,OAAOjB;IACnB,OAAOQ,MAAMQ,OAAO,IAAIA;AAC1B;AAEA;;CAEC,GACD,OAAO,SAASE,oBAAoBlB,KAAc;IAChD,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,MAAMe,MAAMC,OAAOjB;IACnB,OAAOQ,MAAMQ,OAAOf,YAAYe;AAClC;AAEA;;CAEC,GACD,OAAO,SAASG,YAAYnB,KAAc;IACxC,MAAMoB,SAASrB,YAAYC;IAC3B,IAAIoB,WAAW,YAAYA,WAAW,cAAcA,WAAW,aAAaA,WAAW,cAAcA,WAAW,WAAW;QACzH,OAAOA;IACT;IACA,OAAO;AACT"}
@@ -1,88 +0,0 @@
1
- import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { accountMapper } from '../mappers/account.mapper';
3
- export function createAccountsService(transport, _config) {
4
- return {
5
- async list (params) {
6
- const queryParams = {};
7
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
8
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
9
- if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
10
- if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
11
- if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
12
- const response = await transport.get('/accounts', {
13
- params: queryParams
14
- });
15
- return decodePageResult(response, accountMapper);
16
- },
17
- async get (uniqueId) {
18
- const response = await transport.get(`/accounts/${uniqueId}`);
19
- return decodeOne(response, accountMapper);
20
- },
21
- async create (data) {
22
- const response = await transport.post('/accounts', {
23
- data: {
24
- type: 'Account',
25
- attributes: {
26
- code: data.code,
27
- name: data.name,
28
- label: data.label,
29
- preferred_domain: data.preferredDomain,
30
- preferred_language: data.preferredLanguage,
31
- payload: data.payload,
32
- tags: data.tags
33
- }
34
- }
35
- });
36
- return decodeOne(response, accountMapper);
37
- },
38
- async update (uniqueId, data) {
39
- const response = await transport.put(`/accounts/${uniqueId}`, {
40
- data: {
41
- type: 'Account',
42
- attributes: {
43
- name: data.name,
44
- label: data.label,
45
- preferred_domain: data.preferredDomain,
46
- preferred_language: data.preferredLanguage,
47
- enabled: data.enabled,
48
- status: data.status,
49
- payload: data.payload,
50
- tags: data.tags
51
- }
52
- }
53
- });
54
- return decodeOne(response, accountMapper);
55
- },
56
- async delete (uniqueId) {
57
- await transport.delete(`/accounts/${uniqueId}`);
58
- },
59
- async recover (uniqueId) {
60
- const response = await transport.put(`/accounts/${uniqueId}/recover`, {});
61
- return decodeOne(response, accountMapper);
62
- },
63
- async search (query, params) {
64
- const queryParams = {
65
- search: query
66
- };
67
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
68
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
69
- const response = await transport.post('/accounts/search', {
70
- search: query
71
- }, {
72
- params: queryParams
73
- });
74
- return decodePageResult(response, accountMapper);
75
- },
76
- async listDeleted (params) {
77
- const queryParams = {};
78
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
79
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
80
- const response = await transport.get('/accounts/trash/show', {
81
- params: queryParams
82
- });
83
- return decodePageResult(response, accountMapper);
84
- }
85
- };
86
- }
87
-
88
- //# sourceMappingURL=accounts.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/accounts.service.ts"],"sourcesContent":["import type { Transport, PageResult } from '@23blocks/contracts';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type {\n Account,\n CreateAccountRequest,\n UpdateAccountRequest,\n ListAccountsParams,\n} from '../types/account';\nimport { accountMapper } from '../mappers/account.mapper';\n\nexport interface AccountsService {\n list(params?: ListAccountsParams): Promise<PageResult<Account>>;\n get(uniqueId: string): Promise<Account>;\n create(data: CreateAccountRequest): Promise<Account>;\n update(uniqueId: string, data: UpdateAccountRequest): Promise<Account>;\n delete(uniqueId: string): Promise<void>;\n recover(uniqueId: string): Promise<Account>;\n search(query: string, params?: ListAccountsParams): Promise<PageResult<Account>>;\n listDeleted(params?: ListAccountsParams): Promise<PageResult<Account>>;\n}\n\nexport function createAccountsService(transport: Transport, _config: { appId: string }): AccountsService {\n return {\n async list(params?: ListAccountsParams): Promise<PageResult<Account>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n if (params?.status) queryParams['status'] = params.status;\n if (params?.search) queryParams['search'] = params.search;\n if (params?.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;\n\n const response = await transport.get<unknown>('/accounts', { params: queryParams });\n return decodePageResult(response, accountMapper);\n },\n\n async get(uniqueId: string): Promise<Account> {\n const response = await transport.get<unknown>(`/accounts/${uniqueId}`);\n return decodeOne(response, accountMapper);\n },\n\n async create(data: CreateAccountRequest): Promise<Account> {\n const response = await transport.post<unknown>('/accounts', {\n data: {\n type: 'Account',\n attributes: {\n code: data.code,\n name: data.name,\n label: data.label,\n preferred_domain: data.preferredDomain,\n preferred_language: data.preferredLanguage,\n payload: data.payload,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, accountMapper);\n },\n\n async update(uniqueId: string, data: UpdateAccountRequest): Promise<Account> {\n const response = await transport.put<unknown>(`/accounts/${uniqueId}`, {\n data: {\n type: 'Account',\n attributes: {\n name: data.name,\n label: data.label,\n preferred_domain: data.preferredDomain,\n preferred_language: data.preferredLanguage,\n enabled: data.enabled,\n status: data.status,\n payload: data.payload,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, accountMapper);\n },\n\n async delete(uniqueId: string): Promise<void> {\n await transport.delete(`/accounts/${uniqueId}`);\n },\n\n async recover(uniqueId: string): Promise<Account> {\n const response = await transport.put<unknown>(`/accounts/${uniqueId}/recover`, {});\n return decodeOne(response, accountMapper);\n },\n\n async search(query: string, params?: ListAccountsParams): Promise<PageResult<Account>> {\n const queryParams: Record<string, string> = { search: query };\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.post<unknown>('/accounts/search', { search: query }, { params: queryParams });\n return decodePageResult(response, accountMapper);\n },\n\n async listDeleted(params?: ListAccountsParams): Promise<PageResult<Account>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.get<unknown>('/accounts/trash/show', { params: queryParams });\n return decodePageResult(response, accountMapper);\n },\n };\n}\n"],"names":["decodeOne","decodePageResult","accountMapper","createAccountsService","transport","_config","list","params","queryParams","page","String","perPage","status","search","sortBy","sortOrder","response","get","uniqueId","create","data","post","type","attributes","code","name","label","preferred_domain","preferredDomain","preferred_language","preferredLanguage","payload","tags","update","put","enabled","delete","recover","query","listDeleted"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,95 +0,0 @@
1
- import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { contactMapper } from '../mappers/contact.mapper';
3
- export function createContactsService(transport, _config) {
4
- return {
5
- async list (params) {
6
- const queryParams = {};
7
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
8
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
9
- if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
10
- if (params == null ? void 0 : params.contactStatus) queryParams['contact_status'] = params.contactStatus;
11
- if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
12
- if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
13
- const response = await transport.get('/contacts', {
14
- params: queryParams
15
- });
16
- return decodePageResult(response, contactMapper);
17
- },
18
- async get (uniqueId) {
19
- const response = await transport.get(`/contacts/${uniqueId}`);
20
- return decodeOne(response, contactMapper);
21
- },
22
- async create (data) {
23
- const response = await transport.post('/contacts', {
24
- data: {
25
- type: 'Contact',
26
- attributes: {
27
- first_name: data.firstName,
28
- last_name: data.lastName,
29
- middle_name: data.middleName,
30
- primary_email: data.primaryEmail,
31
- primary_phone: data.primaryPhone,
32
- position: data.position,
33
- notes: data.notes,
34
- source: data.source,
35
- user_unique_id: data.userUniqueId,
36
- tags: data.tags
37
- }
38
- }
39
- });
40
- return decodeOne(response, contactMapper);
41
- },
42
- async update (uniqueId, data) {
43
- const response = await transport.put(`/contacts/${uniqueId}`, {
44
- data: {
45
- type: 'Contact',
46
- attributes: {
47
- first_name: data.firstName,
48
- last_name: data.lastName,
49
- middle_name: data.middleName,
50
- primary_email: data.primaryEmail,
51
- primary_phone: data.primaryPhone,
52
- position: data.position,
53
- notes: data.notes,
54
- contact_status: data.contactStatus,
55
- enabled: data.enabled,
56
- status: data.status,
57
- tags: data.tags
58
- }
59
- }
60
- });
61
- return decodeOne(response, contactMapper);
62
- },
63
- async delete (uniqueId) {
64
- await transport.delete(`/contacts/${uniqueId}`);
65
- },
66
- async recover (uniqueId) {
67
- const response = await transport.put(`/contacts/${uniqueId}/recover`, {});
68
- return decodeOne(response, contactMapper);
69
- },
70
- async search (query, params) {
71
- const queryParams = {
72
- search: query
73
- };
74
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
75
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
76
- const response = await transport.post('/contacts/search', {
77
- search: query
78
- }, {
79
- params: queryParams
80
- });
81
- return decodePageResult(response, contactMapper);
82
- },
83
- async listDeleted (params) {
84
- const queryParams = {};
85
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
86
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
87
- const response = await transport.get('/contacts/trash/show', {
88
- params: queryParams
89
- });
90
- return decodePageResult(response, contactMapper);
91
- }
92
- };
93
- }
94
-
95
- //# sourceMappingURL=contacts.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/contacts.service.ts"],"sourcesContent":["import type { Transport, PageResult } from '@23blocks/contracts';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type {\n Contact,\n CreateContactRequest,\n UpdateContactRequest,\n ListContactsParams,\n} from '../types/contact';\nimport { contactMapper } from '../mappers/contact.mapper';\n\nexport interface ContactsService {\n list(params?: ListContactsParams): Promise<PageResult<Contact>>;\n get(uniqueId: string): Promise<Contact>;\n create(data: CreateContactRequest): Promise<Contact>;\n update(uniqueId: string, data: UpdateContactRequest): Promise<Contact>;\n delete(uniqueId: string): Promise<void>;\n recover(uniqueId: string): Promise<Contact>;\n search(query: string, params?: ListContactsParams): Promise<PageResult<Contact>>;\n listDeleted(params?: ListContactsParams): Promise<PageResult<Contact>>;\n}\n\nexport function createContactsService(transport: Transport, _config: { appId: string }): ContactsService {\n return {\n async list(params?: ListContactsParams): Promise<PageResult<Contact>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n if (params?.status) queryParams['status'] = params.status;\n if (params?.contactStatus) queryParams['contact_status'] = params.contactStatus;\n if (params?.search) queryParams['search'] = params.search;\n if (params?.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;\n\n const response = await transport.get<unknown>('/contacts', { params: queryParams });\n return decodePageResult(response, contactMapper);\n },\n\n async get(uniqueId: string): Promise<Contact> {\n const response = await transport.get<unknown>(`/contacts/${uniqueId}`);\n return decodeOne(response, contactMapper);\n },\n\n async create(data: CreateContactRequest): Promise<Contact> {\n const response = await transport.post<unknown>('/contacts', {\n data: {\n type: 'Contact',\n attributes: {\n first_name: data.firstName,\n last_name: data.lastName,\n middle_name: data.middleName,\n primary_email: data.primaryEmail,\n primary_phone: data.primaryPhone,\n position: data.position,\n notes: data.notes,\n source: data.source,\n user_unique_id: data.userUniqueId,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, contactMapper);\n },\n\n async update(uniqueId: string, data: UpdateContactRequest): Promise<Contact> {\n const response = await transport.put<unknown>(`/contacts/${uniqueId}`, {\n data: {\n type: 'Contact',\n attributes: {\n first_name: data.firstName,\n last_name: data.lastName,\n middle_name: data.middleName,\n primary_email: data.primaryEmail,\n primary_phone: data.primaryPhone,\n position: data.position,\n notes: data.notes,\n contact_status: data.contactStatus,\n enabled: data.enabled,\n status: data.status,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, contactMapper);\n },\n\n async delete(uniqueId: string): Promise<void> {\n await transport.delete(`/contacts/${uniqueId}`);\n },\n\n async recover(uniqueId: string): Promise<Contact> {\n const response = await transport.put<unknown>(`/contacts/${uniqueId}/recover`, {});\n return decodeOne(response, contactMapper);\n },\n\n async search(query: string, params?: ListContactsParams): Promise<PageResult<Contact>> {\n const queryParams: Record<string, string> = { search: query };\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.post<unknown>('/contacts/search', { search: query }, { params: queryParams });\n return decodePageResult(response, contactMapper);\n },\n\n async listDeleted(params?: ListContactsParams): Promise<PageResult<Contact>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.get<unknown>('/contacts/trash/show', { params: queryParams });\n return decodePageResult(response, contactMapper);\n },\n };\n}\n"],"names":["decodeOne","decodePageResult","contactMapper","createContactsService","transport","_config","list","params","queryParams","page","String","perPage","status","contactStatus","search","sortBy","sortOrder","response","get","uniqueId","create","data","post","type","attributes","first_name","firstName","last_name","lastName","middle_name","middleName","primary_email","primaryEmail","primary_phone","primaryPhone","position","notes","source","user_unique_id","userUniqueId","tags","update","put","contact_status","enabled","delete","recover","query","listDeleted"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/index.ts"],"sourcesContent":["export * from './accounts.service';\nexport * from './contacts.service';\nexport * from './leads.service';\nexport * from './opportunities.service';\nexport * from './meetings.service';\nexport * from './quotes.service';\n"],"names":[],"rangeMappings":";;;;;","mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,0BAA0B;AACxC,cAAc,qBAAqB;AACnC,cAAc,mBAAmB"}
@@ -1,109 +0,0 @@
1
- import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { leadMapper } from '../mappers/lead.mapper';
3
- export function createLeadsService(transport, _config) {
4
- return {
5
- async list (params) {
6
- const queryParams = {};
7
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
8
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
9
- if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
10
- if (params == null ? void 0 : params.contactStatus) queryParams['contact_status'] = params.contactStatus;
11
- if (params == null ? void 0 : params.source) queryParams['source'] = params.source;
12
- if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
13
- if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
14
- const response = await transport.get('/leads', {
15
- params: queryParams
16
- });
17
- return decodePageResult(response, leadMapper);
18
- },
19
- async get (uniqueId) {
20
- const response = await transport.get(`/leads/${uniqueId}`);
21
- return decodeOne(response, leadMapper);
22
- },
23
- async create (data) {
24
- const response = await transport.post('/leads', {
25
- data: {
26
- type: 'Lead',
27
- attributes: {
28
- first_name: data.firstName,
29
- last_name: data.lastName,
30
- middle_name: data.middleName,
31
- lead_email: data.leadEmail,
32
- phone_number: data.phoneNumber,
33
- web_site: data.webSite,
34
- twitter: data.twitter,
35
- fb: data.fb,
36
- instagram: data.instagram,
37
- linkedin: data.linkedin,
38
- youtube: data.youtube,
39
- blog: data.blog,
40
- notes: data.notes,
41
- source: data.source,
42
- payload: data.payload,
43
- tags: data.tags
44
- }
45
- }
46
- });
47
- return decodeOne(response, leadMapper);
48
- },
49
- async update (uniqueId, data) {
50
- const response = await transport.put(`/leads/${uniqueId}`, {
51
- data: {
52
- type: 'Lead',
53
- attributes: {
54
- first_name: data.firstName,
55
- last_name: data.lastName,
56
- middle_name: data.middleName,
57
- lead_email: data.leadEmail,
58
- phone_number: data.phoneNumber,
59
- web_site: data.webSite,
60
- twitter: data.twitter,
61
- fb: data.fb,
62
- instagram: data.instagram,
63
- linkedin: data.linkedin,
64
- youtube: data.youtube,
65
- blog: data.blog,
66
- notes: data.notes,
67
- contact_status: data.contactStatus,
68
- enabled: data.enabled,
69
- status: data.status,
70
- payload: data.payload,
71
- tags: data.tags
72
- }
73
- }
74
- });
75
- return decodeOne(response, leadMapper);
76
- },
77
- async delete (uniqueId) {
78
- await transport.delete(`/leads/${uniqueId}`);
79
- },
80
- async recover (uniqueId) {
81
- const response = await transport.put(`/leads/${uniqueId}/recover`, {});
82
- return decodeOne(response, leadMapper);
83
- },
84
- async search (query, params) {
85
- const queryParams = {
86
- search: query
87
- };
88
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
89
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
90
- const response = await transport.post('/leads/search', {
91
- search: query
92
- }, {
93
- params: queryParams
94
- });
95
- return decodePageResult(response, leadMapper);
96
- },
97
- async listDeleted (params) {
98
- const queryParams = {};
99
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
100
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
101
- const response = await transport.get('/leads/trash/show', {
102
- params: queryParams
103
- });
104
- return decodePageResult(response, leadMapper);
105
- }
106
- };
107
- }
108
-
109
- //# sourceMappingURL=leads.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/leads.service.ts"],"sourcesContent":["import type { Transport, PageResult } from '@23blocks/contracts';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type {\n Lead,\n CreateLeadRequest,\n UpdateLeadRequest,\n ListLeadsParams,\n} from '../types/lead';\nimport { leadMapper } from '../mappers/lead.mapper';\n\nexport interface LeadsService {\n list(params?: ListLeadsParams): Promise<PageResult<Lead>>;\n get(uniqueId: string): Promise<Lead>;\n create(data: CreateLeadRequest): Promise<Lead>;\n update(uniqueId: string, data: UpdateLeadRequest): Promise<Lead>;\n delete(uniqueId: string): Promise<void>;\n recover(uniqueId: string): Promise<Lead>;\n search(query: string, params?: ListLeadsParams): Promise<PageResult<Lead>>;\n listDeleted(params?: ListLeadsParams): Promise<PageResult<Lead>>;\n}\n\nexport function createLeadsService(transport: Transport, _config: { appId: string }): LeadsService {\n return {\n async list(params?: ListLeadsParams): Promise<PageResult<Lead>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n if (params?.status) queryParams['status'] = params.status;\n if (params?.contactStatus) queryParams['contact_status'] = params.contactStatus;\n if (params?.source) queryParams['source'] = params.source;\n if (params?.search) queryParams['search'] = params.search;\n if (params?.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;\n\n const response = await transport.get<unknown>('/leads', { params: queryParams });\n return decodePageResult(response, leadMapper);\n },\n\n async get(uniqueId: string): Promise<Lead> {\n const response = await transport.get<unknown>(`/leads/${uniqueId}`);\n return decodeOne(response, leadMapper);\n },\n\n async create(data: CreateLeadRequest): Promise<Lead> {\n const response = await transport.post<unknown>('/leads', {\n data: {\n type: 'Lead',\n attributes: {\n first_name: data.firstName,\n last_name: data.lastName,\n middle_name: data.middleName,\n lead_email: data.leadEmail,\n phone_number: data.phoneNumber,\n web_site: data.webSite,\n twitter: data.twitter,\n fb: data.fb,\n instagram: data.instagram,\n linkedin: data.linkedin,\n youtube: data.youtube,\n blog: data.blog,\n notes: data.notes,\n source: data.source,\n payload: data.payload,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, leadMapper);\n },\n\n async update(uniqueId: string, data: UpdateLeadRequest): Promise<Lead> {\n const response = await transport.put<unknown>(`/leads/${uniqueId}`, {\n data: {\n type: 'Lead',\n attributes: {\n first_name: data.firstName,\n last_name: data.lastName,\n middle_name: data.middleName,\n lead_email: data.leadEmail,\n phone_number: data.phoneNumber,\n web_site: data.webSite,\n twitter: data.twitter,\n fb: data.fb,\n instagram: data.instagram,\n linkedin: data.linkedin,\n youtube: data.youtube,\n blog: data.blog,\n notes: data.notes,\n contact_status: data.contactStatus,\n enabled: data.enabled,\n status: data.status,\n payload: data.payload,\n tags: data.tags,\n },\n },\n });\n return decodeOne(response, leadMapper);\n },\n\n async delete(uniqueId: string): Promise<void> {\n await transport.delete(`/leads/${uniqueId}`);\n },\n\n async recover(uniqueId: string): Promise<Lead> {\n const response = await transport.put<unknown>(`/leads/${uniqueId}/recover`, {});\n return decodeOne(response, leadMapper);\n },\n\n async search(query: string, params?: ListLeadsParams): Promise<PageResult<Lead>> {\n const queryParams: Record<string, string> = { search: query };\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.post<unknown>('/leads/search', { search: query }, { params: queryParams });\n return decodePageResult(response, leadMapper);\n },\n\n async listDeleted(params?: ListLeadsParams): Promise<PageResult<Lead>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.get<unknown>('/leads/trash/show', { params: queryParams });\n return decodePageResult(response, leadMapper);\n },\n };\n}\n"],"names":["decodeOne","decodePageResult","leadMapper","createLeadsService","transport","_config","list","params","queryParams","page","String","perPage","status","contactStatus","source","search","sortBy","sortOrder","response","get","uniqueId","create","data","post","type","attributes","first_name","firstName","last_name","lastName","middle_name","middleName","lead_email","leadEmail","phone_number","phoneNumber","web_site","webSite","twitter","fb","instagram","linkedin","youtube","blog","notes","payload","tags","update","put","contact_status","enabled","delete","recover","query","listDeleted"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,108 +0,0 @@
1
- import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { meetingMapper } from '../mappers/meeting.mapper';
3
- export function createMeetingsService(transport, _config) {
4
- return {
5
- async list (params) {
6
- const queryParams = {};
7
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
8
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
9
- if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
10
- if (params == null ? void 0 : params.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;
11
- if (params == null ? void 0 : params.accountUniqueId) queryParams['account_unique_id'] = params.accountUniqueId;
12
- if (params == null ? void 0 : params.meetingType) queryParams['meeting_type'] = params.meetingType;
13
- if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
14
- if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
15
- const response = await transport.get('/meetings', {
16
- params: queryParams
17
- });
18
- return decodePageResult(response, meetingMapper);
19
- },
20
- async get (uniqueId) {
21
- const response = await transport.get(`/meetings/${uniqueId}`);
22
- return decodeOne(response, meetingMapper);
23
- },
24
- async create (data) {
25
- const response = await transport.post('/meetings', {
26
- data: {
27
- type: 'Meeting',
28
- attributes: {
29
- code: data.code,
30
- title: data.title,
31
- meeting_type: data.meetingType,
32
- description: data.description,
33
- scheduled_at: data.scheduledAt,
34
- start_time: data.startTime,
35
- end_time: data.endTime,
36
- time_unit: data.timeUnit,
37
- time_quantity: data.timeQuantity,
38
- all_day: data.allDay,
39
- timezone: data.timezone,
40
- user_unique_id: data.userUniqueId,
41
- account_unique_id: data.accountUniqueId,
42
- meeting_location: data.meetingLocation,
43
- meeting_url: data.meetingUrl,
44
- payload: data.payload
45
- }
46
- }
47
- });
48
- return decodeOne(response, meetingMapper);
49
- },
50
- async update (uniqueId, data) {
51
- const response = await transport.put(`/meetings/${uniqueId}`, {
52
- data: {
53
- type: 'Meeting',
54
- attributes: {
55
- title: data.title,
56
- meeting_type: data.meetingType,
57
- description: data.description,
58
- scheduled_at: data.scheduledAt,
59
- start_time: data.startTime,
60
- end_time: data.endTime,
61
- time_unit: data.timeUnit,
62
- time_quantity: data.timeQuantity,
63
- all_day: data.allDay,
64
- timezone: data.timezone,
65
- meeting_location: data.meetingLocation,
66
- meeting_url: data.meetingUrl,
67
- meeting_score: data.meetingScore,
68
- enabled: data.enabled,
69
- status: data.status,
70
- payload: data.payload
71
- }
72
- }
73
- });
74
- return decodeOne(response, meetingMapper);
75
- },
76
- async delete (uniqueId) {
77
- await transport.delete(`/meetings/${uniqueId}`);
78
- },
79
- async recover (uniqueId) {
80
- const response = await transport.put(`/meetings/${uniqueId}/recover`, {});
81
- return decodeOne(response, meetingMapper);
82
- },
83
- async search (query, params) {
84
- const queryParams = {
85
- search: query
86
- };
87
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
88
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
89
- const response = await transport.post('/meetings/search', {
90
- search: query
91
- }, {
92
- params: queryParams
93
- });
94
- return decodePageResult(response, meetingMapper);
95
- },
96
- async listDeleted (params) {
97
- const queryParams = {};
98
- if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
99
- if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
100
- const response = await transport.get('/meetings/trash/show', {
101
- params: queryParams
102
- });
103
- return decodePageResult(response, meetingMapper);
104
- }
105
- };
106
- }
107
-
108
- //# sourceMappingURL=meetings.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/meetings.service.ts"],"sourcesContent":["import type { Transport, PageResult } from '@23blocks/contracts';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type {\n Meeting,\n CreateMeetingRequest,\n UpdateMeetingRequest,\n ListMeetingsParams,\n} from '../types/meeting';\nimport { meetingMapper } from '../mappers/meeting.mapper';\n\nexport interface MeetingsService {\n list(params?: ListMeetingsParams): Promise<PageResult<Meeting>>;\n get(uniqueId: string): Promise<Meeting>;\n create(data: CreateMeetingRequest): Promise<Meeting>;\n update(uniqueId: string, data: UpdateMeetingRequest): Promise<Meeting>;\n delete(uniqueId: string): Promise<void>;\n recover(uniqueId: string): Promise<Meeting>;\n search(query: string, params?: ListMeetingsParams): Promise<PageResult<Meeting>>;\n listDeleted(params?: ListMeetingsParams): Promise<PageResult<Meeting>>;\n}\n\nexport function createMeetingsService(transport: Transport, _config: { appId: string }): MeetingsService {\n return {\n async list(params?: ListMeetingsParams): Promise<PageResult<Meeting>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n if (params?.status) queryParams['status'] = params.status;\n if (params?.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;\n if (params?.accountUniqueId) queryParams['account_unique_id'] = params.accountUniqueId;\n if (params?.meetingType) queryParams['meeting_type'] = params.meetingType;\n if (params?.search) queryParams['search'] = params.search;\n if (params?.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;\n\n const response = await transport.get<unknown>('/meetings', { params: queryParams });\n return decodePageResult(response, meetingMapper);\n },\n\n async get(uniqueId: string): Promise<Meeting> {\n const response = await transport.get<unknown>(`/meetings/${uniqueId}`);\n return decodeOne(response, meetingMapper);\n },\n\n async create(data: CreateMeetingRequest): Promise<Meeting> {\n const response = await transport.post<unknown>('/meetings', {\n data: {\n type: 'Meeting',\n attributes: {\n code: data.code,\n title: data.title,\n meeting_type: data.meetingType,\n description: data.description,\n scheduled_at: data.scheduledAt,\n start_time: data.startTime,\n end_time: data.endTime,\n time_unit: data.timeUnit,\n time_quantity: data.timeQuantity,\n all_day: data.allDay,\n timezone: data.timezone,\n user_unique_id: data.userUniqueId,\n account_unique_id: data.accountUniqueId,\n meeting_location: data.meetingLocation,\n meeting_url: data.meetingUrl,\n payload: data.payload,\n },\n },\n });\n return decodeOne(response, meetingMapper);\n },\n\n async update(uniqueId: string, data: UpdateMeetingRequest): Promise<Meeting> {\n const response = await transport.put<unknown>(`/meetings/${uniqueId}`, {\n data: {\n type: 'Meeting',\n attributes: {\n title: data.title,\n meeting_type: data.meetingType,\n description: data.description,\n scheduled_at: data.scheduledAt,\n start_time: data.startTime,\n end_time: data.endTime,\n time_unit: data.timeUnit,\n time_quantity: data.timeQuantity,\n all_day: data.allDay,\n timezone: data.timezone,\n meeting_location: data.meetingLocation,\n meeting_url: data.meetingUrl,\n meeting_score: data.meetingScore,\n enabled: data.enabled,\n status: data.status,\n payload: data.payload,\n },\n },\n });\n return decodeOne(response, meetingMapper);\n },\n\n async delete(uniqueId: string): Promise<void> {\n await transport.delete(`/meetings/${uniqueId}`);\n },\n\n async recover(uniqueId: string): Promise<Meeting> {\n const response = await transport.put<unknown>(`/meetings/${uniqueId}/recover`, {});\n return decodeOne(response, meetingMapper);\n },\n\n async search(query: string, params?: ListMeetingsParams): Promise<PageResult<Meeting>> {\n const queryParams: Record<string, string> = { search: query };\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.post<unknown>('/meetings/search', { search: query }, { params: queryParams });\n return decodePageResult(response, meetingMapper);\n },\n\n async listDeleted(params?: ListMeetingsParams): Promise<PageResult<Meeting>> {\n const queryParams: Record<string, string> = {};\n if (params?.page) queryParams['page'] = String(params.page);\n if (params?.perPage) queryParams['records'] = String(params.perPage);\n\n const response = await transport.get<unknown>('/meetings/trash/show', { params: queryParams });\n return decodePageResult(response, meetingMapper);\n },\n };\n}\n"],"names":["decodeOne","decodePageResult","meetingMapper","createMeetingsService","transport","_config","list","params","queryParams","page","String","perPage","status","userUniqueId","accountUniqueId","meetingType","search","sortBy","sortOrder","response","get","uniqueId","create","data","post","type","attributes","code","title","meeting_type","description","scheduled_at","scheduledAt","start_time","startTime","end_time","endTime","time_unit","timeUnit","time_quantity","timeQuantity","all_day","allDay","timezone","user_unique_id","account_unique_id","meeting_location","meetingLocation","meeting_url","meetingUrl","payload","update","put","meeting_score","meetingScore","enabled","delete","recover","query","listDeleted"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}