chore: Internal medusa service proper typings with DML (#7792)

This commit is contained in:
Adrien de Peretti
2024-06-21 12:36:54 +02:00
committed by GitHub
parent 944051a951
commit 90e6ca0e9e
29 changed files with 198 additions and 142 deletions

View File

@@ -20,12 +20,10 @@ type InjectedDependencies = {
orderChangeRepository: DAL.RepositoryService
}
export default class OrderChangeService<
TEntity extends OrderChange = OrderChange
> extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
export default class OrderChangeService extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
OrderChange
)<TEntity> {
protected readonly orderChangeRepository_: RepositoryService<TEntity>
)<OrderChange> {
protected readonly orderChangeRepository_: RepositoryService<OrderChange>
constructor(container: InjectedDependencies) {
// @ts-ignore
@@ -38,7 +36,7 @@ export default class OrderChangeService<
orderId: string | string[],
config: FindConfig<TEntityMethod> = {},
@MedusaContext() sharedContext: Context = {}
): Promise<TEntity[]> {
): Promise<OrderChange[]> {
const allChanges = await super.list(
{ order_id: orderId },
config ?? {
@@ -67,7 +65,7 @@ export default class OrderChangeService<
}
}
let orderChange!: TEntity
let orderChange!: OrderChange
if (allChanges?.length > 0) {
if (this.isActive(allChanges[0])) {
orderChange = allChanges[0]
@@ -81,7 +79,7 @@ export default class OrderChangeService<
const relations = deduplicate([...(config.relations ?? []), "actions"])
config.relations = relations
const queryConfig = ModulesSdkUtils.buildQuery<TEntity>(
const queryConfig = ModulesSdkUtils.buildQuery<OrderChange>(
{
id: lastChanges,
order: {
@@ -104,20 +102,20 @@ export default class OrderChangeService<
}
async create(
data: Partial<TEntity>[],
data: Partial<OrderChange>[],
sharedContext?: Context
): Promise<TEntity[]>
): Promise<OrderChange[]>
async create(
data: Partial<TEntity>,
data: Partial<OrderChange>,
sharedContext?: Context
): Promise<TEntity>
): Promise<OrderChange>
@InjectTransactionManager("orderChangeRepository_")
async create(
data: Partial<TEntity>[] | Partial<TEntity>,
data: Partial<OrderChange>[] | Partial<OrderChange>,
@MedusaContext() sharedContext: Context = {}
): Promise<TEntity[] | TEntity> {
): Promise<OrderChange[] | OrderChange> {
const dataArr = Array.isArray(data) ? data : [data]
const activeOrderEdit = await this.listCurrentOrderChange(
dataArr.map((d) => d.order_id!),

View File

@@ -78,7 +78,7 @@ import OrderService from "./order-service"
type InjectedDependencies = {
baseRepository: DAL.RepositoryService
orderService: OrderService<any>
orderService: OrderService
addressService: ModulesSdkTypes.IMedusaInternalService<any>
lineItemService: ModulesSdkTypes.IMedusaInternalService<any>
shippingMethodAdjustmentService: ModulesSdkTypes.IMedusaInternalService<any>
@@ -87,7 +87,7 @@ type InjectedDependencies = {
lineItemTaxLineService: ModulesSdkTypes.IMedusaInternalService<any>
shippingMethodTaxLineService: ModulesSdkTypes.IMedusaInternalService<any>
transactionService: ModulesSdkTypes.IMedusaInternalService<any>
orderChangeService: OrderChangeService<any>
orderChangeService: OrderChangeService
orderChangeActionService: ModulesSdkTypes.IMedusaInternalService<any>
orderItemService: ModulesSdkTypes.IMedusaInternalService<any>
orderSummaryService: ModulesSdkTypes.IMedusaInternalService<any>
@@ -169,7 +169,7 @@ export default class OrderModuleService<
implements IOrderModuleService
{
protected baseRepository_: DAL.RepositoryService
protected orderService_: OrderService<TOrder>
protected orderService_: OrderService
protected addressService_: ModulesSdkTypes.IMedusaInternalService<TAddress>
protected lineItemService_: ModulesSdkTypes.IMedusaInternalService<TLineItem>
protected shippingMethodAdjustmentService_: ModulesSdkTypes.IMedusaInternalService<TShippingMethodAdjustment>
@@ -178,7 +178,7 @@ export default class OrderModuleService<
protected lineItemTaxLineService_: ModulesSdkTypes.IMedusaInternalService<TLineItemTaxLine>
protected shippingMethodTaxLineService_: ModulesSdkTypes.IMedusaInternalService<TShippingMethodTaxLine>
protected transactionService_: ModulesSdkTypes.IMedusaInternalService<TTransaction>
protected orderChangeService_: OrderChangeService<TOrderChange>
protected orderChangeService_: OrderChangeService
protected orderChangeActionService_: ModulesSdkTypes.IMedusaInternalService<TOrderChangeAction>
protected orderItemService_: ModulesSdkTypes.IMedusaInternalService<TOrderItem>
protected orderSummaryService_: ModulesSdkTypes.IMedusaInternalService<TOrderSummary>

View File

@@ -17,12 +17,10 @@ type InjectedDependencies = {
orderRepository: DAL.RepositoryService
}
export default class OrderService<
TEntity extends Order = Order
> extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
export default class OrderService extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
Order
)<TEntity> {
protected readonly orderRepository_: RepositoryService<TEntity>
)<Order> {
protected readonly orderRepository_: RepositoryService<Order>
constructor(container: InjectedDependencies) {
// @ts-ignore
@@ -36,8 +34,8 @@ export default class OrderService<
version: number,
config: FindConfig<TEntityMethod> = {},
@MedusaContext() sharedContext: Context = {}
): Promise<TEntity> {
const queryConfig = ModulesSdkUtils.buildQuery<TEntity>(
): Promise<Order> {
const queryConfig = ModulesSdkUtils.buildQuery<Order>(
{ id, items: { version } },
{ ...config, take: 1 }
)