@based/server 2.8.10 → 3.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/rest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/rest/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import uws from '@based/uws';
2
2
  import { ResponseData } from '@based/client';
3
- declare const _default: (res: uws.HttpResponse, payload: ResponseData, type: 0 | 1) => void;
3
+ declare const _default: (res: uws.HttpResponse, payload: ResponseData | string, type: 0 | 1, version?: number, headers?: {
4
+ [key: string]: string;
5
+ }) => void;
4
6
  export default _default;
@@ -20,82 +20,136 @@ const ok = (res) => {
20
20
  res.writeHeader('Access-Control-Allow-Origin', '*');
21
21
  res.writeHeader('Access-Control-Allow-Headers', 'content-type');
22
22
  };
23
- exports.default = (res, payload, type) => {
23
+ exports.default = (res, payload, type, version, headers) => {
24
24
  if (res.aborted) {
25
25
  return;
26
26
  }
27
27
  let result;
28
- const reqType = payload[0];
29
- if (reqType === client_1.RequestTypes.Get) {
30
- if (payload[3]) {
31
- invalid(res, payload[3], 'Invalid Query');
32
- return;
28
+ let reqType;
29
+ let isParsed = false;
30
+ if (headers) {
31
+ result = payload[2];
32
+ if (headers['Content-Type']) {
33
+ isParsed = true;
33
34
  }
34
- else {
35
- const r = payload[2];
36
- const checksum = (0, hash_1.hashObjectIgnoreKeyOrder)(r);
37
- ok(res);
38
- res.writeHeader('ETag', String(checksum));
39
- res.writeHeader('Cache-Control', 'max-age=0, must-revalidate');
40
- result = r;
35
+ else if (typeof result === 'string') {
36
+ res.writeHeader('Content-Type', 'text/plain');
37
+ isParsed = true;
41
38
  }
42
- }
43
- else if (reqType === client_1.RequestTypes.Set ||
44
- reqType === client_1.RequestTypes.Copy ||
45
- reqType === client_1.RequestTypes.Configuration ||
46
- reqType === client_1.RequestTypes.Digest ||
47
- reqType === client_1.RequestTypes.GetConfiguration ||
48
- reqType === client_1.RequestTypes.Delete) {
49
- if (payload[3]) {
50
- invalid(res, payload[3]);
51
- return;
39
+ if (!headers['Cache-Control']) {
40
+ res.writeHeader('Cache-Control', 'max-age=10');
52
41
  }
53
- else {
54
- ok(res);
55
- result = payload[2];
42
+ for (const key in headers) {
43
+ res.writeHeader(key, headers[key]);
56
44
  }
57
45
  }
58
- else if (reqType === client_1.RequestTypes.Call) {
59
- if (payload[3]) {
60
- invalid(res, payload[3]);
61
- return;
46
+ else if (typeof payload === 'string') {
47
+ let secondIndex = 0;
48
+ let lastIndex = 0;
49
+ const len = payload.length - 1;
50
+ for (let i = 4; i < 20; i++) {
51
+ const s = payload[i];
52
+ if (!secondIndex && s === ',') {
53
+ secondIndex = i;
54
+ if (lastIndex) {
55
+ break;
56
+ }
57
+ }
58
+ if (!lastIndex) {
59
+ if (payload[len - i] === ',') {
60
+ lastIndex = len - i;
61
+ if (secondIndex) {
62
+ break;
63
+ }
64
+ }
65
+ }
62
66
  }
63
- else {
64
- ok(res);
65
- result = payload[2];
67
+ if (!secondIndex && !lastIndex) {
68
+ invalid(res, 'Invalid Request');
69
+ return;
66
70
  }
71
+ result = payload.slice(secondIndex + 1, lastIndex);
72
+ const checksum = version || (0, hash_1.hash)(result);
73
+ ok(res);
74
+ res.writeHeader('ETag', String(checksum));
75
+ res.writeHeader('Cache-Control', 'max-age=0, must-revalidate');
76
+ isParsed = true;
67
77
  }
68
- else if (reqType === client_1.RequestTypes.Subscription) {
69
- if (payload[4]) {
70
- invalid(res, payload[4]);
71
- return;
78
+ else {
79
+ reqType = payload[0];
80
+ if (reqType === client_1.RequestTypes.Get) {
81
+ if (payload[3]) {
82
+ invalid(res, payload[3], 'Invalid Query');
83
+ return;
84
+ }
85
+ else {
86
+ const r = payload[2];
87
+ const checksum = (0, hash_1.hashObjectIgnoreKeyOrder)(r);
88
+ ok(res);
89
+ res.writeHeader('ETag', String(checksum));
90
+ res.writeHeader('Cache-Control', 'max-age=0, must-revalidate');
91
+ result = r;
92
+ }
93
+ }
94
+ else if (reqType === client_1.RequestTypes.Set ||
95
+ reqType === client_1.RequestTypes.Copy ||
96
+ reqType === client_1.RequestTypes.Configuration ||
97
+ reqType === client_1.RequestTypes.Digest ||
98
+ reqType === client_1.RequestTypes.GetConfiguration ||
99
+ reqType === client_1.RequestTypes.Delete) {
100
+ if (payload[3]) {
101
+ invalid(res, payload[3]);
102
+ return;
103
+ }
104
+ else {
105
+ ok(res);
106
+ result = payload[2];
107
+ }
108
+ }
109
+ else if (reqType === client_1.RequestTypes.Call) {
110
+ if (payload[3]) {
111
+ invalid(res, payload[3]);
112
+ return;
113
+ }
114
+ else {
115
+ ok(res);
116
+ result = payload[2];
117
+ }
118
+ }
119
+ else if (reqType === client_1.RequestTypes.Subscription) {
120
+ if (payload[4]) {
121
+ invalid(res, payload[4]);
122
+ return;
123
+ }
124
+ else {
125
+ ok(res);
126
+ res.writeHeader('ETag', String(payload[3]));
127
+ res.writeHeader('Cache-Control', 'max-age=0, must-revalidate');
128
+ result = payload[2];
129
+ }
72
130
  }
73
131
  else {
74
- ok(res);
75
- res.writeHeader('ETag', String(payload[3]));
76
- res.writeHeader('Cache-Control', 'max-age=0, must-revalidate');
77
- result = payload[2];
132
+ invalid(res, 'Invalid Request');
78
133
  }
79
134
  }
80
- else {
81
- invalid(res, 'Invalid Request');
82
- }
83
- if (reqType === client_1.RequestTypes.Digest) {
84
- res.writeHeader('Content-Type', 'text/plain');
85
- }
86
- else {
87
- if (type === 1) {
88
- res.writeHeader('Content-Type', 'text/csv');
135
+ if (!headers) {
136
+ if (reqType === client_1.RequestTypes.Digest) {
137
+ res.writeHeader('Content-Type', 'text/plain');
89
138
  }
90
139
  else {
91
- res.writeHeader('Content-Type', 'application/json');
140
+ if (type === 1) {
141
+ res.writeHeader('Content-Type', 'text/csv');
142
+ }
143
+ else {
144
+ res.writeHeader('Content-Type', 'application/json');
145
+ }
92
146
  }
93
147
  }
94
148
  if (result !== undefined) {
95
149
  let parsed;
96
150
  let csvParser;
97
151
  if (type === 0) {
98
- parsed = JSON.stringify(result);
152
+ parsed = isParsed ? result : JSON.stringify(result);
99
153
  }
100
154
  else {
101
155
  csvParser = (0, jsonexport_1.default)();
@@ -129,7 +183,7 @@ exports.default = (res, payload, type) => {
129
183
  if (csvParser) {
130
184
  if (!res.aborted) {
131
185
  csvParser.pipe(compressor);
132
- csvParser.write(Buffer.from(JSON.stringify(result)));
186
+ csvParser.write(Buffer.from(isParsed ? result : JSON.stringify(result)));
133
187
  csvParser.end();
134
188
  }
135
189
  }
@@ -155,7 +209,7 @@ exports.default = (res, payload, type) => {
155
209
  }
156
210
  });
157
211
  if (!res.aborted) {
158
- csvParser.write(Buffer.from(JSON.stringify(result)));
212
+ csvParser.write(Buffer.from(isParsed ? result : JSON.stringify(result)));
159
213
  csvParser.end();
160
214
  }
161
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseResponse.js","sourceRoot":"","sources":["../../../src/handlers/rest/parseResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseResponse.js","sourceRoot":"","sources":["../../../src/handlers/rest/parseResponse.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,10 @@ import { Observable } from '@saulx/selva';
4
4
  import Client from '../../Client';
5
5
  import { SendSubscriptionDataMessage, SubscribeMessage, UnsubscribeMessage, ErrorObject } from '@based/client';
6
6
  import { DataListener } from '../../types';
7
- declare type GenericObject = {
8
- [key: string]: any;
9
- };
10
7
  export declare class Subscription {
11
- lastDiff: [GenericObject, number];
8
+ lastDiff: number;
9
+ jsonDiffCache: string;
10
+ jsonCache: string;
12
11
  checksum: number;
13
12
  server: BasedServer;
14
13
  removeTimer: NodeJS.Timeout;
@@ -31,4 +30,3 @@ export declare class Subscription {
31
30
  export declare const subscribe: (server: BasedServer, client: Client, [, id, query, checksum]: SubscribeMessage) => void;
32
31
  export declare const sendSubscriptionData: (server: BasedServer, client: Client, [, subscriptionId]: SendSubscriptionDataMessage) => void;
33
32
  export declare const unsubscribe: (server: BasedServer, client: Client, [, subscriptionId]: UnsubscribeMessage) => void;
34
- export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.unsubscribe = exports.sendSubscriptionData = exports.subscribe = exports.Subscription = void 0;
4
4
  const client_1 = require("@based/client");
5
+ // type GenericObject = { [key: string]: any }
5
6
  class Subscription {
6
7
  constructor(server, id, query) {
7
8
  this.clients = {};
@@ -32,19 +33,31 @@ class Subscription {
32
33
  }
33
34
  let payload;
34
35
  if (diff) {
35
- this.lastDiff = [diff, this.checksum];
36
- payload = [
37
- client_1.RequestTypes.SubscriptionDiff,
38
- this.id,
39
- diff,
40
- [this.checksum, checksum],
41
- ];
36
+ this.lastDiff = this.checksum;
37
+ if (isSchemaSubscription) {
38
+ payload = this.jsonDiffCache = `[2,${this.id},${JSON.stringify(diff)},["${this.checksum}","${checksum}"]]`;
39
+ }
40
+ else {
41
+ payload = this.jsonDiffCache = `[2,${this.id},${JSON.stringify(diff)},[${this.checksum},${checksum}]]`;
42
+ }
43
+ if (isSchemaSubscription) {
44
+ this.jsonCache = `[1,${this.id},${JSON.stringify(data)},"${checksum}"]`;
45
+ }
46
+ else {
47
+ this.jsonCache = `[1,${this.id},${JSON.stringify(data)},${checksum}]`;
48
+ }
42
49
  }
43
50
  else {
44
51
  if (this.lastDiff) {
45
52
  delete this.lastDiff;
53
+ delete this.jsonDiffCache;
54
+ }
55
+ if (isSchemaSubscription) {
56
+ payload = this.jsonCache = `[1,${this.id},${JSON.stringify(data)},"${checksum}"]`;
57
+ }
58
+ else {
59
+ payload = this.jsonCache = `[1,${this.id},${JSON.stringify(data)},${checksum}]`;
46
60
  }
47
- payload = [client_1.RequestTypes.Subscription, this.id, data, checksum];
48
61
  }
49
62
  for (const id in this.clients) {
50
63
  const c = this.clients[id];
@@ -52,6 +65,8 @@ class Subscription {
52
65
  c[1] = checksum;
53
66
  c[0].send(payload);
54
67
  }
68
+ // else if waiting for initial get... ?
69
+ // TODO: may need fix
55
70
  }
56
71
  this.checksum = checksum;
57
72
  }, (err) => {
@@ -88,7 +103,9 @@ class Subscription {
88
103
  }
89
104
  });
90
105
  }
106
+ // eslint-disable-next-line
91
107
  unsubscribeDataListener(client, fn, id) { }
108
+ // eslint-disable-next-line
92
109
  subscribeDataListener(client, fn, id) { }
93
110
  unsubscribe(client) {
94
111
  if (this.clients[client.id]) {
@@ -137,23 +154,23 @@ class Subscription {
137
154
  else {
138
155
  this.clients[client.id][1] = this.observable.version;
139
156
  // this send has to be checked dont want to resend if it immediatly updates from the sub
140
- if (this.lastDiff && this.lastDiff[1] === checksum) {
141
- const payload = [
142
- client_1.RequestTypes.SubscriptionDiff,
143
- this.id,
144
- this.lastDiff[0],
145
- [this.lastDiff[1], this.observable.version],
146
- ];
147
- client.send(payload);
157
+ if (this.lastDiff && this.lastDiff === checksum) {
158
+ // const payload: SubscriptionDiffData = [
159
+ // RequestTypes.SubscriptionDiff,
160
+ // this.id,
161
+ // this.lastDiff[0],
162
+ // [this.lastDiff[1], this.observable.version],
163
+ // ]
164
+ client.send(this.jsonDiffCache);
148
165
  }
149
166
  else {
150
- const payload = [
151
- client_1.RequestTypes.Subscription,
152
- this.id,
153
- this.observable.cache,
154
- this.observable.version,
155
- ];
156
- client.send(payload);
167
+ // const payload: SubscriptionData = [
168
+ // RequestTypes.Subscription,
169
+ // this.id,
170
+ // this.observable.cache,
171
+ // this.observable.version,
172
+ // ]
173
+ client.send(this.jsonCache);
157
174
  }
158
175
  }
159
176
  }
@@ -166,13 +183,13 @@ class Subscription {
166
183
  const store = this.clients[client.id];
167
184
  if (store) {
168
185
  store[1] = this.observable.version;
169
- const payload = [
170
- client_1.RequestTypes.Subscription,
171
- this.id,
172
- this.observable.cache,
173
- this.observable.version,
174
- ];
175
- client.send(payload);
186
+ // const payload: SubscriptionData = [
187
+ // RequestTypes.Subscription,
188
+ // this.id,
189
+ // this.observable.cache,
190
+ // this.observable.version,
191
+ // ]
192
+ client.send(this.jsonCache);
176
193
  }
177
194
  }
178
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/subscription/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/subscription/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,14 @@ const client_1 = require("@based/client");
4
4
  const observable_1 = require("./functions/observable");
5
5
  const Params_1 = require("../Params");
6
6
  const getFromConfig_1 = require("../getFromConfig");
7
+ const renewOnInitial = async (client, server, refreshToken) => {
8
+ const { function: fn } = (await (0, getFromConfig_1.getFunction)(server, 'renewToken')) || {};
9
+ if (!fn) {
10
+ throw new Error('Token expired and needs to be renewed.');
11
+ }
12
+ const result = await fn(new Params_1.Params(server, { refreshToken }, client, ['renewToken']));
13
+ return result;
14
+ };
7
15
  exports.default = async (client, server, token, options) => {
8
16
  client.setToken(token, options);
9
17
  const authorize = await (0, getFromConfig_1.getAuthorize)(server);
@@ -40,24 +48,74 @@ exports.default = async (client, server, token, options) => {
40
48
  delete client.authorizeInProgress;
41
49
  const sendErrors = [];
42
50
  let hasErrored = false;
51
+ let letsTryToRenew = false;
43
52
  if (v[0].status === 'rejected' || v[0].value === false) {
44
53
  hasErrored = true;
54
+ if (options &&
55
+ // @ts-ignore
56
+ options.refreshToken &&
57
+ v[0].reason.message.includes('Token expired')) {
58
+ letsTryToRenew = true;
59
+ // @ts-ignore
60
+ renewOnInitial(client, server, options.refreshToken)
61
+ .then((v) => {
62
+ if (v.token) {
63
+ client.send([client_1.RequestTypes.Token, [], false, v.token]);
64
+ }
65
+ else {
66
+ for (let i = 1; i < v.length; i++) {
67
+ const x = v[i];
68
+ if (x.status === 'rejected' || x.value === false) {
69
+ // send back deAuth
70
+ sendErrors.push(Number(ids[i]));
71
+ }
72
+ else if (client.subscriptions[ids[i]] instanceof observable_1.FunctionObservable) {
73
+ const s = client.subscriptions[ids[i]];
74
+ s.clients[client.id]?.init();
75
+ }
76
+ }
77
+ for (const sub of sendErrors) {
78
+ client.subscriptions?.[sub].unsubscribe(client);
79
+ }
80
+ client.send([client_1.RequestTypes.Token, sendErrors, hasErrored]);
81
+ }
82
+ })
83
+ .catch(() => {
84
+ for (let i = 1; i < v.length; i++) {
85
+ const x = v[i];
86
+ if (x.status === 'rejected' || x.value === false) {
87
+ // send back deAuth
88
+ sendErrors.push(Number(ids[i]));
89
+ }
90
+ else if (client.subscriptions[ids[i]] instanceof observable_1.FunctionObservable) {
91
+ const s = client.subscriptions[ids[i]];
92
+ s.clients[client.id]?.init();
93
+ }
94
+ }
95
+ for (const sub of sendErrors) {
96
+ client.subscriptions?.[sub].unsubscribe(client);
97
+ }
98
+ client.send([client_1.RequestTypes.Token, sendErrors, hasErrored]);
99
+ });
100
+ }
45
101
  }
46
- for (let i = 1; i < v.length; i++) {
47
- const x = v[i];
48
- if (x.status === 'rejected' || x.value === false) {
49
- // send back deAuth
50
- sendErrors.push(Number(ids[i]));
102
+ if (!letsTryToRenew) {
103
+ for (let i = 1; i < v.length; i++) {
104
+ const x = v[i];
105
+ if (x.status === 'rejected' || x.value === false) {
106
+ // send back deAuth
107
+ sendErrors.push(Number(ids[i]));
108
+ }
109
+ else if (client.subscriptions[ids[i]] instanceof observable_1.FunctionObservable) {
110
+ const s = client.subscriptions[ids[i]];
111
+ s.clients[client.id]?.init();
112
+ }
51
113
  }
52
- else if (client.subscriptions[ids[i]] instanceof observable_1.FunctionObservable) {
53
- const s = client.subscriptions[ids[i]];
54
- s.clients[client.id]?.init();
114
+ for (const sub of sendErrors) {
115
+ client.subscriptions?.[sub].unsubscribe(client);
55
116
  }
117
+ client.send([client_1.RequestTypes.Token, sendErrors, hasErrored]);
56
118
  }
57
- for (const sub of sendErrors) {
58
- client.subscriptions?.[sub].unsubscribe(client);
59
- }
60
- client.send([client_1.RequestTypes.Token, sendErrors, hasErrored]);
61
119
  });
62
120
  }
63
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/handlers/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/handlers/token.ts"],"names":[],"mappings":";;AACA,0CAA4C;AAE5C,uDAA2D;AAC3D,sCAAkC;AAClC,oDAA4D;AAG5D,MAAM,cAAc,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;IAC5D,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;KAC1D;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB,IAAI,eAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAC7D,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,kBAAe,KAAK,EAClB,MAAc,EACd,MAAmB,EACnB,KAAqB,EACrB,OAA0B,EAC1B,EAAE;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAE/B,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAA;IAE5C,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;QAEhB,CAAC,CAAC,IAAI,CACJ,SAAS,CACP,IAAI,eAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAClE,CACF,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE;YACtC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YAE9C,aAAa;YACb,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAA;YAErD,MAAM,OAAO,GAAG,QAAQ;gBACtB,CAAC,CAAC,aAAa;oBACb,YAAY,CAAC,OAAO;gBACtB,CAAC,CAAC,aAAa;oBACb,YAAY,CAAC,UAAU,EAAE,UAAU,CAAA;YAEvC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEb,MAAM,UAAU;YACd,aAAa;YACb,QAAQ,IAAI,CAAC,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAA;YAEvE,IAAI,UAAU,EAAE;gBACd,CAAC,CAAC,IAAI,CACJ,UAAU,CACR,IAAI,eAAM,CACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI;gBACJ,aAAa;gBACb,YAAY,CAAC,IAAI,EACjB,SAAS,CACV,CACF,CACF,CAAA;aACF;iBAAM;gBACL,CAAC,CAAC,IAAI,CACJ,SAAS,CACP,IAAI,eAAM,CACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI;gBACJ,aAAa;gBACb,YAAY,CAAC,IAAI,IAAI,IAAI,EACzB,SAAS,CACV,CACF,CACF,CAAA;aACF;SACF;QAED,MAAM,CAAC,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAElD,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,OAAO,MAAM,CAAC,mBAAmB,CAAA;YACjC,MAAM,UAAU,GAAG,EAAE,CAAA;YACrB,IAAI,UAAU,GAAG,KAAK,CAAA;YAEtB,IAAI,cAAc,GAAG,KAAK,CAAA;YAE1B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;gBACtD,UAAU,GAAG,IAAI,CAAA;gBACjB,IACE,OAAO;oBACP,aAAa;oBACb,OAAO,CAAC,YAAY;oBACpB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAC7C;oBACA,cAAc,GAAG,IAAI,CAAA;oBACrB,aAAa;oBACb,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;yBACjD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACV,IAAI,CAAC,CAAC,KAAK,EAAE;4BACX,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;yBACtD;6BAAM;4BACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gCACd,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;oCAChD,mBAAmB;oCACnB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iCAChC;qCAAM,IACL,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,+BAAkB,EAC1D;oCACA,MAAM,CAAC,GAAuB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oCAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;iCAC7B;6BACF;4BACD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;gCAC5B,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;6BAChD;4BACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;yBAC1D;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE;wBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;4BACd,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;gCAChD,mBAAmB;gCACnB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;6BAChC;iCAAM,IACL,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,+BAAkB,EAC1D;gCACA,MAAM,CAAC,GAAuB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gCAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;6BAC7B;yBACF;wBACD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;4BAC5B,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;yBAChD;wBACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;oBAC3D,CAAC,CAAC,CAAA;iBACL;aACF;YAED,IAAI,CAAC,cAAc,EAAE;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBACd,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;wBAChD,mBAAmB;wBACnB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBAChC;yBAAM,IACL,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,+BAAkB,EAC1D;wBACA,MAAM,CAAC,GAAuB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;wBAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;qBAC7B;iBACF;gBACD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;oBAC5B,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;iBAChD;gBACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;aAC1D;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -24,7 +24,12 @@ export declare type CallFunction = {
24
24
  function: (params: CallParams) => Promise<any>;
25
25
  cnt?: number;
26
26
  worker?: boolean;
27
+ headers?: (params: CallParams, result: any) => Promise<{
28
+ [key: string]: string;
29
+ }>;
27
30
  };
31
+ export declare const isCallFunction: (fn: CallFunction | ObservableFunction) => fn is CallFunction;
32
+ export declare const isObservableFunction: (fn: CallFunction | ObservableFunction) => fn is ObservableFunction;
28
33
  export declare type AuthorizeFn = (params: Params) => Promise<boolean>;
29
34
  export declare type LoginFn = (params: Params) => Promise<GenericObject>;
30
35
  export declare type LogoutFn = (params: Params) => Promise<GenericObject>;
@@ -49,6 +54,18 @@ export declare type Config = {
49
54
  getBasedKey?: () => Promise<string>;
50
55
  getApiKeysPublicKey?: () => Promise<string>;
51
56
  getGeo?: (ip: string) => Geo;
57
+ sendEmail?: (payload: {
58
+ to: string;
59
+ subject: string;
60
+ body: string;
61
+ from?: string;
62
+ }) => Promise<{
63
+ status: 'ok';
64
+ message?: string;
65
+ } | {
66
+ status: 'error';
67
+ message: string;
68
+ }>;
52
69
  storeFile?: (opts: FileOpts) => Promise<{
53
70
  src: string;
54
71
  origin: string;
package/dist/types.js CHANGED
@@ -3,7 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Client = void 0;
6
+ exports.isObservableFunction = exports.isCallFunction = exports.Client = void 0;
7
7
  const Client_1 = __importDefault(require("./Client"));
8
8
  exports.Client = Client_1.default;
9
+ const isCallFunction = (fn) => {
10
+ return fn.observable === false;
11
+ };
12
+ exports.isCallFunction = isCallFunction;
13
+ const isObservableFunction = (fn) => {
14
+ return fn.observable === true;
15
+ };
16
+ exports.isObservableFunction = isObservableFunction;
9
17
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AASpB,iBATF,gBAAM,CASE"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AASpB,iBATF,gBAAM,CASE;AAiCR,MAAM,cAAc,GAAG,CAC5B,EAAqC,EACjB,EAAE;IACtB,OAAO,EAAE,CAAC,UAAU,KAAK,KAAK,CAAA;AAChC,CAAC,CAAA;AAJY,QAAA,cAAc,kBAI1B;AAEM,MAAM,oBAAoB,GAAG,CAClC,EAAqC,EACX,EAAE;IAC5B,OAAO,EAAE,CAAC,UAAU,KAAK,IAAI,CAAA;AAC/B,CAAC,CAAA;AAJY,QAAA,oBAAoB,wBAIhC"}