@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
@@ -0,0 +1,66 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Opportunity extends IdentityCore {
3
+ accountUniqueId?: string;
4
+ contactUniqueId?: string;
5
+ code: string;
6
+ name: string;
7
+ notes?: string;
8
+ budget?: number;
9
+ total?: number;
10
+ duration?: number;
11
+ durationUnit?: string;
12
+ durationDescription?: string;
13
+ payload?: Record<string, unknown>;
14
+ nextActionAt?: Date;
15
+ ownerUniqueId?: string;
16
+ ownerName?: string;
17
+ ownerEmail?: string;
18
+ status: EntityStatus;
19
+ enabled: boolean;
20
+ tags?: string[];
21
+ }
22
+ export interface CreateOpportunityRequest {
23
+ accountUniqueId?: string;
24
+ contactUniqueId?: string;
25
+ code: string;
26
+ name: string;
27
+ notes?: string;
28
+ budget?: number;
29
+ total?: number;
30
+ duration?: number;
31
+ durationUnit?: string;
32
+ durationDescription?: string;
33
+ payload?: Record<string, unknown>;
34
+ nextActionAt?: Date;
35
+ ownerUniqueId?: string;
36
+ tags?: string[];
37
+ }
38
+ export interface UpdateOpportunityRequest {
39
+ name?: string;
40
+ notes?: string;
41
+ budget?: number;
42
+ total?: number;
43
+ duration?: number;
44
+ durationUnit?: string;
45
+ durationDescription?: string;
46
+ payload?: Record<string, unknown>;
47
+ nextActionAt?: Date;
48
+ ownerUniqueId?: string;
49
+ ownerName?: string;
50
+ ownerEmail?: string;
51
+ enabled?: boolean;
52
+ status?: EntityStatus;
53
+ tags?: string[];
54
+ }
55
+ export interface ListOpportunitiesParams {
56
+ page?: number;
57
+ perPage?: number;
58
+ status?: EntityStatus;
59
+ accountUniqueId?: string;
60
+ contactUniqueId?: string;
61
+ ownerUniqueId?: string;
62
+ search?: string;
63
+ sortBy?: string;
64
+ sortOrder?: 'asc' | 'desc';
65
+ }
66
+ //# sourceMappingURL=opportunity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/opportunity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,66 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface Quote extends IdentityCore {
3
+ accountUniqueId?: string;
4
+ contactUniqueId?: string;
5
+ code: string;
6
+ name: string;
7
+ notes?: string;
8
+ budget?: number;
9
+ total?: number;
10
+ duration?: number;
11
+ durationUnit?: string;
12
+ durationDescription?: string;
13
+ payload?: Record<string, unknown>;
14
+ nextActionAt?: Date;
15
+ ownerUniqueId?: string;
16
+ ownerName?: string;
17
+ ownerEmail?: string;
18
+ status: EntityStatus;
19
+ enabled: boolean;
20
+ tags?: string[];
21
+ }
22
+ export interface CreateQuoteRequest {
23
+ accountUniqueId?: string;
24
+ contactUniqueId?: string;
25
+ code: string;
26
+ name: string;
27
+ notes?: string;
28
+ budget?: number;
29
+ total?: number;
30
+ duration?: number;
31
+ durationUnit?: string;
32
+ durationDescription?: string;
33
+ payload?: Record<string, unknown>;
34
+ nextActionAt?: Date;
35
+ ownerUniqueId?: string;
36
+ tags?: string[];
37
+ }
38
+ export interface UpdateQuoteRequest {
39
+ name?: string;
40
+ notes?: string;
41
+ budget?: number;
42
+ total?: number;
43
+ duration?: number;
44
+ durationUnit?: string;
45
+ durationDescription?: string;
46
+ payload?: Record<string, unknown>;
47
+ nextActionAt?: Date;
48
+ ownerUniqueId?: string;
49
+ ownerName?: string;
50
+ ownerEmail?: string;
51
+ enabled?: boolean;
52
+ status?: EntityStatus;
53
+ tags?: string[];
54
+ }
55
+ export interface ListQuotesParams {
56
+ page?: number;
57
+ perPage?: number;
58
+ status?: EntityStatus;
59
+ accountUniqueId?: string;
60
+ contactUniqueId?: string;
61
+ ownerUniqueId?: string;
62
+ search?: string;
63
+ sortBy?: string;
64
+ sortOrder?: 'asc' | 'desc';
65
+ }
66
+ //# sourceMappingURL=quote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,KAAM,SAAQ,YAAY;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/block-crm",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "CRM block for 23blocks SDK - accounts, contacts, leads, opportunities, meetings",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",
@@ -23,15 +23,15 @@
23
23
  "meetings"
24
24
  ],
25
25
  "type": "module",
26
- "main": "./dist/index.js",
27
- "module": "./dist/index.js",
26
+ "main": "./dist/index.esm.js",
27
+ "module": "./dist/index.esm.js",
28
28
  "types": "./dist/index.d.ts",
29
29
  "exports": {
30
30
  "./package.json": "./package.json",
31
31
  ".": {
32
32
  "types": "./dist/index.d.ts",
33
- "import": "./dist/index.js",
34
- "default": "./dist/index.js"
33
+ "import": "./dist/index.esm.js",
34
+ "default": "./dist/index.esm.js"
35
35
  }
36
36
  },
37
37
  "files": [
@@ -42,7 +42,7 @@
42
42
  "sourceRoot": "packages/block-crm/src",
43
43
  "targets": {
44
44
  "build": {
45
- "executor": "@nx/js:swc",
45
+ "executor": "@nx/rollup:rollup",
46
46
  "outputs": [
47
47
  "{options.outputPath}"
48
48
  ],
@@ -50,8 +50,10 @@
50
50
  "outputPath": "packages/block-crm/dist",
51
51
  "main": "packages/block-crm/src/index.ts",
52
52
  "tsConfig": "packages/block-crm/tsconfig.lib.json",
53
- "skipTypeCheck": true,
54
- "stripLeadingPaths": true
53
+ "compiler": "swc",
54
+ "format": [
55
+ "esm"
56
+ ]
55
57
  }
56
58
  }
57
59
  }
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- // Block factory and metadata
2
- export { createCrmBlock, crmBlockMetadata } from './lib/crm.block';
3
- export { createAccountsService, createContactsService, createLeadsService, createOpportunitiesService, createMeetingsService, createQuotesService } from './lib/services';
4
- // Mappers (for advanced use cases)
5
- export { accountMapper, accountDetailMapper, contactMapper, contactProfileMapper, leadMapper, opportunityMapper, meetingMapper, quoteMapper } from './lib/mappers';
6
-
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Block factory and metadata\nexport { createCrmBlock, crmBlockMetadata } from './lib/crm.block';\nexport type { CrmBlock, CrmBlockConfig } from './lib/crm.block';\n\n// Types\nexport type {\n // Account types\n Account,\n AccountDetail,\n CreateAccountRequest,\n UpdateAccountRequest,\n ListAccountsParams,\n // Contact types\n Contact,\n ContactProfile,\n CreateContactRequest,\n UpdateContactRequest,\n ListContactsParams,\n // Lead types\n Lead,\n CreateLeadRequest,\n UpdateLeadRequest,\n ListLeadsParams,\n // Opportunity types\n Opportunity,\n CreateOpportunityRequest,\n UpdateOpportunityRequest,\n ListOpportunitiesParams,\n // Meeting types\n Meeting,\n CreateMeetingRequest,\n UpdateMeetingRequest,\n ListMeetingsParams,\n // Quote types\n Quote,\n CreateQuoteRequest,\n UpdateQuoteRequest,\n ListQuotesParams,\n} from './lib/types';\n\n// Services\nexport type {\n AccountsService,\n ContactsService,\n LeadsService,\n OpportunitiesService,\n MeetingsService,\n QuotesService,\n} from './lib/services';\n\nexport {\n createAccountsService,\n createContactsService,\n createLeadsService,\n createOpportunitiesService,\n createMeetingsService,\n createQuotesService,\n} from './lib/services';\n\n// Mappers (for advanced use cases)\nexport {\n accountMapper,\n accountDetailMapper,\n contactMapper,\n contactProfileMapper,\n leadMapper,\n opportunityMapper,\n meetingMapper,\n quoteMapper,\n} from './lib/mappers';\n"],"names":["createCrmBlock","crmBlockMetadata","createAccountsService","createContactsService","createLeadsService","createOpportunitiesService","createMeetingsService","createQuotesService","accountMapper","accountDetailMapper","contactMapper","contactProfileMapper","leadMapper","opportunityMapper","meetingMapper","quoteMapper"],"rangeMappings":";;;;","mappings":"AAAA,6BAA6B;AAC7B,SAASA,cAAc,EAAEC,gBAAgB,QAAQ,kBAAkB;AAiDnE,SACEC,qBAAqB,EACrBC,qBAAqB,EACrBC,kBAAkB,EAClBC,0BAA0B,EAC1BC,qBAAqB,EACrBC,mBAAmB,QACd,iBAAiB;AAExB,mCAAmC;AACnC,SACEC,aAAa,EACbC,mBAAmB,EACnBC,aAAa,EACbC,oBAAoB,EACpBC,UAAU,EACVC,iBAAiB,EACjBC,aAAa,EACbC,WAAW,QACN,gBAAgB"}
@@ -1,5 +0,0 @@
1
- export function blockCrm() {
2
- return 'block-crm';
3
- }
4
-
5
- //# sourceMappingURL=block-crm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/block-crm.ts"],"sourcesContent":["export function blockCrm(): string {\n return 'block-crm';\n}\n"],"names":["blockCrm"],"rangeMappings":";;","mappings":"AAAA,OAAO,SAASA;IACd,OAAO;AACT"}
@@ -1,28 +0,0 @@
1
- import { createAccountsService, createContactsService, createLeadsService, createOpportunitiesService, createMeetingsService, createQuotesService } from './services';
2
- export function createCrmBlock(transport, config) {
3
- return {
4
- accounts: createAccountsService(transport, config),
5
- contacts: createContactsService(transport, config),
6
- leads: createLeadsService(transport, config),
7
- opportunities: createOpportunitiesService(transport, config),
8
- meetings: createMeetingsService(transport, config),
9
- quotes: createQuotesService(transport, config)
10
- };
11
- }
12
- export const crmBlockMetadata = {
13
- name: 'crm',
14
- version: '0.1.0',
15
- description: 'CRM block for managing accounts, contacts, leads, opportunities, meetings, and quotes',
16
- resourceTypes: [
17
- 'Account',
18
- 'AccountDetail',
19
- 'Contact',
20
- 'ContactProfile',
21
- 'Lead',
22
- 'Opportunity',
23
- 'Meeting',
24
- 'Quote'
25
- ]
26
- };
27
-
28
- //# sourceMappingURL=crm.block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/crm.block.ts"],"sourcesContent":["import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';\nimport {\n createAccountsService,\n createContactsService,\n createLeadsService,\n createOpportunitiesService,\n createMeetingsService,\n createQuotesService,\n type AccountsService,\n type ContactsService,\n type LeadsService,\n type OpportunitiesService,\n type MeetingsService,\n type QuotesService,\n} from './services';\n\nexport interface CrmBlockConfig extends BlockConfig {\n appId: string;\n tenantId?: string;\n}\n\nexport interface CrmBlock {\n accounts: AccountsService;\n contacts: ContactsService;\n leads: LeadsService;\n opportunities: OpportunitiesService;\n meetings: MeetingsService;\n quotes: QuotesService;\n}\n\nexport function createCrmBlock(\n transport: Transport,\n config: CrmBlockConfig\n): CrmBlock {\n return {\n accounts: createAccountsService(transport, config),\n contacts: createContactsService(transport, config),\n leads: createLeadsService(transport, config),\n opportunities: createOpportunitiesService(transport, config),\n meetings: createMeetingsService(transport, config),\n quotes: createQuotesService(transport, config),\n };\n}\n\nexport const crmBlockMetadata: BlockMetadata = {\n name: 'crm',\n version: '0.1.0',\n description: 'CRM block for managing accounts, contacts, leads, opportunities, meetings, and quotes',\n resourceTypes: [\n 'Account',\n 'AccountDetail',\n 'Contact',\n 'ContactProfile',\n 'Lead',\n 'Opportunity',\n 'Meeting',\n 'Quote',\n ],\n};\n"],"names":["createAccountsService","createContactsService","createLeadsService","createOpportunitiesService","createMeetingsService","createQuotesService","createCrmBlock","transport","config","accounts","contacts","leads","opportunities","meetings","quotes","crmBlockMetadata","name","version","description","resourceTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SACEA,qBAAqB,EACrBC,qBAAqB,EACrBC,kBAAkB,EAClBC,0BAA0B,EAC1BC,qBAAqB,EACrBC,mBAAmB,QAOd,aAAa;AAgBpB,OAAO,SAASC,eACdC,SAAoB,EACpBC,MAAsB;IAEtB,OAAO;QACLC,UAAUT,sBAAsBO,WAAWC;QAC3CE,UAAUT,sBAAsBM,WAAWC;QAC3CG,OAAOT,mBAAmBK,WAAWC;QACrCI,eAAeT,2BAA2BI,WAAWC;QACrDK,UAAUT,sBAAsBG,WAAWC;QAC3CM,QAAQT,oBAAoBE,WAAWC;IACzC;AACF;AAEA,OAAO,MAAMO,mBAAkC;IAC7CC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,eAAe;QACb;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;AACH,EAAE"}
@@ -1,44 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';
2
- export const accountMapper = {
3
- type: 'Account',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- code: parseString(resource.attributes['code']) || '',
10
- name: parseString(resource.attributes['name']) || '',
11
- label: parseString(resource.attributes['label']),
12
- status: parseStatus(resource.attributes['status']),
13
- enabled: parseBoolean(resource.attributes['enabled']),
14
- preferredDomain: parseString(resource.attributes['preferred_domain']),
15
- preferredLanguage: parseString(resource.attributes['preferred_language']),
16
- payload: resource.attributes['payload'],
17
- tags: parseStringArray(resource.attributes['tags']),
18
- createdBy: parseString(resource.attributes['created_by']),
19
- updatedBy: parseString(resource.attributes['updated_by'])
20
- })
21
- };
22
- export const accountDetailMapper = {
23
- type: 'AccountDetail',
24
- map: (resource)=>({
25
- id: resource.id,
26
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
27
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
28
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
29
- accountUniqueId: parseString(resource.attributes['account_unique_id']) || '',
30
- code: parseString(resource.attributes['code']) || '',
31
- name: parseString(resource.attributes['name']) || '',
32
- label: parseString(resource.attributes['label']),
33
- status: parseStatus(resource.attributes['status']),
34
- enabled: parseBoolean(resource.attributes['enabled']),
35
- preferredDomain: parseString(resource.attributes['preferred_domain']),
36
- preferredLanguage: parseString(resource.attributes['preferred_language']),
37
- payload: resource.attributes['payload'],
38
- tags: parseStringArray(resource.attributes['tags']),
39
- createdBy: parseString(resource.attributes['created_by']),
40
- updatedBy: parseString(resource.attributes['updated_by'])
41
- })
42
- };
43
-
44
- //# sourceMappingURL=account.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/account.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Account, AccountDetail } from '../types/account';\nimport { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';\n\nexport const accountMapper: ResourceMapper<Account> = {\n type: 'Account',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n code: parseString(resource.attributes['code']) || '',\n name: parseString(resource.attributes['name']) || '',\n label: parseString(resource.attributes['label']),\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n preferredDomain: parseString(resource.attributes['preferred_domain']),\n preferredLanguage: parseString(resource.attributes['preferred_language']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n tags: parseStringArray(resource.attributes['tags']),\n createdBy: parseString(resource.attributes['created_by']),\n updatedBy: parseString(resource.attributes['updated_by']),\n }),\n};\n\nexport const accountDetailMapper: ResourceMapper<AccountDetail> = {\n type: 'AccountDetail',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n accountUniqueId: parseString(resource.attributes['account_unique_id']) || '',\n code: parseString(resource.attributes['code']) || '',\n name: parseString(resource.attributes['name']) || '',\n label: parseString(resource.attributes['label']),\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n preferredDomain: parseString(resource.attributes['preferred_domain']),\n preferredLanguage: parseString(resource.attributes['preferred_language']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n tags: parseStringArray(resource.attributes['tags']),\n createdBy: parseString(resource.attributes['created_by']),\n updatedBy: parseString(resource.attributes['updated_by']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseStatus","parseStringArray","accountMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","code","name","label","status","enabled","preferredDomain","preferredLanguage","payload","tags","createdBy","updatedBy","accountDetailMapper","accountUniqueId"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAE9F,OAAO,MAAMC,gBAAyC;IACpDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,MAAMf,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDK,MAAMhB,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDM,OAAOjB,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CO,QAAQf,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDQ,SAASjB,aAAaM,SAASG,UAAU,CAAC,UAAU;YACpDS,iBAAiBpB,YAAYQ,SAASG,UAAU,CAAC,mBAAmB;YACpEU,mBAAmBrB,YAAYQ,SAASG,UAAU,CAAC,qBAAqB;YACxEW,SAASd,SAASG,UAAU,CAAC,UAAU;YACvCY,MAAMnB,iBAAiBI,SAASG,UAAU,CAAC,OAAO;YAClDa,WAAWxB,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDc,WAAWzB,YAAYQ,SAASG,UAAU,CAAC,aAAa;QAC1D,CAAA;AACF,EAAE;AAEF,OAAO,MAAMe,sBAAqD;IAChEpB,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/Dc,iBAAiB3B,YAAYQ,SAASG,UAAU,CAAC,oBAAoB,KAAK;YAC1EI,MAAMf,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDK,MAAMhB,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDM,OAAOjB,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CO,QAAQf,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDQ,SAASjB,aAAaM,SAASG,UAAU,CAAC,UAAU;YACpDS,iBAAiBpB,YAAYQ,SAASG,UAAU,CAAC,mBAAmB;YACpEU,mBAAmBrB,YAAYQ,SAASG,UAAU,CAAC,qBAAqB;YACxEW,SAASd,SAASG,UAAU,CAAC,UAAU;YACvCY,MAAMnB,iBAAiBI,SAASG,UAAU,CAAC,OAAO;YAClDa,WAAWxB,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDc,WAAWzB,YAAYQ,SAASG,UAAU,CAAC,aAAa;QAC1D,CAAA;AACF,EAAE"}
@@ -1,54 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';
2
- export const contactMapper = {
3
- type: 'Contact',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- firstName: parseString(resource.attributes['first_name']) || '',
10
- lastName: parseString(resource.attributes['last_name']) || '',
11
- middleName: parseString(resource.attributes['middle_name']),
12
- primaryEmail: parseString(resource.attributes['primary_email']),
13
- primaryPhone: parseString(resource.attributes['primary_phone']),
14
- position: parseString(resource.attributes['position']),
15
- notes: parseString(resource.attributes['notes']),
16
- source: parseString(resource.attributes['source']),
17
- sourceId: parseString(resource.attributes['source_id']),
18
- sourceAlias: parseString(resource.attributes['source_alias']),
19
- sourceType: parseString(resource.attributes['source_type']),
20
- status: parseStatus(resource.attributes['status']),
21
- contactStatus: parseString(resource.attributes['contact_status']),
22
- userUniqueId: parseString(resource.attributes['user_unique_id']),
23
- enabled: parseBoolean(resource.attributes['enabled']),
24
- tags: parseStringArray(resource.attributes['tags'])
25
- })
26
- };
27
- export const contactProfileMapper = {
28
- type: 'ContactProfile',
29
- map: (resource)=>({
30
- id: resource.id,
31
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
32
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
33
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
34
- contactUniqueId: parseString(resource.attributes['contact_unique_id']) || '',
35
- firstName: parseString(resource.attributes['first_name']) || '',
36
- lastName: parseString(resource.attributes['last_name']) || '',
37
- middleName: parseString(resource.attributes['middle_name']),
38
- primaryEmail: parseString(resource.attributes['primary_email']),
39
- primaryPhone: parseString(resource.attributes['primary_phone']),
40
- position: parseString(resource.attributes['position']),
41
- notes: parseString(resource.attributes['notes']),
42
- source: parseString(resource.attributes['source']),
43
- sourceId: parseString(resource.attributes['source_id']),
44
- sourceAlias: parseString(resource.attributes['source_alias']),
45
- sourceType: parseString(resource.attributes['source_type']),
46
- status: parseStatus(resource.attributes['status']),
47
- contactStatus: parseString(resource.attributes['contact_status']),
48
- userUniqueId: parseString(resource.attributes['user_unique_id']),
49
- enabled: parseBoolean(resource.attributes['enabled']),
50
- tags: parseStringArray(resource.attributes['tags'])
51
- })
52
- };
53
-
54
- //# sourceMappingURL=contact.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/contact.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Contact, ContactProfile } from '../types/contact';\nimport { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';\n\nexport const contactMapper: ResourceMapper<Contact> = {\n type: 'Contact',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n firstName: parseString(resource.attributes['first_name']) || '',\n lastName: parseString(resource.attributes['last_name']) || '',\n middleName: parseString(resource.attributes['middle_name']),\n primaryEmail: parseString(resource.attributes['primary_email']),\n primaryPhone: parseString(resource.attributes['primary_phone']),\n position: parseString(resource.attributes['position']),\n notes: parseString(resource.attributes['notes']),\n source: parseString(resource.attributes['source']),\n sourceId: parseString(resource.attributes['source_id']),\n sourceAlias: parseString(resource.attributes['source_alias']),\n sourceType: parseString(resource.attributes['source_type']),\n status: parseStatus(resource.attributes['status']),\n contactStatus: parseString(resource.attributes['contact_status']),\n userUniqueId: parseString(resource.attributes['user_unique_id']),\n enabled: parseBoolean(resource.attributes['enabled']),\n tags: parseStringArray(resource.attributes['tags']),\n }),\n};\n\nexport const contactProfileMapper: ResourceMapper<ContactProfile> = {\n type: 'ContactProfile',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n contactUniqueId: parseString(resource.attributes['contact_unique_id']) || '',\n firstName: parseString(resource.attributes['first_name']) || '',\n lastName: parseString(resource.attributes['last_name']) || '',\n middleName: parseString(resource.attributes['middle_name']),\n primaryEmail: parseString(resource.attributes['primary_email']),\n primaryPhone: parseString(resource.attributes['primary_phone']),\n position: parseString(resource.attributes['position']),\n notes: parseString(resource.attributes['notes']),\n source: parseString(resource.attributes['source']),\n sourceId: parseString(resource.attributes['source_id']),\n sourceAlias: parseString(resource.attributes['source_alias']),\n sourceType: parseString(resource.attributes['source_type']),\n status: parseStatus(resource.attributes['status']),\n contactStatus: parseString(resource.attributes['contact_status']),\n userUniqueId: parseString(resource.attributes['user_unique_id']),\n enabled: parseBoolean(resource.attributes['enabled']),\n tags: parseStringArray(resource.attributes['tags']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseStatus","parseStringArray","contactMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","firstName","lastName","middleName","primaryEmail","primaryPhone","position","notes","source","sourceId","sourceAlias","sourceType","status","contactStatus","userUniqueId","enabled","tags","contactProfileMapper","contactUniqueId"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAE9F,OAAO,MAAMC,gBAAyC;IACpDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,WAAWf,YAAYQ,SAASG,UAAU,CAAC,aAAa,KAAK;YAC7DK,UAAUhB,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAK;YAC3DM,YAAYjB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1DO,cAAclB,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAC9DQ,cAAcnB,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAC9DS,UAAUpB,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACrDU,OAAOrB,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CW,QAAQtB,YAAYQ,SAASG,UAAU,CAAC,SAAS;YACjDY,UAAUvB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDa,aAAaxB,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5Dc,YAAYzB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1De,QAAQvB,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDgB,eAAe3B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAChEiB,cAAc5B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAC/DkB,SAAS3B,aAAaM,SAASG,UAAU,CAAC,UAAU;YACpDmB,MAAM1B,iBAAiBI,SAASG,UAAU,CAAC,OAAO;QACpD,CAAA;AACF,EAAE;AAEF,OAAO,MAAMoB,uBAAuD;IAClEzB,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DmB,iBAAiBhC,YAAYQ,SAASG,UAAU,CAAC,oBAAoB,KAAK;YAC1EI,WAAWf,YAAYQ,SAASG,UAAU,CAAC,aAAa,KAAK;YAC7DK,UAAUhB,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAK;YAC3DM,YAAYjB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1DO,cAAclB,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAC9DQ,cAAcnB,YAAYQ,SAASG,UAAU,CAAC,gBAAgB;YAC9DS,UAAUpB,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACrDU,OAAOrB,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CW,QAAQtB,YAAYQ,SAASG,UAAU,CAAC,SAAS;YACjDY,UAAUvB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDa,aAAaxB,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5Dc,YAAYzB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1De,QAAQvB,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDgB,eAAe3B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAChEiB,cAAc5B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAC/DkB,SAAS3B,aAAaM,SAASG,UAAU,CAAC,UAAU;YACpDmB,MAAM1B,iBAAiBI,SAASG,UAAU,CAAC,OAAO;QACpD,CAAA;AACF,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/index.ts"],"sourcesContent":["export * from './account.mapper';\nexport * from './contact.mapper';\nexport * from './lead.mapper';\nexport * from './opportunity.mapper';\nexport * from './meeting.mapper';\nexport * from './quote.mapper';\nexport * from './utils';\n"],"names":[],"rangeMappings":";;;;;;","mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,iBAAiB;AAC/B,cAAc,UAAU"}
@@ -1,31 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';
2
- export const leadMapper = {
3
- type: 'Lead',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- firstName: parseString(resource.attributes['first_name']) || '',
10
- lastName: parseString(resource.attributes['last_name']) || '',
11
- middleName: parseString(resource.attributes['middle_name']),
12
- leadEmail: parseString(resource.attributes['lead_email']),
13
- phoneNumber: parseString(resource.attributes['phone_number']),
14
- webSite: parseString(resource.attributes['web_site']),
15
- twitter: parseString(resource.attributes['twitter']),
16
- fb: parseString(resource.attributes['fb']),
17
- instagram: parseString(resource.attributes['instagram']),
18
- linkedin: parseString(resource.attributes['linkedin']),
19
- youtube: parseString(resource.attributes['youtube']),
20
- blog: parseString(resource.attributes['blog']),
21
- notes: parseString(resource.attributes['notes']),
22
- source: parseString(resource.attributes['source']),
23
- status: parseStatus(resource.attributes['status']),
24
- contactStatus: parseString(resource.attributes['contact_status']),
25
- enabled: parseBoolean(resource.attributes['enabled']),
26
- payload: resource.attributes['payload'],
27
- tags: parseStringArray(resource.attributes['tags'])
28
- })
29
- };
30
-
31
- //# sourceMappingURL=lead.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/lead.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Lead } from '../types/lead';\nimport { parseString, parseDate, parseBoolean, parseStatus, parseStringArray } from './utils';\n\nexport const leadMapper: ResourceMapper<Lead> = {\n type: 'Lead',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n firstName: parseString(resource.attributes['first_name']) || '',\n lastName: parseString(resource.attributes['last_name']) || '',\n middleName: parseString(resource.attributes['middle_name']),\n leadEmail: parseString(resource.attributes['lead_email']),\n phoneNumber: parseString(resource.attributes['phone_number']),\n webSite: parseString(resource.attributes['web_site']),\n twitter: parseString(resource.attributes['twitter']),\n fb: parseString(resource.attributes['fb']),\n instagram: parseString(resource.attributes['instagram']),\n linkedin: parseString(resource.attributes['linkedin']),\n youtube: parseString(resource.attributes['youtube']),\n blog: parseString(resource.attributes['blog']),\n notes: parseString(resource.attributes['notes']),\n source: parseString(resource.attributes['source']),\n status: parseStatus(resource.attributes['status']),\n contactStatus: parseString(resource.attributes['contact_status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n tags: parseStringArray(resource.attributes['tags']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseStatus","parseStringArray","leadMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","firstName","lastName","middleName","leadEmail","phoneNumber","webSite","twitter","fb","instagram","linkedin","youtube","blog","notes","source","status","contactStatus","enabled","payload","tags"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAE9F,OAAO,MAAMC,aAAmC;IAC9CC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,WAAWf,YAAYQ,SAASG,UAAU,CAAC,aAAa,KAAK;YAC7DK,UAAUhB,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAK;YAC3DM,YAAYjB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1DO,WAAWlB,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDQ,aAAanB,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5DS,SAASpB,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACpDU,SAASrB,YAAYQ,SAASG,UAAU,CAAC,UAAU;YACnDW,IAAItB,YAAYQ,SAASG,UAAU,CAAC,KAAK;YACzCY,WAAWvB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACvDa,UAAUxB,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACrDc,SAASzB,YAAYQ,SAASG,UAAU,CAAC,UAAU;YACnDe,MAAM1B,YAAYQ,SAASG,UAAU,CAAC,OAAO;YAC7CgB,OAAO3B,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CiB,QAAQ5B,YAAYQ,SAASG,UAAU,CAAC,SAAS;YACjDkB,QAAQ1B,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDmB,eAAe9B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAChEoB,SAAS7B,aAAaM,SAASG,UAAU,CAAC,UAAU;YACpDqB,SAASxB,SAASG,UAAU,CAAC,UAAU;YACvCsB,MAAM7B,iBAAiBI,SAASG,UAAU,CAAC,OAAO;QACpD,CAAA;AACF,EAAE"}
@@ -1,34 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';
2
- export const meetingMapper = {
3
- type: 'Meeting',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- code: parseString(resource.attributes['code']) || '',
10
- title: parseString(resource.attributes['title']) || '',
11
- meetingType: parseString(resource.attributes['meeting_type']),
12
- token: parseString(resource.attributes['token']),
13
- description: parseString(resource.attributes['description']),
14
- scheduledAt: parseDate(resource.attributes['scheduled_at']),
15
- startTime: parseDate(resource.attributes['start_time']),
16
- endTime: parseDate(resource.attributes['end_time']),
17
- timeUnit: parseString(resource.attributes['time_unit']),
18
- timeQuantity: parseOptionalNumber(resource.attributes['time_quantity']),
19
- allDay: parseBoolean(resource.attributes['all_day']),
20
- timezone: parseString(resource.attributes['timezone']),
21
- userUniqueId: parseString(resource.attributes['user_unique_id']),
22
- userName: parseString(resource.attributes['user_name']),
23
- userEmail: parseString(resource.attributes['user_email']),
24
- accountUniqueId: parseString(resource.attributes['account_unique_id']),
25
- meetingLocation: parseString(resource.attributes['meeting_location']),
26
- meetingUrl: parseString(resource.attributes['meeting_url']),
27
- meetingScore: parseOptionalNumber(resource.attributes['meeting_score']),
28
- payload: resource.attributes['payload'],
29
- status: parseStatus(resource.attributes['status']),
30
- enabled: parseBoolean(resource.attributes['enabled'])
31
- })
32
- };
33
-
34
- //# sourceMappingURL=meeting.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/meeting.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Meeting } from '../types/meeting';\nimport { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus } from './utils';\n\nexport const meetingMapper: ResourceMapper<Meeting> = {\n type: 'Meeting',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n code: parseString(resource.attributes['code']) || '',\n title: parseString(resource.attributes['title']) || '',\n meetingType: parseString(resource.attributes['meeting_type']),\n token: parseString(resource.attributes['token']),\n description: parseString(resource.attributes['description']),\n scheduledAt: parseDate(resource.attributes['scheduled_at']),\n startTime: parseDate(resource.attributes['start_time']),\n endTime: parseDate(resource.attributes['end_time']),\n timeUnit: parseString(resource.attributes['time_unit']),\n timeQuantity: parseOptionalNumber(resource.attributes['time_quantity']),\n allDay: parseBoolean(resource.attributes['all_day']),\n timezone: parseString(resource.attributes['timezone']),\n userUniqueId: parseString(resource.attributes['user_unique_id']),\n userName: parseString(resource.attributes['user_name']),\n userEmail: parseString(resource.attributes['user_email']),\n accountUniqueId: parseString(resource.attributes['account_unique_id']),\n meetingLocation: parseString(resource.attributes['meeting_location']),\n meetingUrl: parseString(resource.attributes['meeting_url']),\n meetingScore: parseOptionalNumber(resource.attributes['meeting_score']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseOptionalNumber","parseStatus","meetingMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","code","title","meetingType","token","description","scheduledAt","startTime","endTime","timeUnit","timeQuantity","allDay","timezone","userUniqueId","userName","userEmail","accountUniqueId","meetingLocation","meetingUrl","meetingScore","payload","status","enabled"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,WAAW,QAAQ,UAAU;AAEjG,OAAO,MAAMC,gBAAyC;IACpDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,MAAMf,YAAYQ,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDK,OAAOhB,YAAYQ,SAASG,UAAU,CAAC,QAAQ,KAAK;YACpDM,aAAajB,YAAYQ,SAASG,UAAU,CAAC,eAAe;YAC5DO,OAAOlB,YAAYQ,SAASG,UAAU,CAAC,QAAQ;YAC/CQ,aAAanB,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC3DS,aAAanB,UAAUO,SAASG,UAAU,CAAC,eAAe;YAC1DU,WAAWpB,UAAUO,SAASG,UAAU,CAAC,aAAa;YACtDW,SAASrB,UAAUO,SAASG,UAAU,CAAC,WAAW;YAClDY,UAAUvB,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDa,cAAcrB,oBAAoBK,SAASG,UAAU,CAAC,gBAAgB;YACtEc,QAAQvB,aAAaM,SAASG,UAAU,CAAC,UAAU;YACnDe,UAAU1B,YAAYQ,SAASG,UAAU,CAAC,WAAW;YACrDgB,cAAc3B,YAAYQ,SAASG,UAAU,CAAC,iBAAiB;YAC/DiB,UAAU5B,YAAYQ,SAASG,UAAU,CAAC,YAAY;YACtDkB,WAAW7B,YAAYQ,SAASG,UAAU,CAAC,aAAa;YACxDmB,iBAAiB9B,YAAYQ,SAASG,UAAU,CAAC,oBAAoB;YACrEoB,iBAAiB/B,YAAYQ,SAASG,UAAU,CAAC,mBAAmB;YACpEqB,YAAYhC,YAAYQ,SAASG,UAAU,CAAC,cAAc;YAC1DsB,cAAc9B,oBAAoBK,SAASG,UAAU,CAAC,gBAAgB;YACtEuB,SAAS1B,SAASG,UAAU,CAAC,UAAU;YACvCwB,QAAQ/B,YAAYI,SAASG,UAAU,CAAC,SAAS;YACjDyB,SAASlC,aAAaM,SAASG,UAAU,CAAC,UAAU;QACtD,CAAA;AACF,EAAE"}
@@ -1,30 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus, parseStringArray } from './utils';
2
- export const opportunityMapper = {
3
- type: 'Opportunity',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- accountUniqueId: parseString(resource.attributes['account_unique_id']),
10
- contactUniqueId: parseString(resource.attributes['contact_unique_id']),
11
- code: parseString(resource.attributes['code']) || '',
12
- name: parseString(resource.attributes['name']) || '',
13
- notes: parseString(resource.attributes['notes']),
14
- budget: parseOptionalNumber(resource.attributes['budget']),
15
- total: parseOptionalNumber(resource.attributes['total']),
16
- duration: parseOptionalNumber(resource.attributes['duration']),
17
- durationUnit: parseString(resource.attributes['duration_unit']),
18
- durationDescription: parseString(resource.attributes['duration_description']),
19
- payload: resource.attributes['payload'],
20
- nextActionAt: parseDate(resource.attributes['next_action_at']),
21
- ownerUniqueId: parseString(resource.attributes['owner_unique_id']),
22
- ownerName: parseString(resource.attributes['owner_name']),
23
- ownerEmail: parseString(resource.attributes['owner_email']),
24
- status: parseStatus(resource.attributes['status']),
25
- enabled: parseBoolean(resource.attributes['enabled']),
26
- tags: parseStringArray(resource.attributes['tags'])
27
- })
28
- };
29
-
30
- //# sourceMappingURL=opportunity.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/opportunity.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Opportunity } from '../types/opportunity';\nimport { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus, parseStringArray } from './utils';\n\nexport const opportunityMapper: ResourceMapper<Opportunity> = {\n type: 'Opportunity',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n accountUniqueId: parseString(resource.attributes['account_unique_id']),\n contactUniqueId: parseString(resource.attributes['contact_unique_id']),\n code: parseString(resource.attributes['code']) || '',\n name: parseString(resource.attributes['name']) || '',\n notes: parseString(resource.attributes['notes']),\n budget: parseOptionalNumber(resource.attributes['budget']),\n total: parseOptionalNumber(resource.attributes['total']),\n duration: parseOptionalNumber(resource.attributes['duration']),\n durationUnit: parseString(resource.attributes['duration_unit']),\n durationDescription: parseString(resource.attributes['duration_description']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n nextActionAt: parseDate(resource.attributes['next_action_at']),\n ownerUniqueId: parseString(resource.attributes['owner_unique_id']),\n ownerName: parseString(resource.attributes['owner_name']),\n ownerEmail: parseString(resource.attributes['owner_email']),\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n tags: parseStringArray(resource.attributes['tags']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseOptionalNumber","parseStatus","parseStringArray","opportunityMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","accountUniqueId","contactUniqueId","code","name","notes","budget","total","duration","durationUnit","durationDescription","payload","nextActionAt","ownerUniqueId","ownerName","ownerEmail","status","enabled","tags"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAEnH,OAAO,MAAMC,oBAAiD;IAC5DC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUX,YAAYS,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWZ,UAAUQ,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWd,UAAUQ,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,iBAAiBhB,YAAYS,SAASG,UAAU,CAAC,oBAAoB;YACrEK,iBAAiBjB,YAAYS,SAASG,UAAU,CAAC,oBAAoB;YACrEM,MAAMlB,YAAYS,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDO,MAAMnB,YAAYS,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDQ,OAAOpB,YAAYS,SAASG,UAAU,CAAC,QAAQ;YAC/CS,QAAQlB,oBAAoBM,SAASG,UAAU,CAAC,SAAS;YACzDU,OAAOnB,oBAAoBM,SAASG,UAAU,CAAC,QAAQ;YACvDW,UAAUpB,oBAAoBM,SAASG,UAAU,CAAC,WAAW;YAC7DY,cAAcxB,YAAYS,SAASG,UAAU,CAAC,gBAAgB;YAC9Da,qBAAqBzB,YAAYS,SAASG,UAAU,CAAC,uBAAuB;YAC5Ec,SAASjB,SAASG,UAAU,CAAC,UAAU;YACvCe,cAAc1B,UAAUQ,SAASG,UAAU,CAAC,iBAAiB;YAC7DgB,eAAe5B,YAAYS,SAASG,UAAU,CAAC,kBAAkB;YACjEiB,WAAW7B,YAAYS,SAASG,UAAU,CAAC,aAAa;YACxDkB,YAAY9B,YAAYS,SAASG,UAAU,CAAC,cAAc;YAC1DmB,QAAQ3B,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDoB,SAAS9B,aAAaO,SAASG,UAAU,CAAC,UAAU;YACpDqB,MAAM5B,iBAAiBI,SAASG,UAAU,CAAC,OAAO;QACpD,CAAA;AACF,EAAE"}
@@ -1,30 +0,0 @@
1
- import { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus, parseStringArray } from './utils';
2
- export const quoteMapper = {
3
- type: 'Quote',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- accountUniqueId: parseString(resource.attributes['account_unique_id']),
10
- contactUniqueId: parseString(resource.attributes['contact_unique_id']),
11
- code: parseString(resource.attributes['code']) || '',
12
- name: parseString(resource.attributes['name']) || '',
13
- notes: parseString(resource.attributes['notes']),
14
- budget: parseOptionalNumber(resource.attributes['budget']),
15
- total: parseOptionalNumber(resource.attributes['total']),
16
- duration: parseOptionalNumber(resource.attributes['duration']),
17
- durationUnit: parseString(resource.attributes['duration_unit']),
18
- durationDescription: parseString(resource.attributes['duration_description']),
19
- payload: resource.attributes['payload'],
20
- nextActionAt: parseDate(resource.attributes['next_action_at']),
21
- ownerUniqueId: parseString(resource.attributes['owner_unique_id']),
22
- ownerName: parseString(resource.attributes['owner_name']),
23
- ownerEmail: parseString(resource.attributes['owner_email']),
24
- status: parseStatus(resource.attributes['status']),
25
- enabled: parseBoolean(resource.attributes['enabled']),
26
- tags: parseStringArray(resource.attributes['tags'])
27
- })
28
- };
29
-
30
- //# sourceMappingURL=quote.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/quote.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Quote } from '../types/quote';\nimport { parseString, parseDate, parseBoolean, parseOptionalNumber, parseStatus, parseStringArray } from './utils';\n\nexport const quoteMapper: ResourceMapper<Quote> = {\n type: 'Quote',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n accountUniqueId: parseString(resource.attributes['account_unique_id']),\n contactUniqueId: parseString(resource.attributes['contact_unique_id']),\n code: parseString(resource.attributes['code']) || '',\n name: parseString(resource.attributes['name']) || '',\n notes: parseString(resource.attributes['notes']),\n budget: parseOptionalNumber(resource.attributes['budget']),\n total: parseOptionalNumber(resource.attributes['total']),\n duration: parseOptionalNumber(resource.attributes['duration']),\n durationUnit: parseString(resource.attributes['duration_unit']),\n durationDescription: parseString(resource.attributes['duration_description']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n nextActionAt: parseDate(resource.attributes['next_action_at']),\n ownerUniqueId: parseString(resource.attributes['owner_unique_id']),\n ownerName: parseString(resource.attributes['owner_name']),\n ownerEmail: parseString(resource.attributes['owner_email']),\n status: parseStatus(resource.attributes['status']),\n enabled: parseBoolean(resource.attributes['enabled']),\n tags: parseStringArray(resource.attributes['tags']),\n }),\n};\n"],"names":["parseString","parseDate","parseBoolean","parseOptionalNumber","parseStatus","parseStringArray","quoteMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","accountUniqueId","contactUniqueId","code","name","notes","budget","total","duration","durationUnit","durationDescription","payload","nextActionAt","ownerUniqueId","ownerName","ownerEmail","status","enabled","tags"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAEnH,OAAO,MAAMC,cAAqC;IAChDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUX,YAAYS,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWZ,UAAUQ,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWd,UAAUQ,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,iBAAiBhB,YAAYS,SAASG,UAAU,CAAC,oBAAoB;YACrEK,iBAAiBjB,YAAYS,SAASG,UAAU,CAAC,oBAAoB;YACrEM,MAAMlB,YAAYS,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDO,MAAMnB,YAAYS,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDQ,OAAOpB,YAAYS,SAASG,UAAU,CAAC,QAAQ;YAC/CS,QAAQlB,oBAAoBM,SAASG,UAAU,CAAC,SAAS;YACzDU,OAAOnB,oBAAoBM,SAASG,UAAU,CAAC,QAAQ;YACvDW,UAAUpB,oBAAoBM,SAASG,UAAU,CAAC,WAAW;YAC7DY,cAAcxB,YAAYS,SAASG,UAAU,CAAC,gBAAgB;YAC9Da,qBAAqBzB,YAAYS,SAASG,UAAU,CAAC,uBAAuB;YAC5Ec,SAASjB,SAASG,UAAU,CAAC,UAAU;YACvCe,cAAc1B,UAAUQ,SAASG,UAAU,CAAC,iBAAiB;YAC7DgB,eAAe5B,YAAYS,SAASG,UAAU,CAAC,kBAAkB;YACjEiB,WAAW7B,YAAYS,SAASG,UAAU,CAAC,aAAa;YACxDkB,YAAY9B,YAAYS,SAASG,UAAU,CAAC,cAAc;YAC1DmB,QAAQ3B,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDoB,SAAS9B,aAAaO,SAASG,UAAU,CAAC,UAAU;YACpDqB,MAAM5B,iBAAiBI,SAASG,UAAU,CAAC,OAAO;QACpD,CAAA;AACF,EAAE"}