@sourceloop/ctrl-plane-subscription-service
Version:
Subscription management microservice for SaaS control plane.
27 lines (26 loc) • 1.01 kB
text/typescript
import {Getter, inject} from '@loopback/core';
import {Service, ServiceRelations} from '../../models';
import {IAuthUserWithPermissions} from '@sourceloop/core';
import {AuthenticationBindings} from 'loopback4-authentication';
import {Entity} from '@loopback/repository';
import {SubscriptionDbSourceName} from '../../types';
import {SequelizeDataSource} from '@loopback/sequelize';
import {SequelizeUserModifyCrudRepository} from '@sourceloop/core/sequelize';
export class ServiceRepository<
T extends Service = Service,
> extends SequelizeUserModifyCrudRepository<
T,
typeof Service.prototype.id,
ServiceRelations
> {
constructor(
(`datasources.${SubscriptionDbSourceName}`)
dataSource: SequelizeDataSource,
.getter(AuthenticationBindings.CURRENT_USER)
public readonly getCurrentUser: Getter<IAuthUserWithPermissions>,
('models.Service')
private readonly service: typeof Entity & {prototype: T},
) {
super(service, dataSource, getCurrentUser);
}
}