feat(fulfillment): Init dtos work (#6329)
* feat(fulfillment): Init dtos work * update DTO partially * WIP * more interfaces * continue service definition * cleanup * cleanup * preliminary filters * cleanup * cleanup * Create angry-planets-wave.md
This commit is contained in:
@@ -6,11 +6,14 @@ import {
|
||||
InternalModuleDeclaration,
|
||||
ModuleJoinerConfig,
|
||||
ModulesSdkTypes,
|
||||
UpdateFulfillmentSetDTO,
|
||||
} from "@medusajs/types"
|
||||
import { InjectTransactionManager, ModulesSdkUtils } from "@medusajs/utils"
|
||||
|
||||
import { entityNameToLinkableKeysMap, joinerConfig } from "../joiner-config"
|
||||
import { FulfillmentSet } from "@models"
|
||||
import { FulfillmentSet, ServiceZone, ShippingOption } from "@models"
|
||||
|
||||
const generateMethodForModels = [ServiceZone, ShippingOption]
|
||||
|
||||
type InjectedDependencies = {
|
||||
baseRepository: DAL.RepositoryService
|
||||
@@ -22,9 +25,13 @@ export default class FulfillmentModuleService<
|
||||
>
|
||||
extends ModulesSdkUtils.abstractModuleServiceFactory<
|
||||
InjectedDependencies,
|
||||
any, // TODO Create appropriate DTO
|
||||
{}
|
||||
>(FulfillmentSet, [], entityNameToLinkableKeysMap)
|
||||
FulfillmentTypes.FulfillmentSetDTO,
|
||||
{
|
||||
FulfillmentSet: { dto: FulfillmentTypes.FulfillmentSetDTO }
|
||||
ServiceZone: { dto: FulfillmentTypes.ServiceZoneDTO }
|
||||
ShippingOption: { dto: FulfillmentTypes.ShippingOptionDTO }
|
||||
}
|
||||
>(FulfillmentSet, generateMethodForModels, entityNameToLinkableKeysMap)
|
||||
implements IFulfillmentModuleService
|
||||
{
|
||||
protected baseRepository_: DAL.RepositoryService
|
||||
@@ -45,47 +52,126 @@ export default class FulfillmentModuleService<
|
||||
}
|
||||
|
||||
create(
|
||||
data: any[],
|
||||
data: FulfillmentTypes.CreateFulfillmentSetDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentDTO[]>
|
||||
|
||||
): Promise<FulfillmentTypes.FulfillmentSetDTO[]>
|
||||
create(
|
||||
data: any,
|
||||
data: FulfillmentTypes.CreateFulfillmentSetDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentDTO>
|
||||
): Promise<FulfillmentTypes.FulfillmentSetDTO>
|
||||
|
||||
// TODO Implement the methods from the interface and change type
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async create(
|
||||
data: any[] | any,
|
||||
data:
|
||||
| FulfillmentTypes.CreateFulfillmentSetDTO
|
||||
| FulfillmentTypes.CreateFulfillmentSetDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.FulfillmentDTO | FulfillmentTypes.FulfillmentDTO[]
|
||||
FulfillmentTypes.FulfillmentSetDTO | FulfillmentTypes.FulfillmentSetDTO[]
|
||||
> {
|
||||
return await Promise.resolve(
|
||||
[] as FulfillmentTypes.FulfillmentDTO[] | FulfillmentTypes.FulfillmentDTO
|
||||
)
|
||||
return []
|
||||
}
|
||||
|
||||
// TODO Implement the methods from the interface and change type
|
||||
update(
|
||||
data: any[],
|
||||
createServiceZones(
|
||||
data: FulfillmentTypes.CreateServiceZoneDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentDTO[]>
|
||||
update(
|
||||
data: any,
|
||||
): Promise<FulfillmentTypes.ServiceZoneDTO[]>
|
||||
createServiceZones(
|
||||
data: FulfillmentTypes.CreateServiceZoneDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentDTO>
|
||||
): Promise<FulfillmentTypes.ServiceZoneDTO>
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async createServiceZones(
|
||||
data:
|
||||
| FulfillmentTypes.CreateServiceZoneDTO[]
|
||||
| FulfillmentTypes.CreateServiceZoneDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.ServiceZoneDTO | FulfillmentTypes.ServiceZoneDTO[]
|
||||
> {
|
||||
return []
|
||||
}
|
||||
|
||||
createShippingOptions(
|
||||
data: FulfillmentTypes.CreateShippingOptionDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ShippingOptionDTO[]>
|
||||
createShippingOptions(
|
||||
data: FulfillmentTypes.CreateShippingOptionDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ShippingOptionDTO>
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async createShippingOptions(
|
||||
data:
|
||||
| FulfillmentTypes.CreateShippingOptionDTO[]
|
||||
| FulfillmentTypes.CreateShippingOptionDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.ShippingOptionDTO | FulfillmentTypes.ShippingOptionDTO[]
|
||||
> {
|
||||
return []
|
||||
}
|
||||
|
||||
update(
|
||||
data: FulfillmentTypes.UpdateFulfillmentSetDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentSetDTO[]>
|
||||
update(
|
||||
data: FulfillmentTypes.UpdateFulfillmentSetDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.FulfillmentSetDTO>
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async update(
|
||||
data: any,
|
||||
data: UpdateFulfillmentSetDTO[] | UpdateFulfillmentSetDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.FulfillmentDTO | FulfillmentTypes.FulfillmentDTO[]
|
||||
FulfillmentTypes.FulfillmentSetDTO[] | FulfillmentTypes.FulfillmentSetDTO
|
||||
> {
|
||||
return await Promise.resolve(
|
||||
[] as FulfillmentTypes.FulfillmentDTO[] | FulfillmentTypes.FulfillmentDTO
|
||||
)
|
||||
return []
|
||||
}
|
||||
|
||||
updateServiceZones(
|
||||
data: FulfillmentTypes.UpdateServiceZoneDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ServiceZoneDTO[]>
|
||||
updateServiceZones(
|
||||
data: FulfillmentTypes.UpdateServiceZoneDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ServiceZoneDTO>
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async updateServiceZones(
|
||||
data:
|
||||
| FulfillmentTypes.UpdateServiceZoneDTO[]
|
||||
| FulfillmentTypes.UpdateServiceZoneDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.ServiceZoneDTO[] | FulfillmentTypes.ServiceZoneDTO
|
||||
> {
|
||||
return []
|
||||
}
|
||||
|
||||
updateShippingOptions(
|
||||
data: FulfillmentTypes.UpdateShippingOptionDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ShippingOptionDTO[]>
|
||||
updateShippingOptions(
|
||||
data: FulfillmentTypes.UpdateShippingOptionDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<FulfillmentTypes.ShippingOptionDTO>
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async updateShippingOptions(
|
||||
data:
|
||||
| FulfillmentTypes.UpdateShippingOptionDTO[]
|
||||
| FulfillmentTypes.UpdateShippingOptionDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<
|
||||
FulfillmentTypes.ShippingOptionDTO[] | FulfillmentTypes.ShippingOptionDTO
|
||||
> {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user