chore: Refactor and improve abstract module service factory (#7688)

* chore: Refactor and improve abstract module service factory

* align naming

* clean up some template args and tests

* partially migrate modules

* partially migrate modules

* migrate more modules

* migrate last modules

* fix typings

* rename interface

* rename interface

* fixes

* fixes

* rm local plain tests
This commit is contained in:
Adrien de Peretti
2024-06-13 13:12:37 +02:00
committed by GitHub
parent c57223a3a2
commit d2a5201eeb
44 changed files with 590 additions and 519 deletions

View File

@@ -10,7 +10,7 @@ type InjectedDependencies = {
export default class InventoryLevelService<
TEntity extends InventoryLevel = InventoryLevel
> extends ModulesSdkUtils.internalModuleServiceFactory<InjectedDependencies>(
> extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
InventoryLevel
)<TEntity> {
protected readonly inventoryLevelRepository: InventoryLevelRepository

View File

@@ -30,20 +30,23 @@ import InventoryLevelService from "./inventory-level"
type InjectedDependencies = {
baseRepository: DAL.RepositoryService
inventoryItemService: ModulesSdkTypes.InternalModuleService<any>
inventoryItemService: ModulesSdkTypes.IMedusaInternalService<any>
inventoryLevelService: InventoryLevelService<any>
reservationItemService: ModulesSdkTypes.InternalModuleService<any>
reservationItemService: ModulesSdkTypes.IMedusaInternalService<any>
}
const generateMethodForModels = [InventoryItem, InventoryLevel, ReservationItem]
const generateMethodForModels = {
InventoryItem,
InventoryLevel,
ReservationItem,
}
export default class InventoryModuleService<
TInventoryItem extends InventoryItem = InventoryItem,
TInventoryLevel extends InventoryLevel = InventoryLevel,
TReservationItem extends ReservationItem = ReservationItem
>
extends ModulesSdkUtils.abstractModuleServiceFactory<
InjectedDependencies,
extends ModulesSdkUtils.MedusaService<
InventoryNext.InventoryItemDTO,
{
InventoryItem: {
@@ -61,8 +64,8 @@ export default class InventoryModuleService<
{
protected baseRepository_: DAL.RepositoryService
protected readonly inventoryItemService_: ModulesSdkTypes.InternalModuleService<TInventoryItem>
protected readonly reservationItemService_: ModulesSdkTypes.InternalModuleService<TReservationItem>
protected readonly inventoryItemService_: ModulesSdkTypes.IMedusaInternalService<TInventoryItem>
protected readonly reservationItemService_: ModulesSdkTypes.IMedusaInternalService<TReservationItem>
protected readonly inventoryLevelService_: InventoryLevelService<TInventoryLevel>
constructor(
@@ -209,6 +212,7 @@ export default class InventoryModuleService<
await promiseAll(checkLevels)
}
// @ts-ignore
async createReservationItems(
input: InventoryNext.CreateReservationItemInput[],
context?: Context
@@ -365,6 +369,7 @@ export default class InventoryModuleService<
return await this.inventoryItemService_.create(input)
}
// @ts-ignore
createInventoryLevels(
input: InventoryNext.CreateInventoryLevelInput,
context?: Context
@@ -537,6 +542,7 @@ export default class InventoryModuleService<
return await this.inventoryLevelService_.delete(inventoryLevel.id, context)
}
// @ts-ignore
async updateInventoryLevels(
updates: InventoryTypes.BulkUpdateInventoryLevelInput[],
context?: Context
@@ -623,6 +629,7 @@ export default class InventoryModuleService<
* @param context
* @return The updated inventory level
*/
// @ts-ignore
async updateReservationItems(
input: InventoryNext.UpdateReservationItemInput[],
context?: Context