@whitewall/blip-sdk 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
- [![Build Status](https://github.com/whitewall-dev/blip-sdk/actions/workflows/publish.yml/badge.svg)](https://github.com/whitewall-dev/blip-sdk/actions/workflows/publish.yml)
2
- [![npm](https://img.shields.io/npm/v/@whitewall/blip-sdk.svg)](https://npmjs.com/package/@whitewall/blip-sdk)
3
-
4
- # blip-sdk
5
-
6
- A simple blip API wrapper
7
-
8
- ## API Usage
9
-
10
- ```js
11
- import { BlipClient, HttpSender } from '@whitewall/blip-sdk'
12
-
13
- const client = new BlipClient(HttpSender.login(process.env.BLIP_BOT_IDENTIFIER, BLIP_BOT_ACCESSKEY, BLIP_TENANT_ID))
14
- await client.account.setBucket('bucketitem', 'value')
15
- console.log(await client.account.getBucket('bucketitem'))
1
+ [![Build Status](https://github.com/whitewall-dev/blip-sdk/actions/workflows/publish.yml/badge.svg)](https://github.com/whitewall-dev/blip-sdk/actions/workflows/publish.yml)
2
+ [![npm](https://img.shields.io/npm/v/@whitewall/blip-sdk.svg)](https://npmjs.com/package/@whitewall/blip-sdk)
3
+
4
+ # blip-sdk
5
+
6
+ A simple blip API wrapper
7
+
8
+ ## API Usage
9
+
10
+ ```js
11
+ import { BlipClient, HttpSender } from '@whitewall/blip-sdk'
12
+
13
+ const client = new BlipClient(HttpSender.login(process.env.BLIP_BOT_IDENTIFIER, BLIP_BOT_ACCESSKEY, BLIP_TENANT_ID))
14
+ await client.account.setBucket('bucketitem', 'value')
15
+ console.log(await client.account.getBucket('bucketitem'))
16
16
  ```
package/dist/client.d.ts CHANGED
@@ -1,7 +1,15 @@
1
1
  import { AccountNamespace } from './namespaces/account';
2
+ import { BuilderNamespace } from './namespaces/builder';
3
+ import { DeskNamespace } from './namespaces/desk';
4
+ import { MediaNamespace } from './namespaces/media';
5
+ import { WhatsAppNamespace } from './namespaces/whatsapp';
2
6
  import { Sender } from './sender/sender';
3
7
  export declare class BlipClient {
4
8
  readonly sender: Sender;
5
9
  constructor(sender: Sender);
6
10
  readonly account: AccountNamespace;
11
+ readonly builder: BuilderNamespace;
12
+ readonly desk: DeskNamespace;
13
+ readonly media: MediaNamespace;
14
+ readonly whatsapp: WhatsAppNamespace;
7
15
  }
package/dist/client.js CHANGED
@@ -2,10 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlipClient = void 0;
4
4
  const account_1 = require("./namespaces/account");
5
+ const builder_1 = require("./namespaces/builder");
6
+ const desk_1 = require("./namespaces/desk");
7
+ const media_1 = require("./namespaces/media");
8
+ const whatsapp_1 = require("./namespaces/whatsapp");
5
9
  class BlipClient {
6
10
  constructor(sender) {
7
11
  this.sender = sender;
8
12
  this.account = new account_1.AccountNamespace(this.sender);
13
+ this.builder = new builder_1.BuilderNamespace(this.sender);
14
+ this.desk = new desk_1.DeskNamespace(this.sender);
15
+ this.media = new media_1.MediaNamespace(this.sender);
16
+ this.whatsapp = new whatsapp_1.WhatsAppNamespace(this.sender);
9
17
  }
10
18
  }
11
19
  exports.BlipClient = BlipClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,kDAAuD;AAGvD,MAAa,UAAU;IACnB,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAE1B,YAAO,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAFd,CAAC;CAGjD;AAJD,gCAIC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,kDAAuD;AACvD,kDAAuD;AACvD,4CAAiD;AACjD,8CAAmD;AACnD,oDAAyD;AAGzD,MAAa,UAAU;IACnB,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAE1B,YAAO,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,YAAO,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,SAAI,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,UAAK,GAAG,IAAI,sBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,aAAQ,GAAG,IAAI,4BAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IANhB,CAAC;CAOjD;AARD,gCAQC"}
package/dist/index.js CHANGED
@@ -1,10 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./client"), exports);
5
- tslib_1.__exportStar(require("./utils/uri"), exports);
6
- tslib_1.__exportStar(require("./types"), exports);
7
- tslib_1.__exportStar(require("./sender/sender"), exports);
8
- tslib_1.__exportStar(require("./sender/bliperror"), exports);
9
- tslib_1.__exportStar(require("./sender/httpsender"), exports);
17
+ __exportStar(require("./client"), exports);
18
+ __exportStar(require("./utils/uri"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./sender/sender"), exports);
21
+ __exportStar(require("./sender/bliperror"), exports);
22
+ __exportStar(require("./sender/httpsender"), exports);
10
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,sDAA2B;AAC3B,kDAAuB;AACvB,0DAA+B;AAC/B,6DAAkC;AAClC,8DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,8CAA2B;AAC3B,0CAAuB;AACvB,kDAA+B;AAC/B,qDAAkC;AAClC,sDAAmC"}
@@ -1,6 +1,7 @@
1
1
  import { Sender } from '../sender/sender';
2
- import { Ticket } from '../types';
2
+ import { Ticket, TicketStatus } from '../types';
3
3
  import { ConsumeOptions, Namespace } from './namespace';
4
+ import { Filter } from 'odata-query';
4
5
  export declare class DeskNamespace extends Namespace {
5
6
  constructor(sender: Sender);
6
7
  getTicket(ticket: string, opts?: ConsumeOptions): Promise<Ticket>;
@@ -20,7 +21,10 @@ export declare class DeskNamespace extends Namespace {
20
21
  team: string;
21
22
  queueTime: string;
22
23
  }[]>;
23
- getTickets(filter?: {
24
- statuses?: string[];
25
- }, opts?: ConsumeOptions): Promise<Ticket[]>;
24
+ getTickets(filter?: Filter<Ticket>, opts?: ConsumeOptions): Promise<Ticket[]>;
25
+ changeTicketStatus(ticket: string, status: TicketStatus, settings?: {
26
+ agentIdentity?: string;
27
+ tags?: string[];
28
+ }, opts?: ConsumeOptions): Promise<void>;
29
+ isOnAttendanceTime(queueIdOrName?: string, timezone?: number): Promise<boolean>;
26
30
  }
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.DeskNamespace = void 0;
7
+ const bliperror_1 = require("../sender/bliperror");
4
8
  const uri_1 = require("../utils/uri");
5
9
  const namespace_1 = require("./namespace");
10
+ const odata_query_1 = __importDefault(require("odata-query"));
6
11
  class DeskNamespace extends namespace_1.Namespace {
7
12
  constructor(sender) {
8
13
  super(sender, 'postmaster@desk.msging.net');
@@ -29,15 +34,79 @@ class DeskNamespace extends namespace_1.Namespace {
29
34
  });
30
35
  }
31
36
  async getTickets(filter, opts) {
32
- let filterString = '';
33
37
  return this.sendCommand({
34
38
  method: 'get',
35
- uri: (0, uri_1.uri) `/tickets?${{ $filter: filter }}`,
39
+ uri: (0, uri_1.uri) `/tickets?${(0, odata_query_1.default)({ filter })}`,
36
40
  }, {
37
41
  collection: true,
38
42
  ...opts,
39
43
  });
40
44
  }
45
+ async changeTicketStatus(ticket, status, settings, opts) {
46
+ try {
47
+ return await this.sendCommand({
48
+ method: 'set',
49
+ uri: (0, uri_1.uri) `/tickets/change-status`,
50
+ type: 'application/vnd.iris.ticket+json',
51
+ resource: {
52
+ id: ticket,
53
+ status,
54
+ ...(settings || {}),
55
+ },
56
+ }, opts);
57
+ }
58
+ catch (err) {
59
+ if (err instanceof bliperror_1.BlipError && err.code === 64) {
60
+ return;
61
+ }
62
+ throw err;
63
+ }
64
+ }
65
+ async isOnAttendanceTime(queueIdOrName = 'Default', timezone = -3) {
66
+ const attendanceHours = await this.sendCommand({
67
+ method: 'get',
68
+ uri: (0, uri_1.uri) `/attendance-hour`,
69
+ }, { collection: true });
70
+ const orderedAttendanceHours = attendanceHours
71
+ .sort((a, b) => Number(a.isMain) - Number(b.isMain));
72
+ for (const attendanceHour of orderedAttendanceHours) {
73
+ const detailedAttendanceHour = await this.sendCommand({
74
+ method: 'get',
75
+ uri: (0, uri_1.uri) `/attendance-hour-container/${attendanceHour.id}`,
76
+ });
77
+ if (detailedAttendanceHour.queues.every((queue) => queue.id !== queueIdOrName && queue.description !== queueIdOrName) &&
78
+ !detailedAttendanceHour.attendanceHour.isMain) {
79
+ continue;
80
+ }
81
+ const now = new Date(Date.now() + timezone * 60 * 60 * 1000);
82
+ const isInsideOffTime = detailedAttendanceHour.attendanceHourOffItems.some((offItem) => {
83
+ const startDate = new Date(offItem.startDate);
84
+ const endDate = new Date(offItem.endDate);
85
+ return now.getTime() >= startDate.getTime() && now.getTime() <= endDate.getTime();
86
+ });
87
+ if (isInsideOffTime) {
88
+ return false;
89
+ }
90
+ const nowDayOfWeek = now.getDay();
91
+ const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
92
+ const todaySchedule = detailedAttendanceHour.attendanceHourScheduleItems.find((schedule) => schedule.dayOfWeek === daysOfWeek[nowDayOfWeek]);
93
+ if (!todaySchedule) {
94
+ return false;
95
+ }
96
+ const startTime = new Date(now);
97
+ const endTime = new Date(now);
98
+ const [startHours, startMinutes] = todaySchedule.startTime.split(':');
99
+ startTime.setHours(Number(startHours));
100
+ startTime.setMinutes(Number(startMinutes));
101
+ const [endHours, endMinutes] = todaySchedule.endTime.split(':');
102
+ endTime.setHours(Number(endHours));
103
+ endTime.setMinutes(Number(endMinutes));
104
+ if (now.getTime() >= startTime.getTime() && now.getTime() <= endTime.getTime()) {
105
+ return true;
106
+ }
107
+ }
108
+ return false;
109
+ }
41
110
  }
42
111
  exports.DeskNamespace = DeskNamespace;
43
112
  //# sourceMappingURL=desk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/namespaces/desk.ts"],"names":[],"mappings":";;;AAEA,sCAAkC;AAClC,2CAAuD;AAEvD,MAAa,aAAc,SAAQ,qBAAS;IACxC,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAqB;QACxD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,YAAY,MAAM,EAAE;SAC/B,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QAUhD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,8BAA8B,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;SACzD,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,IAAqB;QAQvD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,+BAA+B,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;SAC1D,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CACnB,MAEC,EACD,IAAqB;QAErB,IAAI,YAAY,GAAG,EAAE,CAAA;QAErB,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;SAC5C,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;CACJ;AAzED,sCAyEC"}
1
+ {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/namespaces/desk.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA+C;AAG/C,sCAAkC;AAClC,2CAAuD;AACvD,8DAAgD;AAEhD,MAAa,aAAc,SAAQ,qBAAS;IACxC,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAqB;QACxD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,YAAY,MAAM,EAAE;SAC/B,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QAUhD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,8BAA8B,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;SACzD,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,IAAqB;QAQvD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,+BAA+B,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;SAC1D,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAuB,EAAE,IAAqB;QAClE,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,YAAY,IAAA,qBAAU,EAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SAC/C,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC3B,MAAc,EACd,MAAoB,EACpB,QAGC,EACD,IAAqB;QAErB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,WAAW,CACzB;gBACI,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAA,SAAG,EAAA,wBAAwB;gBAChC,IAAI,EAAE,kCAAkC;gBACxC,QAAQ,EAAE;oBACN,EAAE,EAAE,MAAM;oBACV,MAAM;oBACN,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACtB;aACJ,EACD,IAAI,CACP,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,qBAAS,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBAC9C,OAAM;YACV,CAAC;YAED,MAAM,GAAG,CAAA;QACb,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,gBAAwB,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAqB,MAAM,IAAI,CAAC,WAAW,CAC5D;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,kBAAkB;SAC7B,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACvB,CAAA;QAED,MAAM,sBAAsB,GAAG,eAAe;aAEzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAExD,KAAK,MAAM,cAAc,IAAI,sBAAsB,EAAE,CAAC;YAClD,MAAM,sBAAsB,GAA2B,MAAM,IAAI,CAAC,WAAW,CAAC;gBAC1E,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAA,SAAG,EAAA,8BAA8B,cAAc,CAAC,EAAE,EAAE;aAC5D,CAAC,CAAA;YAEF,IACI,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,aAAa,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa,CAAC;gBACjH,CAAC,sBAAsB,CAAC,cAAc,CAAC,MAAM,EAC/C,CAAC;gBAEC,SAAQ;YACZ,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;YAE5D,MAAM,eAAe,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAC7C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAEzC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;YACrF,CAAC,CAAC,CAAA;YACF,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;YACjC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;YACjG,MAAM,aAAa,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,IAAI,CACzE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU,CAAC,YAAY,CAAC,CAChE,CAAA;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;YAE7B,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YACtC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;YAE1C,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YAEtC,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7E,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AArKD,sCAqKC"}
@@ -1,6 +1,6 @@
1
1
  import { Sender } from '../sender/sender';
2
2
  import { Namespace } from './namespace';
3
- export declare class WhatsAppNamespace extends Namespace {
3
+ export declare class MediaNamespace extends Namespace {
4
4
  constructor(sender: Sender);
5
5
  getMediaUploadUrl(): Promise<string>;
6
6
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WhatsAppNamespace = void 0;
3
+ exports.MediaNamespace = void 0;
4
4
  const uri_1 = require("../utils/uri");
5
5
  const namespace_1 = require("./namespace");
6
- class WhatsAppNamespace extends namespace_1.Namespace {
6
+ class MediaNamespace extends namespace_1.Namespace {
7
7
  constructor(sender) {
8
8
  super(sender, 'postmaster@media.msging.net');
9
9
  }
@@ -14,5 +14,5 @@ class WhatsAppNamespace extends namespace_1.Namespace {
14
14
  });
15
15
  }
16
16
  }
17
- exports.WhatsAppNamespace = WhatsAppNamespace;
17
+ exports.MediaNamespace = MediaNamespace;
18
18
  //# sourceMappingURL=media.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/namespaces/media.ts"],"names":[],"mappings":";;;AACA,sCAAkC;AAClC,2CAAuC;AAEvC,MAAa,iBAAkB,SAAQ,qBAAS;IAC5C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,mBAAmB;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ;AAXD,8CAWC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/namespaces/media.ts"],"names":[],"mappings":";;;AACA,sCAAkC;AAClC,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,qBAAS;IACzC,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,mBAAmB;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ;AAXD,wCAWC"}
@@ -13,7 +13,7 @@ export declare class Namespace {
13
13
  sendCommand<TMethod extends CommandMethods, TResponse extends TMethod extends 'get' ? unknown : void = void, TCollection = TResponse extends unknown[] ? true : false>(command: Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
14
14
  uri: {
15
15
  path: string;
16
- query?: URLSearchParams;
16
+ query: URLSearchParams;
17
17
  };
18
18
  }, opts?: ConsumeOptions & {
19
19
  collection?: TCollection extends true ? true : never;
@@ -9,7 +9,7 @@ class Namespace {
9
9
  }
10
10
  async sendCommand(command, opts) {
11
11
  let uri = command.uri.path;
12
- let query = command.uri.query || new URLSearchParams();
12
+ let query = command.uri.query;
13
13
  const take = (opts === null || opts === void 0 ? void 0 : opts.take) || 100;
14
14
  if (opts === null || opts === void 0 ? void 0 : opts.collection) {
15
15
  query.set('$take', take.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespaces/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespaces/namespace.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./node"), exports);
5
- tslib_1.__exportStar(require("./envelope"), exports);
6
- tslib_1.__exportStar(require("./message"), exports);
7
- tslib_1.__exportStar(require("./command"), exports);
8
- tslib_1.__exportStar(require("./desk"), exports);
9
- tslib_1.__exportStar(require("./account"), exports);
17
+ __exportStar(require("./node"), exports);
18
+ __exportStar(require("./envelope"), exports);
19
+ __exportStar(require("./message"), exports);
20
+ __exportStar(require("./command"), exports);
21
+ __exportStar(require("./desk"), exports);
22
+ __exportStar(require("./account"), exports);
10
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,iDAAsB;AACtB,qDAA0B;AAC1B,oDAAyB;AACzB,oDAAyB;AACzB,iDAAsB;AACtB,oDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB;AACzB,yCAAsB;AACtB,4CAAyB"}
@@ -1,4 +1,4 @@
1
1
  export declare const uri: (parts: TemplateStringsArray, ...vars: unknown[]) => {
2
2
  path: string;
3
- query?: URLSearchParams;
3
+ query: URLSearchParams;
4
4
  };
package/dist/utils/uri.js CHANGED
@@ -3,26 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uri = void 0;
4
4
  const uri = (parts, ...vars) => {
5
5
  let uriString = parts.reduce((acc, part, i) => acc + (typeof vars[i - 1] === 'string' ? encodeURIComponent(vars[i - 1]) : '') + part);
6
+ const [path, querystring] = uriString.split('?');
7
+ const query = new URLSearchParams(querystring);
6
8
  const lastParam = vars[vars.length - 1];
7
9
  if (lastParam && typeof lastParam === 'object') {
8
- const query = lastParam;
9
- const params = new URLSearchParams();
10
- for (const key in query) {
11
- if (query[key] !== undefined) {
12
- params.append(key, query[key]);
10
+ const params = lastParam;
11
+ for (const key in params) {
12
+ if (params[key] !== undefined) {
13
+ query.append(key, params[key]);
13
14
  }
14
15
  }
15
- return {
16
- path: uriString,
17
- query: params,
18
- };
19
- }
20
- else {
21
- return {
22
- path: uriString,
23
- query: undefined,
24
- };
25
16
  }
17
+ return {
18
+ path,
19
+ query,
20
+ };
26
21
  };
27
22
  exports.uri = uri;
28
23
  //# sourceMappingURL=uri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,CACf,KAA2B,EAC3B,GAAG,IAAe,EAIpB,EAAE;IACA,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CACpH,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,SAAmC,CAAA;QACjD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAEpC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;QAED,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;SAChB,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;SACnB,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAhCY,QAAA,GAAG,OAgCf"}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,CACf,KAA2B,EAC3B,GAAG,IAAe,EAIpB,EAAE;IACA,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CACpH,CAAA;IAED,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;IAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAmC,CAAA;QAElD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI;QACJ,KAAK;KACR,CAAA;AACL,CAAC,CAAA;AA7BY,QAAA,GAAG,OA6Bf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitewall/blip-sdk",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Blip API wrapper",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,6 @@
15
15
  "devDependencies": {
16
16
  "odata-query": "^7.0.6",
17
17
  "prettier": "^3.2.5",
18
- "tslib": "^2.6.2",
19
18
  "typescript": "^5.4.5"
20
19
  }
21
- }
20
+ }