/
dimamir
/
medusa
Обзор
Документация
Войти
/
dimamir
/
medusa
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/modules/locking/src/services/locking-module.ts
92 строки
2 KB
Adrien de Peretti
chore(): Update module provider retrieval error message and type (#10138)
19 ноя 2024, 14:19
Не верифицирован
19 ноя 2024, 14:19
7aa9907
Код
Авторство
О чём код?
import { Context, ILockingModule, InternalModuleDeclaration, Logger, } from "@medusajs/types" import { EntityManager } from "@mikro-orm/core" import { LockingDefaultProvider } from "@types" import LockingProviderService from "./locking-provider" type InjectedDependencies = { manager: EntityManager lockingProviderService: LockingProviderService logger?: Logger [LockingDefaultProvider]: string } export default class LockingModuleService implements ILockingModule { protected manager: EntityManager protected providerService_: LockingProviderService protected defaultProviderId: string constructor( container: InjectedDependencies, protected readonly moduleDeclaration: InternalModuleDeclaration ) { this.manager = container.manager this.providerService_ = container.lockingProviderService this.defaultProviderId = container[LockingDefaultProvider] } async execute<T>( keys: string | string[], job: () => Promise<T>, args?: { timeout?: number provider?: string }, sharedContext: Context = {} ): Promise<T> { const providerId = args?.provider ?? this.defaultProviderId const provider = this.providerService_.retrieveProviderRegistration(providerId) return provider.execute(keys, job, args, sharedContext) } async acquire( keys: string | string[], args?: { ownerId?: string | null expire?: number provider?: string }, sharedContext: Context = {} ): Promise<void> { const providerId = args?.provider ?? this.defaultProviderId const provider = this.providerService_.retrieveProviderRegistration(providerId) await provider.acquire(keys, args, sharedContext) } async release( keys: string | string[], args?: { ownerId?: string | null provider?: string }, sharedContext: Context = {} ): Promise<boolean> { const providerId = args?.provider ?? this.defaultProviderId const provider = this.providerService_.retrieveProviderRegistration(providerId) return await provider.release(keys, args, sharedContext) } async releaseAll( args?: { ownerId?: string | null provider?: string }, sharedContext: Context = {} ): Promise<void> { const providerId = args?.provider ?? this.defaultProviderId const provider = this.providerService_.retrieveProviderRegistration(providerId) return await provider.releaseAll(args, sharedContext) } }