Loading dist/sequelize-cache/base-model.d.ts +1 −4 Original line number Diff line number Diff line Loading @@ -31,10 +31,7 @@ export declare class Model<TAttributes extends {} = any, TCreate extends {} = TA private static rejectOnEmptyMode; static findAllCache<T extends Model>(this: { new (): T; }, options?: FindAllNestedOptionsCache<T['_attributes']>): Promise<T[]>; static findAllCache<T extends Model>(this: { new (): T; }, options?: FindAllOptionsCache<T['_attributes']>): Promise<T[]>; }, options: FindAllNestedOptionsCache<T['_attributes']>): Promise<T[]>; static scopes<M extends SequelizeModel>(this: ModelStatic<M>, options?: string | ScopeOptions | readonly (string | ScopeOptions)[] | WhereAttributeHash<M>): typeof Model & { new (): M; }; Loading dist/sequelize-cache/base-model.js +7 −25 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Model = void 0; const common_1 = require("@nestjs/common"); const date_utility_1 = require("../date-utility"); const lodash_1 = require("lodash"); const crypto = require("crypto"); const sequelize_cache_1 = require("./sequelize-cache"); Loading Loading @@ -111,38 +110,21 @@ class Model extends sequelize_typescript_1.Model { throw options.rejectOnEmpty; } } static async findAllCache(options = {}) { static async findAllCache(options) { const TTL = options?.ttl || this['modelTTL'] || sequelize_cache_1.SequelizeCache.defaultTTL; delete options?.ttl; const maxUpdateOptions = getMaxUpdateOptions(options); const onUpdateAttribute = this['getAttributes']()?.[this['onUpdateAttribute']]; const maxUpdatedAtPromise = onUpdateAttribute?.field ? getCustomCache({ key: 'max', maxUpdateOptions, model: `${this.name}` }, 2, () => (this['max'](`${this.name}.${onUpdateAttribute?.field}`, maxUpdateOptions))) : undefined; const [maxUpdatedAt, count] = await Promise.all([ maxUpdatedAtPromise, this['countCache'](2, options), ]); if (!count && !maxUpdatedAt) return TransformCacheToModels(this, '[]'); const max = date_utility_1.DateUtility.convertDateTimeToEpoch(new Date(maxUpdatedAt)) + +count; const scope = (0, lodash_1.cloneDeep)(this['_scope']); const defaultOptions = this['_defaultsOptions'](options, scope); const keyOpts = cache_utilty_1.default.setQueryOptions(defaultOptions); const keyTime = cache_utilty_1.default.setKey(this.name, keyOpts); let timeCached = await sequelize_cache_1.SequelizeCache.catchGetter({ key: keyTime }); let canFetch = false; if (!timeCached || max.toString() != timeCached) { canFetch = true; await sequelize_cache_1.SequelizeCache.catchSetter({ key: keyTime, value: max.toString(), ttl: TTL }); timeCached = max.toString(); } const keyModel = cache_utilty_1.default.setKey(this.name, timeCached, keyOpts); const keyModel = cache_utilty_1.default.setKey(this.name, keyOpts); let modelString = await sequelize_cache_1.SequelizeCache.catchGetter({ key: keyModel }); if (canFetch || !modelString) { if (!modelString) { const newModels = await this['findAll'](options); if (!newModels?.length) { return []; } modelString = JSON.stringify(newModels); const newKeyModel = cache_utilty_1.default.setKey(this.name, max, keyOpts); const newKeyModel = cache_utilty_1.default.setKey(this.name, keyModel); sequelize_cache_1.SequelizeCache.catchSetter({ key: newKeyModel, value: modelString, ttl: TTL }); } const include = options && 'include' in options ? options?.include : undefined; Loading dist/sequelize-cache/base-model.js.map +1 −1 Original line number Diff line number Diff line {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../../src/sequelize-cache/base-model.ts"],"names":[],"mappings":"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"} No newline at end of file {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../../src/sequelize-cache/base-model.ts"],"names":[],"mappings":"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"} No newline at end of file dist/tsconfig.build.tsbuildinfo +1 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes src/sequelize-cache/base-model.ts +8 −43 Original line number Diff line number Diff line Loading @@ -256,71 +256,36 @@ export class Model<TAttributes extends {} = any, TCreate extends {} = TAttribute } static async findAllCache<T extends Model>(this: { new(): T }, options?: FindAllNestedOptionsCache<T['_attributes']>, ): Promise<T[]> static async findAllCache<T extends Model>(this: { new(): T }, options?: FindAllOptionsCache<T['_attributes']>, ): Promise<T[]> static async findAllCache<T extends Model>(this: { new(): T }, options: FindAllNestedOptionsCache<T['_attributes']> | FindAllOptionsCache<T['_attributes']> = {}, options: FindAllNestedOptionsCache<T['_attributes']>, ): Promise<T[]> { const TTL = options?.ttl || this['modelTTL'] || SequelizeCache.defaultTTL delete options?.ttl const maxUpdateOptions = getMaxUpdateOptions(options); const onUpdateAttribute = this['getAttributes']()?.[this['onUpdateAttribute']]; const maxUpdatedAtPromise = onUpdateAttribute?.field ? getCustomCache( { key: 'max', maxUpdateOptions, model: `${this.name}` }, 2, () => (this['max'](`${this.name}.${onUpdateAttribute?.field}`, maxUpdateOptions))) : undefined // get max updatedAt on model const [maxUpdatedAt, count] = await Promise.all([ maxUpdatedAtPromise, this['countCache'](2, options), ]) if (!count && !maxUpdatedAt) return TransformCacheToModels(this, '[]') const max = DateUtility.convertDateTimeToEpoch(new Date(maxUpdatedAt)) + +count const scope = cloneDeep(this['_scope']) const defaultOptions = this['_defaultsOptions'](options, scope) // setting up key for FindOptions const keyOpts = CacheUtility.setQueryOptions(defaultOptions); // get what time is cached on this model based on keyOpts const keyTime = CacheUtility.setKey(this.name, keyOpts) let timeCached = await SequelizeCache.catchGetter({ key: keyTime }) let canFetch = false // set time cache if timeCached is null if (!timeCached || max.toString() != timeCached) { canFetch = true await SequelizeCache.catchSetter({ key: keyTime, value: max.toString(), ttl: TTL }) timeCached = max.toString() } // set key for get model const keyModel = CacheUtility.setKey(this.name, timeCached, keyOpts) const keyModel = CacheUtility.setKey(this.name, keyOpts) // get the model result based on key let modelString = await SequelizeCache.catchGetter({ key: keyModel }) // check if result is null or can fetch // then can fetch row on database if (canFetch || !modelString) { if (!modelString) { // fetch row on models const newModels = await this['findAll'](options) if (!newModels?.length) { return []; } modelString = JSON.stringify(newModels) // set cache model based on new key const newKeyModel = CacheUtility.setKey(this.name, max, keyOpts) const newKeyModel = CacheUtility.setKey(this.name, keyModel) SequelizeCache.catchSetter({ key: newKeyModel, value: modelString, ttl: TTL }) } Loading Loading
dist/sequelize-cache/base-model.d.ts +1 −4 Original line number Diff line number Diff line Loading @@ -31,10 +31,7 @@ export declare class Model<TAttributes extends {} = any, TCreate extends {} = TA private static rejectOnEmptyMode; static findAllCache<T extends Model>(this: { new (): T; }, options?: FindAllNestedOptionsCache<T['_attributes']>): Promise<T[]>; static findAllCache<T extends Model>(this: { new (): T; }, options?: FindAllOptionsCache<T['_attributes']>): Promise<T[]>; }, options: FindAllNestedOptionsCache<T['_attributes']>): Promise<T[]>; static scopes<M extends SequelizeModel>(this: ModelStatic<M>, options?: string | ScopeOptions | readonly (string | ScopeOptions)[] | WhereAttributeHash<M>): typeof Model & { new (): M; }; Loading
dist/sequelize-cache/base-model.js +7 −25 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Model = void 0; const common_1 = require("@nestjs/common"); const date_utility_1 = require("../date-utility"); const lodash_1 = require("lodash"); const crypto = require("crypto"); const sequelize_cache_1 = require("./sequelize-cache"); Loading Loading @@ -111,38 +110,21 @@ class Model extends sequelize_typescript_1.Model { throw options.rejectOnEmpty; } } static async findAllCache(options = {}) { static async findAllCache(options) { const TTL = options?.ttl || this['modelTTL'] || sequelize_cache_1.SequelizeCache.defaultTTL; delete options?.ttl; const maxUpdateOptions = getMaxUpdateOptions(options); const onUpdateAttribute = this['getAttributes']()?.[this['onUpdateAttribute']]; const maxUpdatedAtPromise = onUpdateAttribute?.field ? getCustomCache({ key: 'max', maxUpdateOptions, model: `${this.name}` }, 2, () => (this['max'](`${this.name}.${onUpdateAttribute?.field}`, maxUpdateOptions))) : undefined; const [maxUpdatedAt, count] = await Promise.all([ maxUpdatedAtPromise, this['countCache'](2, options), ]); if (!count && !maxUpdatedAt) return TransformCacheToModels(this, '[]'); const max = date_utility_1.DateUtility.convertDateTimeToEpoch(new Date(maxUpdatedAt)) + +count; const scope = (0, lodash_1.cloneDeep)(this['_scope']); const defaultOptions = this['_defaultsOptions'](options, scope); const keyOpts = cache_utilty_1.default.setQueryOptions(defaultOptions); const keyTime = cache_utilty_1.default.setKey(this.name, keyOpts); let timeCached = await sequelize_cache_1.SequelizeCache.catchGetter({ key: keyTime }); let canFetch = false; if (!timeCached || max.toString() != timeCached) { canFetch = true; await sequelize_cache_1.SequelizeCache.catchSetter({ key: keyTime, value: max.toString(), ttl: TTL }); timeCached = max.toString(); } const keyModel = cache_utilty_1.default.setKey(this.name, timeCached, keyOpts); const keyModel = cache_utilty_1.default.setKey(this.name, keyOpts); let modelString = await sequelize_cache_1.SequelizeCache.catchGetter({ key: keyModel }); if (canFetch || !modelString) { if (!modelString) { const newModels = await this['findAll'](options); if (!newModels?.length) { return []; } modelString = JSON.stringify(newModels); const newKeyModel = cache_utilty_1.default.setKey(this.name, max, keyOpts); const newKeyModel = cache_utilty_1.default.setKey(this.name, keyModel); sequelize_cache_1.SequelizeCache.catchSetter({ key: newKeyModel, value: modelString, ttl: TTL }); } const include = options && 'include' in options ? options?.include : undefined; Loading
dist/sequelize-cache/base-model.js.map +1 −1 Original line number Diff line number Diff line {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../../src/sequelize-cache/base-model.ts"],"names":[],"mappings":"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"} No newline at end of file {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../../src/sequelize-cache/base-model.ts"],"names":[],"mappings":"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"} No newline at end of file
dist/tsconfig.build.tsbuildinfo +1 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/sequelize-cache/base-model.ts +8 −43 Original line number Diff line number Diff line Loading @@ -256,71 +256,36 @@ export class Model<TAttributes extends {} = any, TCreate extends {} = TAttribute } static async findAllCache<T extends Model>(this: { new(): T }, options?: FindAllNestedOptionsCache<T['_attributes']>, ): Promise<T[]> static async findAllCache<T extends Model>(this: { new(): T }, options?: FindAllOptionsCache<T['_attributes']>, ): Promise<T[]> static async findAllCache<T extends Model>(this: { new(): T }, options: FindAllNestedOptionsCache<T['_attributes']> | FindAllOptionsCache<T['_attributes']> = {}, options: FindAllNestedOptionsCache<T['_attributes']>, ): Promise<T[]> { const TTL = options?.ttl || this['modelTTL'] || SequelizeCache.defaultTTL delete options?.ttl const maxUpdateOptions = getMaxUpdateOptions(options); const onUpdateAttribute = this['getAttributes']()?.[this['onUpdateAttribute']]; const maxUpdatedAtPromise = onUpdateAttribute?.field ? getCustomCache( { key: 'max', maxUpdateOptions, model: `${this.name}` }, 2, () => (this['max'](`${this.name}.${onUpdateAttribute?.field}`, maxUpdateOptions))) : undefined // get max updatedAt on model const [maxUpdatedAt, count] = await Promise.all([ maxUpdatedAtPromise, this['countCache'](2, options), ]) if (!count && !maxUpdatedAt) return TransformCacheToModels(this, '[]') const max = DateUtility.convertDateTimeToEpoch(new Date(maxUpdatedAt)) + +count const scope = cloneDeep(this['_scope']) const defaultOptions = this['_defaultsOptions'](options, scope) // setting up key for FindOptions const keyOpts = CacheUtility.setQueryOptions(defaultOptions); // get what time is cached on this model based on keyOpts const keyTime = CacheUtility.setKey(this.name, keyOpts) let timeCached = await SequelizeCache.catchGetter({ key: keyTime }) let canFetch = false // set time cache if timeCached is null if (!timeCached || max.toString() != timeCached) { canFetch = true await SequelizeCache.catchSetter({ key: keyTime, value: max.toString(), ttl: TTL }) timeCached = max.toString() } // set key for get model const keyModel = CacheUtility.setKey(this.name, timeCached, keyOpts) const keyModel = CacheUtility.setKey(this.name, keyOpts) // get the model result based on key let modelString = await SequelizeCache.catchGetter({ key: keyModel }) // check if result is null or can fetch // then can fetch row on database if (canFetch || !modelString) { if (!modelString) { // fetch row on models const newModels = await this['findAll'](options) if (!newModels?.length) { return []; } modelString = JSON.stringify(newModels) // set cache model based on new key const newKeyModel = CacheUtility.setKey(this.name, max, keyOpts) const newKeyModel = CacheUtility.setKey(this.name, keyModel) SequelizeCache.catchSetter({ key: newKeyModel, value: modelString, ttl: TTL }) } Loading