Chore/rm main entity concept (#7709)
**What** Update the `MedusaService` class, factory and types to remove the concept of main modules. The idea being that all method will be explicitly named and suffixes to represent the object you are trying to manipulate. This pr also includes various fixes in different modules Co-authored-by: Stevche Radevski <4820812+sradevski@users.noreply.github.com> Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
2895ccfba8
commit
48963f55ef
@@ -1,5 +1,13 @@
|
||||
import { moduleDefinition } from "./module-definition"
|
||||
export * from "./types"
|
||||
export * from "./services"
|
||||
import { ModuleExports } from "@medusajs/types"
|
||||
import { FileModuleService } from "@services"
|
||||
import loadProviders from "./loaders/providers"
|
||||
|
||||
const loaders = [loadProviders] as any
|
||||
|
||||
const service = FileModuleService
|
||||
export const moduleDefinition: ModuleExports = {
|
||||
service,
|
||||
loaders,
|
||||
}
|
||||
|
||||
export default moduleDefinition
|
||||
|
||||
@@ -1,22 +1,13 @@
|
||||
import { Modules } from "@medusajs/modules-sdk"
|
||||
import { ModuleJoinerConfig } from "@medusajs/types"
|
||||
import { MapToConfig } from "@medusajs/utils"
|
||||
import {
|
||||
buildEntitiesNameToLinkableKeysMap,
|
||||
defineJoinerConfig,
|
||||
MapToConfig,
|
||||
} from "@medusajs/utils"
|
||||
|
||||
export const LinkableKeys = {}
|
||||
export const joinerConfig = defineJoinerConfig(Modules.FILE, {
|
||||
entityQueryingConfig: [{ name: "File" }],
|
||||
})
|
||||
|
||||
const entityLinkableKeysMap: MapToConfig = {}
|
||||
export const entityNameToLinkableKeysMap: MapToConfig = entityLinkableKeysMap
|
||||
|
||||
export const joinerConfig: ModuleJoinerConfig = {
|
||||
serviceName: Modules.FILE,
|
||||
primaryKeys: ["id"],
|
||||
linkableKeys: LinkableKeys,
|
||||
alias: [
|
||||
{
|
||||
name: ["file", "files"],
|
||||
args: {
|
||||
entity: "File",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
export const entityNameToLinkableKeysMap: MapToConfig =
|
||||
buildEntitiesNameToLinkableKeysMap({})
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
import { ModuleExports } from "@medusajs/types"
|
||||
import { FileModuleService } from "@services"
|
||||
import loadProviders from "./loaders/providers"
|
||||
|
||||
const loaders = [loadProviders] as any
|
||||
|
||||
const service = FileModuleService
|
||||
export const moduleDefinition: ModuleExports = {
|
||||
service,
|
||||
loaders,
|
||||
}
|
||||
@@ -2,10 +2,10 @@ import {
|
||||
Context,
|
||||
CreateFileDTO,
|
||||
FileDTO,
|
||||
ModuleJoinerConfig,
|
||||
FileTypes,
|
||||
FilterableFileProps,
|
||||
FindConfig,
|
||||
ModuleJoinerConfig,
|
||||
} from "@medusajs/types"
|
||||
|
||||
import { joinerConfig } from "../joiner-config"
|
||||
@@ -26,10 +26,13 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
return joinerConfig
|
||||
}
|
||||
|
||||
create(data: CreateFileDTO[], sharedContext?: Context): Promise<FileDTO[]>
|
||||
create(data: CreateFileDTO, sharedContext?: Context): Promise<FileDTO>
|
||||
createFiles(
|
||||
data: CreateFileDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<FileDTO[]>
|
||||
createFiles(data: CreateFileDTO, sharedContext?: Context): Promise<FileDTO>
|
||||
|
||||
async create(
|
||||
async createFiles(
|
||||
data: CreateFileDTO[] | CreateFileDTO
|
||||
): Promise<FileDTO[] | FileDTO> {
|
||||
const input = Array.isArray(data) ? data : [data]
|
||||
@@ -46,9 +49,9 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
return Array.isArray(data) ? result : result[0]
|
||||
}
|
||||
|
||||
async delete(ids: string[], sharedContext?: Context): Promise<void>
|
||||
async delete(id: string, sharedContext?: Context): Promise<void>
|
||||
async delete(ids: string[] | string): Promise<void> {
|
||||
async deleteFiles(ids: string[], sharedContext?: Context): Promise<void>
|
||||
async deleteFiles(id: string, sharedContext?: Context): Promise<void>
|
||||
async deleteFiles(ids: string[] | string): Promise<void> {
|
||||
const input = Array.isArray(ids) ? ids : [ids]
|
||||
await Promise.all(
|
||||
input.map((id) => this.fileProviderService_.delete({ fileKey: id }))
|
||||
@@ -57,7 +60,7 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
return
|
||||
}
|
||||
|
||||
async retrieve(id: string): Promise<FileDTO> {
|
||||
async retrieveFile(id: string): Promise<FileDTO> {
|
||||
const res = await this.fileProviderService_.getPresignedDownloadUrl({
|
||||
fileKey: id,
|
||||
})
|
||||
@@ -68,7 +71,7 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
}
|
||||
}
|
||||
|
||||
async list(
|
||||
async listFiles(
|
||||
filters?: FilterableFileProps,
|
||||
config?: FindConfig<FileDTO>,
|
||||
sharedContext?: Context
|
||||
@@ -97,7 +100,7 @@ export default class FileModuleService implements FileTypes.IFileModuleService {
|
||||
]
|
||||
}
|
||||
|
||||
async listAndCount(
|
||||
async listAndCountFiles(
|
||||
filters?: FilterableFileProps,
|
||||
config?: FindConfig<FileDTO>,
|
||||
sharedContext?: Context
|
||||
|
||||
Reference in New Issue
Block a user