@sweepbright/api-client 0.33.0 → 0.33.1-next

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,18 +1,20 @@
1
+ import { Cluster, Redis } from 'ioredis';
1
2
  import { Env } from '../../types';
2
3
  import { Logger, OAuthManager } from '../interfaces';
3
- interface CreateOAuthManagerOptionsRedis {
4
+ interface CreateOAuthManagerOptionsBase {
4
5
  env: Env;
5
6
  apiVersion: string;
6
7
  logger?: Logger;
7
- storage: 'redis';
8
- redisURL: string;
9
8
  }
10
- interface CreateOAuthManagerOptionsMemory {
11
- env: Env;
12
- apiVersion: string;
13
- logger?: Logger;
9
+ type RedisOptions = {
10
+ redisURL: string;
11
+ } | {
12
+ redis: Redis | Cluster;
13
+ };
14
+ type CreateOAuthManagerOptions = CreateOAuthManagerOptionsBase & ({
14
15
  storage: 'memory';
15
- }
16
- type CreateOAuthManagerOptions = CreateOAuthManagerOptionsRedis | CreateOAuthManagerOptionsMemory;
16
+ } | ({
17
+ storage: 'redis';
18
+ } & RedisOptions));
17
19
  export declare function createOAuthManager(opt: CreateOAuthManagerOptions): OAuthManager;
18
20
  export {};
@@ -10,33 +10,36 @@ const SweepbrightOAuthManager_1 = require("../SweepbrightOAuthManager");
10
10
  const TokensRepository_Memory_1 = require("../TokensRepository_Memory");
11
11
  const TokensRepository_Redis_1 = require("../TokensRepository_Redis");
12
12
  const TokensRepository_RedisWithMemoryFallback_1 = require("../TokensRepository_RedisWithMemoryFallback");
13
+ function createRedisClient(redisURL) {
14
+ const url = (0, url_1.parse)(redisURL);
15
+ const useTLS = url.protocol === 'rediss:';
16
+ return new ioredis_1.Redis.Cluster([
17
+ {
18
+ host: url.hostname ?? (0, assert_1.fail)('no hostname'),
19
+ port: Number(url.port) ?? (0, assert_1.fail)('no port'),
20
+ },
21
+ ], {
22
+ clusterRetryStrategy: (times) => {
23
+ if (times > 2) {
24
+ return 0;
25
+ }
26
+ return 1000;
27
+ },
28
+ // recommended for ioredis + ElastiCache
29
+ dnsLookup(hostname, callback) {
30
+ callback(null, hostname);
31
+ },
32
+ redisOptions: {
33
+ tls: useTLS ? {} : undefined,
34
+ commandTimeout: 1000,
35
+ },
36
+ });
37
+ }
13
38
  function createTokenStorage(opt, logger) {
14
39
  let tokensRepository;
15
40
  switch (opt.storage) {
16
41
  case 'redis': {
17
- const url = (0, url_1.parse)(opt.redisURL);
18
- const useTLS = url.protocol === 'rediss:';
19
- const redis = new ioredis_1.Redis.Cluster([
20
- {
21
- host: url.hostname ?? (0, assert_1.fail)('no hostname'),
22
- port: Number(url.port) ?? (0, assert_1.fail)('no port'),
23
- },
24
- ], {
25
- clusterRetryStrategy: (times) => {
26
- if (times > 2) {
27
- return 0;
28
- }
29
- return 1000;
30
- },
31
- // recommended for ioredis + ElastiCache
32
- dnsLookup(hostname, callback) {
33
- callback(null, hostname);
34
- },
35
- redisOptions: {
36
- tls: useTLS ? {} : undefined,
37
- commandTimeout: 1000,
38
- },
39
- });
42
+ const redis = 'redis' in opt ? opt.redis : createRedisClient(opt.redisURL);
40
43
  tokensRepository = new TokensRepository_RedisWithMemoryFallback_1.TokensRepository_RedisWithMemoryFallback(new TokensRepository_Redis_1.TokensRepository_Redis(redis, logger), new TokensRepository_Memory_1.TokensRepository_Memory(logger), logger);
41
44
  break;
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createOAuthManager.js","sourceRoot":"","sources":["../../../src/oauth-manager/factories/createOAuthManager.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,6BAAwC;AACxC,qCAAgC;AAChC,oDAAiD;AAEjD,0FAAuF;AACvF,wEAAqE;AACrE,wEAAqE;AACrE,sEAAmE;AACnE,0GAAuG;AAoBvG,SAAS,kBAAkB,CAAC,GAA8B,EAAE,MAAc;IACxE,IAAI,gBAAkC,CAAC;IAEvC,QAAQ,GAAG,CAAC,OAAO,EAAE;QACnB,KAAK,OAAO,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,IAAA,WAAQ,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAE1C,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,OAAO,CAC7B;gBACE;oBACE,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAA,aAAI,EAAC,aAAa,CAAC;oBACzC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAA,aAAI,EAAC,SAAS,CAAC;iBAC1C;aACF,EACD;gBACE,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC9B,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,OAAO,CAAC,CAAC;qBACV;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,wCAAwC;gBACxC,SAAS,CAAC,QAAQ,EAAE,QAAQ;oBAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3B,CAAC;gBACD,YAAY,EAAE;oBACZ,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC5B,cAAc,EAAE,IAAI;iBACrB;aACF,CACF,CAAC;YAEF,gBAAgB,GAAG,IAAI,mFAAwC,CAC7D,IAAI,+CAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,EACzC,IAAI,iDAAuB,CAAC,MAAM,CAAC,EACnC,MAAM,CACP,CAAC;YACF,MAAM;SACP;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,gBAAgB,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM;SACP;QACD;YACE,IAAA,aAAI,EAAC,iBAAiB,CAAC,CAAC;KAC3B;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAA8B;IAE9B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC;IAClD,MAAM,OAAO,GAAG,mBAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAA,WAAE,EAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAEzC,OAAO,IAAI,iDAAuB,CAChC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAC/B,IAAI,mEAAgC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAC7D,MAAM,CACP,CAAC;AACJ,CAAC;AAZD,gDAYC"}
1
+ {"version":3,"file":"createOAuthManager.js","sourceRoot":"","sources":["../../../src/oauth-manager/factories/createOAuthManager.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,6BAAwC;AACxC,qCAAyC;AACzC,oDAAiD;AAEjD,0FAAuF;AACvF,wEAAqE;AACrE,wEAAqE;AACrE,sEAAmE;AACnE,0GAAuG;AAoBvG,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,GAAG,GAAG,IAAA,WAAQ,EAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;IAE1C,OAAO,IAAI,eAAK,CAAC,OAAO,CACtB;QACE;YACE,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAA,aAAI,EAAC,aAAa,CAAC;YACzC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAA,aAAI,EAAC,SAAS,CAAC;SAC1C;KACF,EACD;QACE,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,OAAO,CAAC,CAAC;aACV;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wCAAwC;QACxC,SAAS,CAAC,QAAQ,EAAE,QAAQ;YAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5B,cAAc,EAAE,IAAI;SACrB;KACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAA8B,EAAE,MAAc;IACxE,IAAI,gBAAkC,CAAC;IAEvC,QAAQ,GAAG,CAAC,OAAO,EAAE;QACnB,KAAK,OAAO,CAAC,CAAC;YACZ,MAAM,KAAK,GACT,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE/D,gBAAgB,GAAG,IAAI,mFAAwC,CAC7D,IAAI,+CAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,EACzC,IAAI,iDAAuB,CAAC,MAAM,CAAC,EACnC,MAAM,CACP,CAAC;YACF,MAAM;SACP;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,gBAAgB,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM;SACP;QACD;YACE,IAAA,aAAI,EAAC,iBAAiB,CAAC,CAAC;KAC3B;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAA8B;IAE9B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC;IAClD,MAAM,OAAO,GAAG,mBAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAA,WAAE,EAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAEzC,OAAO,IAAI,iDAAuB,CAChC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAC/B,IAAI,mEAAgC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAC7D,MAAM,CACP,CAAC;AACJ,CAAC;AAZD,gDAYC"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.33.0",
2
+ "version": "0.33.1-next",
3
3
  "license": "UNLICENCED",
4
4
  "main": "./dist/index.js",
5
5
  "typings": "./dist/index.d.ts",