@tsed/adapters-redis 7.18.3-rc.1 → 7.18.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.
package/.eslintignore ADDED
@@ -0,0 +1,13 @@
1
+ node_modules
2
+ docs
3
+ docs-references
4
+ lib
5
+ dist
6
+ coverage
7
+ .nyc_output
8
+ *-lock.json
9
+ *.lock
10
+ benchmarks.*
11
+ **/generated
12
+
13
+ **/*.js
package/.eslintrc.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require("@tsed/eslint/node.js");
package/jest.config.js CHANGED
@@ -2,13 +2,13 @@
2
2
  // https://jestjs.io/docs/en/configuration.html
3
3
 
4
4
  module.exports = {
5
- ...require("@tsed/jest-config")(__dirname, "adapters-redis"),
5
+ ...require("@tsed/jest-config"),
6
6
  coverageThreshold: {
7
7
  global: {
8
- branches: 70,
9
- functions: 70,
10
- lines: 70,
11
- statements: 70
8
+ branches: 93.68,
9
+ functions: 100,
10
+ lines: 100,
11
+ statements: 100
12
12
  }
13
13
  }
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OIDCRedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/OIDCRedisAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {AdapterModel} from \"@tsed/adapters\";\nimport {Configuration, Inject, Opts} from \"@tsed/di\";\nimport {ChainableCommander} from \"ioredis\";\nimport {IOREDIS_CONNECTIONS, IORedis} from \"@tsed/ioredis\";\n\nimport {RedisAdapter, RedisAdapterConstructorOptions} from \"./RedisAdapter\";\n\nconst GRANTABLE = new Set([\"AccessToken\", \"AuthorizationCode\", \"RefreshToken\", \"DeviceCode\", \"BackchannelAuthenticationRequest\"]);\nconst CONSUMABLE = new Set([\"AuthorizationCode\", \"RefreshToken\", \"DeviceCode\", \"BackchannelAuthenticationRequest\"]);\n\nfunction grantKeyFor(id: string) {\n return `$oidc:grant:${id}`;\n}\n\nfunction userCodeKeyFor(userCode: string) {\n return `$oidc:userCode:${userCode}`;\n}\n\nfunction uidKeyFor(uid: string) {\n return `$oidc:uid:${uid}`;\n}\n\nexport class OIDCRedisAdapter<T extends AdapterModel> extends RedisAdapter<T> {\n protected isGrantable: boolean;\n\n constructor(\n @Opts options: RedisAdapterConstructorOptions,\n @Inject(IOREDIS_CONNECTIONS) connections: IORedis[],\n @Configuration() protected configuration: Configuration\n ) {\n super(options, connections, configuration);\n\n this.useHash = CONSUMABLE.has(this.collectionName);\n this.isGrantable = GRANTABLE.has(this.collectionName);\n this.hooks.on(\"insert\", this.onInsert.bind(this));\n }\n\n async onInsert(multi: ChainableCommander, payload: T, expiresIn: number) {\n const id = payload._id;\n\n const key = this.key(id);\n\n if (this.isGrantable && payload.grantId) {\n const grantKey = grantKeyFor(payload.grantId);\n\n multi.rpush(grantKey, key);\n // if you're seeing grant key lists growing out of acceptable proportions consider using LTRIM\n // here to trim the list to an appropriate length\n const ttl = await this.db.ttl(grantKey);\n\n if (expiresIn && expiresIn > ttl) {\n multi.expire(grantKey, expiresIn);\n }\n }\n\n if (payload.userCode) {\n const userCodeKey = userCodeKeyFor(payload.userCode);\n\n multi.set(userCodeKey, id);\n expiresIn && multi.expire(userCodeKey, expiresIn);\n }\n\n if (payload.uid) {\n const uidKey = uidKeyFor(payload.uid);\n\n multi.set(uidKey, id);\n expiresIn && multi.expire(uidKey, expiresIn);\n }\n\n return multi;\n }\n\n async findByUid(uid: string) {\n const id = await this.db.get(uidKeyFor(uid));\n\n return id && this.findById(id);\n }\n\n async findByUserCode(userCode: string) {\n const id = await this.db.get(userCodeKeyFor(userCode));\n return id && this.findById(id);\n }\n\n async destroy(id: string) {\n const key = this.key(id);\n await this.db.del(key);\n }\n\n async revokeByGrantId(grantId: string) {\n // eslint-disable-line class-methods-use-this\n const multi = this.db.multi();\n const key = grantKeyFor(grantId);\n const tokens = await this.db.lrange(key, 0, -1);\n\n tokens.forEach((token) => multi.del(token));\n multi.del(grantKeyFor(grantId));\n\n await multi.exec();\n }\n\n async consume(id: string) {\n await this.db.hset(this.key(id), \"consumed\", Math.floor(Date.now() / 1000));\n }\n}\n"]}
1
+ {"version":3,"file":"OIDCRedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/OIDCRedisAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/RedisAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {Adapter, AdapterConstructorOptions, AdapterModel} from \"@tsed/adapters\";\nimport {cleanObject, Hooks, isObject, isString} from \"@tsed/core\";\nimport {Configuration, Inject, Opts} from \"@tsed/di\";\nimport {IORedis, IOREDIS_CONNECTIONS} from \"@tsed/ioredis\";\nimport type {ChainableCommander, Redis} from \"ioredis\";\nimport {v4 as uuid} from \"uuid\";\n\nconst getId = (key: string) => key.split(\":\")[2];\nconst flatKeys = (keys: [Error | null, string[]][]): string[] => {\n return keys.flatMap(([, result]) => result).filter(Boolean);\n};\n\nexport interface RedisAdapterConstructorOptions extends AdapterConstructorOptions {\n connectionName?: string;\n useHash?: boolean;\n}\n\nexport class RedisAdapter<Model extends AdapterModel> extends Adapter<Model> {\n readonly hooks = new Hooks();\n readonly connectionName: string;\n readonly connection: IORedis;\n protected useHash: boolean = false;\n\n constructor(\n @Opts options: RedisAdapterConstructorOptions,\n @Inject(IOREDIS_CONNECTIONS) connections: IORedis[],\n @Configuration() protected configuration: Configuration\n ) {\n super(options, configuration);\n\n this.useHash = Boolean(options.useHash);\n this.connectionName = options.connectionName || \"default\";\n this.connection = connections.find((connection) => connection.name === this.connectionName)!; // || connections[0];\n }\n\n get db(): Redis {\n return this.connection;\n }\n\n key(id: string) {\n return `${this.collectionName}:${id}`;\n }\n\n public async create(payload: Partial<Model>, expiresAt?: Date): Promise<Model> {\n delete payload._id;\n return this.insert(payload, expiresAt);\n }\n\n public async upsert(id: string, payload: Model, expiresAt?: Date): Promise<Model> {\n const item = await this.findById(id);\n\n if (!item) {\n payload._id = id;\n\n return await this.insert(payload, expiresAt);\n }\n\n return (await this.update(id, payload, expiresAt)) as Model;\n }\n\n public async update(id: string, payload: Model, expiresAt?: Date): Promise<Model | undefined> {\n return this.updateOne({_id: id}, payload, expiresAt);\n }\n\n public async updateOne(predicate: Partial<Model & any>, payload: Model, expiresAt?: Date): Promise<Model | undefined> {\n const item = await this.findOne(predicate);\n\n if (!item) {\n return undefined;\n }\n\n Object.assign(item, cleanObject(payload), {\n _id: item._id\n });\n\n return this.insert(item, expiresAt);\n }\n\n async findOne(predicate: Partial<Model & any>): Promise<Model | undefined> {\n const {_id, ...props} = predicate;\n\n if (_id) {\n return this.findById(_id);\n }\n\n const keys = Object.keys(props);\n let foundKeys = await this.findKeys(props);\n\n if (foundKeys.length < keys.length) {\n return undefined;\n }\n\n const getId = (key: string) => key.split(\":\")[2];\n const id = getId(foundKeys[0]);\n\n foundKeys = foundKeys.filter((key) => id === getId(key));\n\n return keys.length === foundKeys.length ? this.findById(id) : undefined;\n }\n\n async findById(_id: string): Promise<Model | undefined> {\n const key = this.key(_id);\n\n const item = this.useHash ? await this.db.hgetall(key) : await this.db.get(key);\n\n // hgetall returns an empty object when there are no results, so we need to check for that.\n if (!item || (this.useHash && isObject(item) && Object.keys(item).length === 0)) {\n return undefined;\n }\n\n if (isString(item)) {\n return this.deserialize(JSON.parse(item));\n }\n\n const {payload, ...rest} = item;\n\n return {\n ...rest,\n ...(payload ? JSON.parse(payload) : {})\n };\n }\n\n public async findAll(predicate: Partial<Model & any> = {}): Promise<Model[]> {\n const {_id, ...props} = predicate;\n\n if (_id) {\n const item = await this.findById(_id);\n return item ? [item] : [];\n }\n\n const keys = Object.keys(props);\n\n if (keys.length === 0) {\n return this.getAll();\n }\n\n return this.findAllBy(props);\n }\n\n public async deleteOne(predicate: Partial<Model & any>): Promise<Model | undefined> {\n const item = await this.findOne(predicate);\n\n if (item) {\n const id = this.key(item._id);\n const indexIds = await this.getAllIndex(item._id);\n\n await this.db.del([id, ...indexIds]);\n\n return this.deserialize(item);\n }\n }\n\n public async deleteById(_id: string): Promise<Model | undefined> {\n return this.deleteOne({_id} as any);\n }\n\n public async deleteMany(predicate: Partial<Model>): Promise<Model[]> {\n const items = await this.findAll(predicate);\n\n const pipeline = this.db.pipeline();\n const ids: string[] = [];\n\n const results = items.map((item) => {\n ids.push(this.key(item._id));\n\n this.getAllIndex(item._id, pipeline);\n\n return this.deserialize(item);\n });\n\n const keys = await pipeline.exec();\n\n this.db.del([...ids, ...flatKeys(keys as any)]);\n\n return results;\n }\n\n protected async findKeys(props: any): Promise<string[]> {\n const keys: any[] = Object.keys(props);\n const pipeline = this.db.pipeline();\n\n this.indexes\n .filter(({propertyKey}) => keys.includes(propertyKey))\n .forEach(({propertyKey}) => {\n const value = props[propertyKey];\n const patterns = this.getIndexedKey(\"*\", propertyKey, value);\n\n pipeline.keys(patterns);\n });\n\n const results = await pipeline.exec();\n\n return flatKeys(results as any[]);\n }\n\n protected async insert(payload: Partial<Model>, expiresAt?: Date) {\n const id = (payload._id = payload._id || uuid());\n\n const expiresIn = expiresAt ? expiresAt.getTime() - Date.now() : null;\n\n await this.validate(payload as Model);\n\n const multi = this.db.multi();\n const key = this.key(id);\n\n const strPayload = JSON.stringify(this.serialize(payload));\n\n this.useHash ? await multi.hset(key, {payload: strPayload}) : await multi.set(key, strPayload);\n\n if (expiresIn) {\n multi.expire(key, expiresIn);\n }\n\n this.indexes.forEach(({propertyKey}) => {\n const value = payload[propertyKey];\n const indexedKey = this.getIndexedKey(id, propertyKey, value);\n\n multi.set(indexedKey, id);\n expiresIn && multi.expire(indexedKey, expiresIn);\n });\n\n await this.hooks.asyncAlter(\"insert\", multi, [payload, expiresIn]);\n\n await multi.exec();\n\n const result = this.deserialize(payload, {useAlias: false});\n\n await this.hooks.asyncEmit(\"afterInsert\", [result]);\n\n return result;\n }\n\n protected getAllIndex(id: string): Promise<string[]>;\n protected getAllIndex(id: string, pipeline: ChainableCommander): ChainableCommander;\n protected getAllIndex(id: string, pipeline?: ChainableCommander) {\n const key = [\"$idx\", this.key(id), \"*\"].join(\":\");\n\n return (pipeline || this.db).keys(key);\n }\n\n protected getIndexedKey(id: string, propertyKey: string, value: any): string {\n const key = this.key(id);\n return [\"$idx\", key, `${propertyKey}(${value})`].map(String).join(\":\");\n }\n\n protected async getAll(): Promise<Model[]> {\n const keys = await this.db.keys(`${this.collectionName}:*`);\n const pipeline = this.db.pipeline();\n\n keys.forEach((key) => {\n pipeline.get(key);\n });\n\n const result = await pipeline.exec();\n return (result || []).map(([, data]: [any, string]) => this.deserialize(JSON.parse(data))).filter(Boolean);\n }\n\n protected async findAllBy(props: Partial<Model & any>): Promise<Model[]> {\n const keys = Object.keys(props);\n const foundKeys = await this.findKeys(props);\n\n if (foundKeys.length < keys.length) {\n return [];\n }\n\n const map = foundKeys.reduce((map: Map<string, number>, key) => {\n const id = getId(key);\n const value = map.get(id) || 0;\n\n return map.set(id, value + 1);\n }, new Map());\n\n const promises = [...map.entries()].filter(([, num]) => num === keys.length).map(([id]) => this.findById(id));\n\n const result = await Promise.all(promises);\n\n return result.filter(Boolean) as Model[];\n }\n}\n"]}
1
+ {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/RedisAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedisAdaptersSettings.js","sourceRoot":"","sources":["../../../src/domain/RedisAdaptersSettings.ts"],"names":[],"mappings":"","sourcesContent":["import {AdaptersSettings} from \"@tsed/adapters\";\nimport {RedisOptions} from \"ioredis\";\n\ndeclare global {\n namespace TsED {\n interface AdaptersOptions extends AdaptersSettings {\n redis: RedisOptions & {\n indexes?: {[propertyKey: string]: Record<string, any>};\n };\n }\n }\n}\n"]}
1
+ {"version":3,"file":"RedisAdaptersSettings.js","sourceRoot":"","sources":["../../../src/domain/RedisAdaptersSettings.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sEAA4C;AAC5C,kEAAwC;AACxC,yEAA+C","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./adapters/OIDCRedisAdapter\";\nexport * from \"./adapters/RedisAdapter\";\nexport * from \"./domain/RedisAdaptersSettings\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sEAA4C;AAC5C,kEAAwC;AACxC,yEAA+C"}
@@ -1 +1 @@
1
- {"version":3,"file":"OIDCRedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/OIDCRedisAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {AdapterModel} from \"@tsed/adapters\";\nimport {Configuration, Inject, Opts} from \"@tsed/di\";\nimport {ChainableCommander} from \"ioredis\";\nimport {IOREDIS_CONNECTIONS, IORedis} from \"@tsed/ioredis\";\n\nimport {RedisAdapter, RedisAdapterConstructorOptions} from \"./RedisAdapter\";\n\nconst GRANTABLE = new Set([\"AccessToken\", \"AuthorizationCode\", \"RefreshToken\", \"DeviceCode\", \"BackchannelAuthenticationRequest\"]);\nconst CONSUMABLE = new Set([\"AuthorizationCode\", \"RefreshToken\", \"DeviceCode\", \"BackchannelAuthenticationRequest\"]);\n\nfunction grantKeyFor(id: string) {\n return `$oidc:grant:${id}`;\n}\n\nfunction userCodeKeyFor(userCode: string) {\n return `$oidc:userCode:${userCode}`;\n}\n\nfunction uidKeyFor(uid: string) {\n return `$oidc:uid:${uid}`;\n}\n\nexport class OIDCRedisAdapter<T extends AdapterModel> extends RedisAdapter<T> {\n protected isGrantable: boolean;\n\n constructor(\n @Opts options: RedisAdapterConstructorOptions,\n @Inject(IOREDIS_CONNECTIONS) connections: IORedis[],\n @Configuration() protected configuration: Configuration\n ) {\n super(options, connections, configuration);\n\n this.useHash = CONSUMABLE.has(this.collectionName);\n this.isGrantable = GRANTABLE.has(this.collectionName);\n this.hooks.on(\"insert\", this.onInsert.bind(this));\n }\n\n async onInsert(multi: ChainableCommander, payload: T, expiresIn: number) {\n const id = payload._id;\n\n const key = this.key(id);\n\n if (this.isGrantable && payload.grantId) {\n const grantKey = grantKeyFor(payload.grantId);\n\n multi.rpush(grantKey, key);\n // if you're seeing grant key lists growing out of acceptable proportions consider using LTRIM\n // here to trim the list to an appropriate length\n const ttl = await this.db.ttl(grantKey);\n\n if (expiresIn && expiresIn > ttl) {\n multi.expire(grantKey, expiresIn);\n }\n }\n\n if (payload.userCode) {\n const userCodeKey = userCodeKeyFor(payload.userCode);\n\n multi.set(userCodeKey, id);\n expiresIn && multi.expire(userCodeKey, expiresIn);\n }\n\n if (payload.uid) {\n const uidKey = uidKeyFor(payload.uid);\n\n multi.set(uidKey, id);\n expiresIn && multi.expire(uidKey, expiresIn);\n }\n\n return multi;\n }\n\n async findByUid(uid: string) {\n const id = await this.db.get(uidKeyFor(uid));\n\n return id && this.findById(id);\n }\n\n async findByUserCode(userCode: string) {\n const id = await this.db.get(userCodeKeyFor(userCode));\n return id && this.findById(id);\n }\n\n async destroy(id: string) {\n const key = this.key(id);\n await this.db.del(key);\n }\n\n async revokeByGrantId(grantId: string) {\n // eslint-disable-line class-methods-use-this\n const multi = this.db.multi();\n const key = grantKeyFor(grantId);\n const tokens = await this.db.lrange(key, 0, -1);\n\n tokens.forEach((token) => multi.del(token));\n multi.del(grantKeyFor(grantId));\n\n await multi.exec();\n }\n\n async consume(id: string) {\n await this.db.hset(this.key(id), \"consumed\", Math.floor(Date.now() / 1000));\n }\n}\n"]}
1
+ {"version":3,"file":"OIDCRedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/OIDCRedisAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/RedisAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {Adapter, AdapterConstructorOptions, AdapterModel} from \"@tsed/adapters\";\nimport {cleanObject, Hooks, isObject, isString} from \"@tsed/core\";\nimport {Configuration, Inject, Opts} from \"@tsed/di\";\nimport {IORedis, IOREDIS_CONNECTIONS} from \"@tsed/ioredis\";\nimport type {ChainableCommander, Redis} from \"ioredis\";\nimport {v4 as uuid} from \"uuid\";\n\nconst getId = (key: string) => key.split(\":\")[2];\nconst flatKeys = (keys: [Error | null, string[]][]): string[] => {\n return keys.flatMap(([, result]) => result).filter(Boolean);\n};\n\nexport interface RedisAdapterConstructorOptions extends AdapterConstructorOptions {\n connectionName?: string;\n useHash?: boolean;\n}\n\nexport class RedisAdapter<Model extends AdapterModel> extends Adapter<Model> {\n readonly hooks = new Hooks();\n readonly connectionName: string;\n readonly connection: IORedis;\n protected useHash: boolean = false;\n\n constructor(\n @Opts options: RedisAdapterConstructorOptions,\n @Inject(IOREDIS_CONNECTIONS) connections: IORedis[],\n @Configuration() protected configuration: Configuration\n ) {\n super(options, configuration);\n\n this.useHash = Boolean(options.useHash);\n this.connectionName = options.connectionName || \"default\";\n this.connection = connections.find((connection) => connection.name === this.connectionName)!; // || connections[0];\n }\n\n get db(): Redis {\n return this.connection;\n }\n\n key(id: string) {\n return `${this.collectionName}:${id}`;\n }\n\n public async create(payload: Partial<Model>, expiresAt?: Date): Promise<Model> {\n delete payload._id;\n return this.insert(payload, expiresAt);\n }\n\n public async upsert(id: string, payload: Model, expiresAt?: Date): Promise<Model> {\n const item = await this.findById(id);\n\n if (!item) {\n payload._id = id;\n\n return await this.insert(payload, expiresAt);\n }\n\n return (await this.update(id, payload, expiresAt)) as Model;\n }\n\n public async update(id: string, payload: Model, expiresAt?: Date): Promise<Model | undefined> {\n return this.updateOne({_id: id}, payload, expiresAt);\n }\n\n public async updateOne(predicate: Partial<Model & any>, payload: Model, expiresAt?: Date): Promise<Model | undefined> {\n const item = await this.findOne(predicate);\n\n if (!item) {\n return undefined;\n }\n\n Object.assign(item, cleanObject(payload), {\n _id: item._id\n });\n\n return this.insert(item, expiresAt);\n }\n\n async findOne(predicate: Partial<Model & any>): Promise<Model | undefined> {\n const {_id, ...props} = predicate;\n\n if (_id) {\n return this.findById(_id);\n }\n\n const keys = Object.keys(props);\n let foundKeys = await this.findKeys(props);\n\n if (foundKeys.length < keys.length) {\n return undefined;\n }\n\n const getId = (key: string) => key.split(\":\")[2];\n const id = getId(foundKeys[0]);\n\n foundKeys = foundKeys.filter((key) => id === getId(key));\n\n return keys.length === foundKeys.length ? this.findById(id) : undefined;\n }\n\n async findById(_id: string): Promise<Model | undefined> {\n const key = this.key(_id);\n\n const item = this.useHash ? await this.db.hgetall(key) : await this.db.get(key);\n\n // hgetall returns an empty object when there are no results, so we need to check for that.\n if (!item || (this.useHash && isObject(item) && Object.keys(item).length === 0)) {\n return undefined;\n }\n\n if (isString(item)) {\n return this.deserialize(JSON.parse(item));\n }\n\n const {payload, ...rest} = item;\n\n return {\n ...rest,\n ...(payload ? JSON.parse(payload) : {})\n };\n }\n\n public async findAll(predicate: Partial<Model & any> = {}): Promise<Model[]> {\n const {_id, ...props} = predicate;\n\n if (_id) {\n const item = await this.findById(_id);\n return item ? [item] : [];\n }\n\n const keys = Object.keys(props);\n\n if (keys.length === 0) {\n return this.getAll();\n }\n\n return this.findAllBy(props);\n }\n\n public async deleteOne(predicate: Partial<Model & any>): Promise<Model | undefined> {\n const item = await this.findOne(predicate);\n\n if (item) {\n const id = this.key(item._id);\n const indexIds = await this.getAllIndex(item._id);\n\n await this.db.del([id, ...indexIds]);\n\n return this.deserialize(item);\n }\n }\n\n public async deleteById(_id: string): Promise<Model | undefined> {\n return this.deleteOne({_id} as any);\n }\n\n public async deleteMany(predicate: Partial<Model>): Promise<Model[]> {\n const items = await this.findAll(predicate);\n\n const pipeline = this.db.pipeline();\n const ids: string[] = [];\n\n const results = items.map((item) => {\n ids.push(this.key(item._id));\n\n this.getAllIndex(item._id, pipeline);\n\n return this.deserialize(item);\n });\n\n const keys = await pipeline.exec();\n\n this.db.del([...ids, ...flatKeys(keys as any)]);\n\n return results;\n }\n\n protected async findKeys(props: any): Promise<string[]> {\n const keys: any[] = Object.keys(props);\n const pipeline = this.db.pipeline();\n\n this.indexes\n .filter(({propertyKey}) => keys.includes(propertyKey))\n .forEach(({propertyKey}) => {\n const value = props[propertyKey];\n const patterns = this.getIndexedKey(\"*\", propertyKey, value);\n\n pipeline.keys(patterns);\n });\n\n const results = await pipeline.exec();\n\n return flatKeys(results as any[]);\n }\n\n protected async insert(payload: Partial<Model>, expiresAt?: Date) {\n const id = (payload._id = payload._id || uuid());\n\n const expiresIn = expiresAt ? expiresAt.getTime() - Date.now() : null;\n\n await this.validate(payload as Model);\n\n const multi = this.db.multi();\n const key = this.key(id);\n\n const strPayload = JSON.stringify(this.serialize(payload));\n\n this.useHash ? await multi.hset(key, {payload: strPayload}) : await multi.set(key, strPayload);\n\n if (expiresIn) {\n multi.expire(key, expiresIn);\n }\n\n this.indexes.forEach(({propertyKey}) => {\n const value = payload[propertyKey];\n const indexedKey = this.getIndexedKey(id, propertyKey, value);\n\n multi.set(indexedKey, id);\n expiresIn && multi.expire(indexedKey, expiresIn);\n });\n\n await this.hooks.asyncAlter(\"insert\", multi, [payload, expiresIn]);\n\n await multi.exec();\n\n const result = this.deserialize(payload, {useAlias: false});\n\n await this.hooks.asyncEmit(\"afterInsert\", [result]);\n\n return result;\n }\n\n protected getAllIndex(id: string): Promise<string[]>;\n protected getAllIndex(id: string, pipeline: ChainableCommander): ChainableCommander;\n protected getAllIndex(id: string, pipeline?: ChainableCommander) {\n const key = [\"$idx\", this.key(id), \"*\"].join(\":\");\n\n return (pipeline || this.db).keys(key);\n }\n\n protected getIndexedKey(id: string, propertyKey: string, value: any): string {\n const key = this.key(id);\n return [\"$idx\", key, `${propertyKey}(${value})`].map(String).join(\":\");\n }\n\n protected async getAll(): Promise<Model[]> {\n const keys = await this.db.keys(`${this.collectionName}:*`);\n const pipeline = this.db.pipeline();\n\n keys.forEach((key) => {\n pipeline.get(key);\n });\n\n const result = await pipeline.exec();\n return (result || []).map(([, data]: [any, string]) => this.deserialize(JSON.parse(data))).filter(Boolean);\n }\n\n protected async findAllBy(props: Partial<Model & any>): Promise<Model[]> {\n const keys = Object.keys(props);\n const foundKeys = await this.findKeys(props);\n\n if (foundKeys.length < keys.length) {\n return [];\n }\n\n const map = foundKeys.reduce((map: Map<string, number>, key) => {\n const id = getId(key);\n const value = map.get(id) || 0;\n\n return map.set(id, value + 1);\n }, new Map());\n\n const promises = [...map.entries()].filter(([, num]) => num === keys.length).map(([id]) => this.findById(id));\n\n const result = await Promise.all(promises);\n\n return result.filter(Boolean) as Model[];\n }\n}\n"]}
1
+ {"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/RedisAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedisAdaptersSettings.js","sourceRoot":"","sources":["../../../src/domain/RedisAdaptersSettings.ts"],"names":[],"mappings":"","sourcesContent":["import {AdaptersSettings} from \"@tsed/adapters\";\nimport {RedisOptions} from \"ioredis\";\n\ndeclare global {\n namespace TsED {\n interface AdaptersOptions extends AdaptersSettings {\n redis: RedisOptions & {\n indexes?: {[propertyKey: string]: Record<string, any>};\n };\n }\n }\n}\n"]}
1
+ {"version":3,"file":"RedisAdaptersSettings.js","sourceRoot":"","sources":["../../../src/domain/RedisAdaptersSettings.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./adapters/OIDCRedisAdapter\";\nexport * from \"./adapters/RedisAdapter\";\nexport * from \"./domain/RedisAdaptersSettings\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC"}