feat: Region Module (basic CRUD) (#6315)
This commit is contained in:
31
packages/region/src/scripts/bin/run-seed.ts
Normal file
31
packages/region/src/scripts/bin/run-seed.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { Modules } from "@medusajs/modules-sdk"
|
||||
import { ModulesSdkUtils } from "@medusajs/utils"
|
||||
import * as RegionModels from "@models"
|
||||
import { EOL } from "os"
|
||||
import { createRegions } from "../seed-utils"
|
||||
|
||||
const args = process.argv
|
||||
const path = args.pop() as string
|
||||
|
||||
export default (async () => {
|
||||
const { config } = await import("dotenv")
|
||||
config()
|
||||
if (!path) {
|
||||
throw new Error(
|
||||
`filePath is required.${EOL}Example: medusa-region-seed <filePath>`
|
||||
)
|
||||
}
|
||||
|
||||
const run = ModulesSdkUtils.buildSeedScript({
|
||||
moduleName: Modules.REGION,
|
||||
models: RegionModels,
|
||||
pathToMigrations: __dirname + "/../../migrations",
|
||||
seedHandler: async ({ manager, data }) => {
|
||||
const { regionData } = data
|
||||
await createRegions(manager, regionData)
|
||||
},
|
||||
})
|
||||
await run({ path })
|
||||
})()
|
||||
16
packages/region/src/scripts/seed-utils.ts
Normal file
16
packages/region/src/scripts/seed-utils.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { RequiredEntityData } from "@mikro-orm/core"
|
||||
import { SqlEntityManager } from "@mikro-orm/postgresql"
|
||||
import { Region } from "@models"
|
||||
|
||||
export async function createRegions(
|
||||
manager: SqlEntityManager,
|
||||
data: RequiredEntityData<Region>[]
|
||||
) {
|
||||
const regions = data.map((region) => {
|
||||
return manager.create(Region, region)
|
||||
})
|
||||
|
||||
await manager.persistAndFlush(regions)
|
||||
|
||||
return regions
|
||||
}
|
||||
Reference in New Issue
Block a user