@sweepbright/api-client 0.29.4 → 0.29.8

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 (64) hide show
  1. package/dist/api-client.cjs.development.js +44 -3
  2. package/dist/api-client.cjs.development.js.map +1 -1
  3. package/dist/api-client.cjs.production.min.js +1 -1
  4. package/dist/api-client.cjs.production.min.js.map +1 -1
  5. package/dist/api-client.esm.js +44 -3
  6. package/dist/api-client.esm.js.map +1 -1
  7. package/dist/common/config.d.ts +2 -0
  8. package/dist/common/currencies.d.ts +50 -0
  9. package/dist/common/logger.d.ts +27 -0
  10. package/dist/common/types.d.ts +1 -0
  11. package/dist/entities/property.d.ts +523 -0
  12. package/dist/index.d.ts +9 -7
  13. package/dist/mockServer.js +27 -0
  14. package/dist/mockServer.js.map +1 -0
  15. package/dist/resources/estates.d.ts +5 -9
  16. package/dist/resources/offices.d.ts +6 -0
  17. package/dist/src/__tests__/auth.test.js +15 -0
  18. package/dist/src/__tests__/auth.test.js.map +1 -0
  19. package/dist/src/__tests__/channels.test.js +77 -0
  20. package/dist/src/__tests__/channels.test.js.map +1 -0
  21. package/dist/src/__tests__/contacts.test.js +61 -0
  22. package/dist/src/__tests__/contacts.test.js.map +1 -0
  23. package/dist/src/__tests__/estates.test.js +43 -0
  24. package/dist/src/__tests__/estates.test.js.map +1 -0
  25. package/dist/src/__tests__/leads.test.js +55 -0
  26. package/dist/src/__tests__/leads.test.js.map +1 -0
  27. package/dist/src/common/config.js +34 -0
  28. package/dist/src/common/config.js.map +1 -0
  29. package/dist/src/common/currencies.js +55 -0
  30. package/dist/src/common/currencies.js.map +1 -0
  31. package/dist/src/common/logger.js +50 -0
  32. package/dist/src/common/logger.js.map +1 -0
  33. package/dist/src/common/types.js +3 -0
  34. package/dist/src/common/types.js.map +1 -0
  35. package/dist/src/entities/office.js +9 -0
  36. package/dist/src/entities/office.js.map +1 -0
  37. package/dist/src/entities/property.js +220 -0
  38. package/dist/src/entities/property.js.map +1 -0
  39. package/dist/src/index.js +94 -0
  40. package/dist/src/index.js.map +1 -0
  41. package/dist/src/resources/channel_accounts.js +31 -0
  42. package/dist/src/resources/channel_accounts.js.map +1 -0
  43. package/dist/src/resources/channels.js +32 -0
  44. package/dist/src/resources/channels.js.map +1 -0
  45. package/dist/src/resources/companies.js +16 -0
  46. package/dist/src/resources/companies.js.map +1 -0
  47. package/dist/src/resources/contact_preferences.js +14 -0
  48. package/dist/src/resources/contact_preferences.js.map +1 -0
  49. package/dist/src/resources/contacts.js +29 -0
  50. package/dist/src/resources/contacts.js.map +1 -0
  51. package/dist/src/resources/estates.js +73 -0
  52. package/dist/src/resources/estates.js.map +1 -0
  53. package/dist/src/resources/leads.js +26 -0
  54. package/dist/src/resources/leads.js.map +1 -0
  55. package/dist/src/resources/negotiators.js +16 -0
  56. package/dist/src/resources/negotiators.js.map +1 -0
  57. package/dist/src/resources/offices.js +12 -0
  58. package/dist/src/resources/offices.js.map +1 -0
  59. package/dist/src/types.js +40 -0
  60. package/dist/src/types.js.map +1 -0
  61. package/dist/src/utils.js +28 -0
  62. package/dist/src/utils.js.map +1 -0
  63. package/dist/types.d.ts +39 -0
  64. package/package.json +11 -10
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("../");
4
+ const mockServer_1 = require("../../mockServer");
5
+ describe('channels', () => {
6
+ it('can fetch a references list', async () => {
7
+ const client = (0, __1.createClient)({
8
+ clientId: 'FAKE_ID',
9
+ clientSecret: 'FAKE_SECRET',
10
+ });
11
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
12
+ await client.authorize();
13
+ const estateId = 'FAKE_ESTATE_ID';
14
+ const reference = 'FAKE_REFERENCE';
15
+ const channelAccountId = 'FAKE_CHANNEL_ACCOUNT_ID';
16
+ const companyId = 'FAKE_COMPANY_ID';
17
+ const channelId = 'FAKE_CHANNEL_ID';
18
+ mockServer_1.server.use(mockServer_1.rest.get('https://api.sweepbright.com/services/channel-references', (req, res, ctx) => {
19
+ return res(ctx.status(200), ctx.json({
20
+ data: [
21
+ {
22
+ reference_code: req.url.searchParams.get('reference_code'),
23
+ company_id: req.url.searchParams.get('company_id'),
24
+ channel_id: req.url.searchParams.get('channel_id'),
25
+ estate_id: estateId,
26
+ channel_account_id: channelAccountId,
27
+ },
28
+ ],
29
+ }));
30
+ }));
31
+ const result = await client.channels.resolveReferences(channelId, reference, companyId);
32
+ expect(result).toEqual({
33
+ data: [
34
+ {
35
+ reference_code: reference,
36
+ estate_id: estateId,
37
+ channel_account_id: channelAccountId,
38
+ channel_id: channelId,
39
+ company_id: companyId,
40
+ },
41
+ ],
42
+ });
43
+ });
44
+ it('it does not send a company_id when not set', async () => {
45
+ const client = (0, __1.createClient)({
46
+ clientId: 'FAKE_ID',
47
+ clientSecret: 'FAKE_SECRET',
48
+ });
49
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
50
+ await client.authorize();
51
+ const estateId = 'FAKE_ESTATE_ID';
52
+ const reference = 'FAKE_REFERENCE';
53
+ const channelAccountId = 'FAKE_CHANNEL_ACCOUNT_ID';
54
+ const channelId = 'FAKE_CHANNEL_ID';
55
+ mockServer_1.server.use(mockServer_1.rest.get('https://api.sweepbright.com/services/channel-references', (req, res, ctx) => {
56
+ try {
57
+ expect(req.url.search).toEqual(`?channel_id=${channelId}&reference_code=${reference}`);
58
+ }
59
+ catch (e) {
60
+ return res(ctx.status(500), ctx.json({ error: e }));
61
+ }
62
+ return res(ctx.status(200), ctx.json({
63
+ data: [
64
+ {
65
+ reference_code: req.url.searchParams.get('reference_code'),
66
+ company_id: 'FAKE',
67
+ channel_id: req.url.searchParams.get('channel_id'),
68
+ estate_id: estateId,
69
+ channel_account_id: channelAccountId,
70
+ },
71
+ ],
72
+ }));
73
+ }));
74
+ await client.channels.resolveReferences(channelId, reference, undefined);
75
+ });
76
+ });
77
+ //# sourceMappingURL=channels.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.test.js","sourceRoot":"","sources":["../../../src/__tests__/channels.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("../");
4
+ const mockServer_1 = require("../../mockServer");
5
+ describe('contacts', () => {
6
+ it('requires authentication', async () => {
7
+ const client = (0, __1.createClient)({
8
+ clientId: 'FAKE_ID',
9
+ clientSecret: 'FAKE_SECRET',
10
+ });
11
+ try {
12
+ await client.contacts.getOne({
13
+ contactId: 'foo',
14
+ });
15
+ }
16
+ catch (err) {
17
+ expect(err.message).toEqual('client is not authenticated');
18
+ }
19
+ });
20
+ it('can fetch a contact', async () => {
21
+ const client = (0, __1.createClient)({
22
+ clientId: 'FAKE_ID',
23
+ clientSecret: 'FAKE_SECRET',
24
+ });
25
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
26
+ await client.authorize();
27
+ const contactId = 'FAKE_CONTACT_ID';
28
+ mockServer_1.server.use(mockServer_1.rest.get('https://api.sweepbright.com/services/contacts/:contactId', (req, res, ctx) => {
29
+ return res(ctx.status(200), ctx.json({
30
+ data: {
31
+ id: req.params.contactId,
32
+ },
33
+ }));
34
+ }));
35
+ const result = await client.contacts.getOne({
36
+ contactId: contactId,
37
+ });
38
+ expect(result).toEqual({ data: { id: contactId } });
39
+ });
40
+ it('can fetch a contact with negotiators', async () => {
41
+ const client = (0, __1.createClient)({
42
+ clientId: 'FAKE_ID',
43
+ clientSecret: 'FAKE_SECRET',
44
+ });
45
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
46
+ await client.authorize();
47
+ const contactId = 'FAKE_CONTACT_ID';
48
+ mockServer_1.server.use(mockServer_1.rest.get('https://api.sweepbright.com/services/contacts/:contactId?includes=negotiators', (req, res, ctx) => {
49
+ return res(ctx.status(200), ctx.json({
50
+ data: {
51
+ id: req.params.contactId,
52
+ },
53
+ }));
54
+ }));
55
+ const result = await client.contacts.getOneWithNegotiators({
56
+ contactId: contactId,
57
+ });
58
+ expect(result).toEqual({ data: { id: contactId } });
59
+ });
60
+ });
61
+ //# sourceMappingURL=contacts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.test.js","sourceRoot":"","sources":["../../../src/__tests__/contacts.test.ts"],"names":[],"mappings":";;AAAA,2BAAmC;AACnC,iDAA0D;AAE1D,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,mBAAM,CAAC,GAAG,CAAC,qBAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,iBAAiB,CAAC;QACpC,mBAAM,CAAC,GAAG,CACR,iBAAI,CAAC,GAAG,CACN,0DAA0D,EAC1D,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChB,OAAO,GAAG,CACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EACf,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE;oBACJ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;iBACzB;aACF,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1C,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,mBAAM,CAAC,GAAG,CAAC,qBAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,iBAAiB,CAAC;QACpC,mBAAM,CAAC,GAAG,CACR,iBAAI,CAAC,GAAG,CACN,+EAA+E,EAC/E,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChB,OAAO,GAAG,CACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EACf,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE;oBACJ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;iBACzB;aACF,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzD,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("../");
4
+ const mockServer_1 = require("../../mockServer");
5
+ describe('estates', () => {
6
+ it('requires authentication', async () => {
7
+ const client = (0, __1.createClient)({
8
+ clientId: 'FAKE_ID',
9
+ clientSecret: 'FAKE_SECRET',
10
+ });
11
+ try {
12
+ await client.estates.getOne({
13
+ estateId: 'FAKE_ESTATE_ID',
14
+ companyId: 'FAKE_COMPANY_ID',
15
+ });
16
+ }
17
+ catch (err) {
18
+ await expect(err.message).toEqual('client is not authenticated');
19
+ }
20
+ });
21
+ it('can fetch a estate', async () => {
22
+ const client = (0, __1.createClient)({
23
+ clientId: 'FAKE_ID',
24
+ clientSecret: 'FAKE_SECRET',
25
+ });
26
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
27
+ await client.authorize();
28
+ const estateId = 'FAKE_ESTATE_ID';
29
+ mockServer_1.server.use(mockServer_1.rest.get('https://api.sweepbright.com/services/estates/:estateId', (req, res, ctx) => {
30
+ return res(ctx.status(200), ctx.json({
31
+ data: {
32
+ id: req.params.estateId,
33
+ },
34
+ }));
35
+ }));
36
+ const result = await client.estates.getOne({
37
+ estateId: estateId,
38
+ companyId: 'FAKE_COMPANY_ID',
39
+ });
40
+ expect(result).toEqual({ id: estateId });
41
+ });
42
+ });
43
+ //# sourceMappingURL=estates.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estates.test.js","sourceRoot":"","sources":["../../../src/__tests__/estates.test.ts"],"names":[],"mappings":";;AAAA,2BAAmC;AACnC,iDAA0D;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;SAC3E;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,mBAAM,CAAC,GAAG,CAAC,qBAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,mBAAM,CAAC,GAAG,CACR,iBAAI,CAAC,GAAG,CACN,wDAAwD,EACxD,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChB,OAAO,GAAG,CACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EACf,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE;oBACJ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ;iBACxB;aACF,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("../");
4
+ const mockServer_1 = require("../../mockServer");
5
+ describe('leads', () => {
6
+ it('requires authentication', async () => {
7
+ const client = (0, __1.createClient)({
8
+ clientId: 'FAKE_ID',
9
+ clientSecret: 'FAKE_SECRET',
10
+ });
11
+ try {
12
+ await client.leads.createLead({
13
+ firstName: 'foo',
14
+ lastName: 'bar',
15
+ propertyId: 'baz',
16
+ email: 'john@example.com',
17
+ phone: '999',
18
+ message: "I'm not authenticated",
19
+ portal: 'portal',
20
+ });
21
+ }
22
+ catch (err) {
23
+ expect(err.message).toEqual('client is not authenticated');
24
+ }
25
+ });
26
+ it('can put a lead', async () => {
27
+ const client = (0, __1.createClient)({
28
+ clientId: 'FAKE_ID',
29
+ clientSecret: 'FAKE_SECRET',
30
+ });
31
+ mockServer_1.server.use(mockServer_1.handlers.authHandler);
32
+ await client.authorize();
33
+ const lead = {
34
+ firstName: 'foo',
35
+ lastName: 'bar',
36
+ propertyId: 'PROPERTY_ID',
37
+ email: 'john@example.com',
38
+ phone: '999',
39
+ message: "I'm authenticated",
40
+ portal: 'portal',
41
+ location_preference: {
42
+ country: 'BR',
43
+ postal_codes: ['06010'],
44
+ },
45
+ };
46
+ mockServer_1.server.use(mockServer_1.rest.put('https://api.sweepbright.com/estates/PROPERTY_ID/leads', (_, res, ctx) => {
47
+ return res(ctx.status(200), ctx.json({
48
+ data: lead,
49
+ }));
50
+ }));
51
+ const result = await client.leads.createLead(lead);
52
+ expect(result).toEqual({ data: lead });
53
+ });
54
+ });
55
+ //# sourceMappingURL=leads.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leads.test.js","sourceRoot":"","sources":["../../../src/__tests__/leads.test.ts"],"names":[],"mappings":";;AAAA,2BAAmC;AACnC,iDAA0D;AAE1D,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC5B,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,uBAAuB;gBAChC,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAA,gBAAY,EAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,mBAAM,CAAC,GAAG,CAAC,qBAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE;gBACnB,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,CAAC,OAAO,CAAC;aACxB;SACF,CAAC;QAEF,mBAAM,CAAC,GAAG,CACR,iBAAI,CAAC,GAAG,CACN,uDAAuD,EACvD,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACd,OAAO,GAAG,CACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EACf,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,IAAI;aACX,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const convict_1 = __importDefault(require("convict"));
7
+ const convict_format_with_validator_1 = __importDefault(require("convict-format-with-validator"));
8
+ convict_1.default.addFormats(convict_format_with_validator_1.default);
9
+ const config = (0, convict_1.default)({
10
+ env: {
11
+ doc: "The application environment.",
12
+ format: ["production", "dev", "staging"],
13
+ default: "dev",
14
+ env: "STAGE",
15
+ },
16
+ nodeEnv: {
17
+ env: "NODE_ENV",
18
+ doc: "Node env",
19
+ format: String,
20
+ default: ""
21
+ },
22
+ service: {
23
+ name: {
24
+ doc: "The name of the service.",
25
+ format: String,
26
+ default: "my-service",
27
+ env: "SERVICE_NAME",
28
+ },
29
+ },
30
+ });
31
+ // Perform validation
32
+ config.validate({ allowed: "strict" });
33
+ exports.default = config;
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,kGAAmE;AAEnE,iBAAO,CAAC,UAAU,CAAC,uCAAsB,CAAC,CAAC;AAE3C,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC;IACnB,GAAG,EAAE;QACD,GAAG,EAAE,8BAA8B;QACnC,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC;QACxC,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,OAAO;KACf;IACD,OAAO,EAAE;QACL,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE;KACd;IACD,OAAO,EAAE;QACL,IAAI,EAAE;YACF,GAAG,EAAE,0BAA0B;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,cAAc;SACtB;KACJ;CACJ,CAAC,CAAC;AAEH,qBAAqB;AACrB,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEvC,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Currency = void 0;
4
+ var Currency;
5
+ (function (Currency) {
6
+ Currency["EUR"] = "EUR";
7
+ Currency["AUD"] = "AUD";
8
+ Currency["USD"] = "USD";
9
+ Currency["AFN"] = "AFN";
10
+ Currency["GBP"] = "GBP";
11
+ Currency["XPF"] = "XPF";
12
+ Currency["MXN"] = "MXN";
13
+ Currency["PHP"] = "PHP";
14
+ Currency["CAD"] = "CAD";
15
+ Currency["RON"] = "RON";
16
+ Currency["BRL"] = "BRL";
17
+ Currency["UYU"] = "UYU";
18
+ Currency["HRK"] = "HRK";
19
+ Currency["GEL"] = "GEL";
20
+ Currency["RSD"] = "RSD";
21
+ Currency["ILS"] = "ILS";
22
+ Currency["ARS"] = "ARS";
23
+ Currency["NZD"] = "NZD";
24
+ Currency["ZAR"] = "ZAR";
25
+ Currency["INR"] = "INR";
26
+ Currency["DZD"] = "DZD";
27
+ Currency["LKR"] = "LKR";
28
+ Currency["CLP"] = "CLP";
29
+ Currency["ALL"] = "ALL";
30
+ Currency["RUB"] = "RUB";
31
+ Currency["TRY"] = "TRY";
32
+ Currency["UAH"] = "UAH";
33
+ Currency["MUR"] = "MUR";
34
+ Currency["COP"] = "COP";
35
+ Currency["AED"] = "AED";
36
+ Currency["MZN"] = "MZN";
37
+ Currency["EGP"] = "EGP";
38
+ Currency["AOA"] = "AOA";
39
+ Currency["XOF"] = "XOF";
40
+ Currency["CNY"] = "CNY";
41
+ Currency["XCD"] = "XCD";
42
+ Currency["VND"] = "VND";
43
+ Currency["JPY"] = "JPY";
44
+ Currency["MAD"] = "MAD";
45
+ Currency["CHF"] = "CHF";
46
+ Currency["IRR"] = "IRR";
47
+ Currency["KHR"] = "KHR";
48
+ Currency["XAF"] = "XAF";
49
+ Currency["AMD"] = "AMD";
50
+ Currency["ETB"] = "ETB";
51
+ Currency["SGD"] = "SGD";
52
+ Currency["NGN"] = "NGN";
53
+ Currency["PKP"] = "PKP";
54
+ })(Currency || (exports.Currency = Currency = {}));
55
+ //# sourceMappingURL=currencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencies.js","sourceRoot":"","sources":["../../../src/common/currencies.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAiDX;AAjDD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;AACb,CAAC,EAjDW,QAAQ,wBAAR,QAAQ,QAiDnB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.makeLogger = exports.getLogger = exports.WinstonLogger = void 0;
7
+ const winston_1 = __importDefault(require("winston"));
8
+ const config_1 = __importDefault(require("./config"));
9
+ let logger;
10
+ class WinstonLogger {
11
+ constructor(logger) {
12
+ this.logger = logger;
13
+ }
14
+ error(message, ...meta) {
15
+ this.logger.log("error", message, ...meta);
16
+ }
17
+ warn(message, ...meta) {
18
+ this.logger.log("warn", message, ...meta);
19
+ }
20
+ info(message, ...meta) {
21
+ if (config_1.default.get('nodeEnv') !== 'test') {
22
+ this.logger.log("info", message, ...meta);
23
+ }
24
+ }
25
+ debug(message, ...meta) {
26
+ this.logger.log("debug", message, ...meta);
27
+ }
28
+ }
29
+ exports.WinstonLogger = WinstonLogger;
30
+ function getLogger() {
31
+ const logger = winston_1.default.createLogger({
32
+ transports: [new winston_1.default.transports.Console()],
33
+ format: winston_1.default.format.json(),
34
+ defaultMeta: {
35
+ service: config_1.default.get("service.name"),
36
+ env: config_1.default.get("env"),
37
+ },
38
+ });
39
+ return logger;
40
+ }
41
+ exports.getLogger = getLogger;
42
+ function makeLogger() {
43
+ if (logger) {
44
+ return logger;
45
+ }
46
+ logger = new WinstonLogger(getLogger());
47
+ return logger;
48
+ }
49
+ exports.makeLogger = makeLogger;
50
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,sDAA8B;AAe9B,IAAI,MAAc,CAAC;AAEnB,MAAa,aAAa;IACtB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAG9C,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAGD,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAGD,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAChC,IAAI,gBAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;SAC7C;IACL,CAAC;IAGD,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;CACJ;AAxBD,sCAwBC;AAED,SAAgB,SAAS;IACrB,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;QAChC,UAAU,EAAE,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7B,WAAW,EAAE;YACT,OAAO,EAAE,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,gBAAM,CAAC,GAAG,CAAC,KAAK,CAAC;SACzB;KACJ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,8BAUC;AAED,SAAgB,UAAU;IACtB,IAAI,MAAM,EAAE;QACR,OAAO,MAAM,CAAC;KACjB;IACD,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAClB,CAAC;AAND,gCAMC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MeasurementSystem = void 0;
4
+ var MeasurementSystem;
5
+ (function (MeasurementSystem) {
6
+ MeasurementSystem["metric"] = "metric";
7
+ MeasurementSystem["imperial"] = "imperial";
8
+ })(MeasurementSystem || (exports.MeasurementSystem = MeasurementSystem = {}));
9
+ //# sourceMappingURL=office.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"office.js","sourceRoot":"","sources":["../../../src/entities/office.ts"],"names":[],"mappings":";;;AAGA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}