Files
bigcapital/server/src/system/repositories/SubscriptionRepository.ts
Ahmed Bouhuolia a22c8395f3 feat: remove path alias.
feat: remove Webpack and depend on nodemon.
feat: refactoring expenses.
feat: optimize system users with caching.
feat: architecture tenant optimize.
2020-09-15 00:51:39 +02:00

21 lines
653 B
TypeScript

import { Service, Inject } from 'typedi';
import SystemRepository from "system/repositories/SystemRepository";
import { PlanSubscription } from 'system/models'
@Service()
export default class SubscriptionRepository extends SystemRepository{
@Inject('cache')
cache: any;
/**
* Retrieve subscription from a given slug in specific tenant.
* @param {string} slug
* @param {number] tenantId
*/
getBySlugInTenant(slug: string, tenantId: number) {
const key = `subscription.slug.${slug}.tenant.${tenantId}`;
return this.cache.get(key, () => {
return PlanSubscription.query().findOne('slug', slug).where('tenant_id', tenantId);
});
}
}