feat(region): Add admin region get + list endpoints (#6322)

**What**
Add `GET /admin/regions`
Add `GET /admin/regions/:id`

Blocked by #6320 

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
This commit is contained in:
Oli JuhlandAdrien de Peretti authored and GitHub committed 2024-02-11 17:13:49 +00:00
1 parent b91a1ca5b8
commit 95d0e58d31
28 files changed
+566 -87

No files matched your search

@@ -4,3 +4,5 @@ if (typeof process.env.DB_TEMP_NAME === "undefined") {
}
process.env.MEDUSA_REGION_DB_SCHEMA = "public"
// TODO: Remove this when all modules are migrated to v2
process.env.MEDUSA_FF_MEDUSA_V2 = true
+6 -24
View File
@@ -1,28 +1,10 @@
import { Modules } from "@medusajs/modules-sdk"
import { ModulesSdkUtils } from "@medusajs/utils"
import * as RegionModels from "@models"
import { moduleDefinition } from "./module-definition"
import {
moduleDefinition,
revertMigration,
runMigrations,
} from "./module-definition"
export default moduleDefinition
const migrationScriptOptions = {
moduleName: Modules.REGION,
models: RegionModels,
pathToMigrations: __dirname + "/migrations",
}
export const runMigrations = ModulesSdkUtils.buildMigrationScript(
migrationScriptOptions
)
export const revertMigration = ModulesSdkUtils.buildRevertMigrationScript(
migrationScriptOptions
)
export { revertMigration, runMigrations }
export * from "./initialize"
export * from "./loaders"
export * from "./models"
export * from "./services"
export * from "./types"
+8 -2
View File
@@ -2,6 +2,12 @@ import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import { IRegionModuleService, LoaderOptions } from "@medusajs/types"
export default async ({ container }: LoaderOptions): Promise<void> => {
const service: IRegionModuleService = container.resolve(ModuleRegistrationName.REGION)
await service.createDefaultCountriesAndCurrencies()
const service: IRegionModuleService = container.resolve(
ModuleRegistrationName.REGION
)
// TODO: Remove when legacy modules have been migrated
if (!!process.env.MEDUSA_FF_MEDUSA_V2) {
await service.createDefaultCountriesAndCurrencies()
}
}
@@ -1,3 +1,4 @@
import { generatePostgresAlterColummnIfExistStatement } from "@medusajs/utils"
import { Migration } from "@mikro-orm/migrations"
export class RegionModuleSetup20240205173216 extends Migration {
@@ -27,6 +28,13 @@ CREATE TABLE IF NOT EXISTS "region_currency" (
-- Adjust "region" table
ALTER TABLE "region" DROP CONSTRAINT IF EXISTS "FK_3bdd5896ec93be2f1c62a3309a5";
ALTER TABLE "region" DROP CONSTRAINT IF EXISTS "FK_91f88052197680f9790272aaf5b";
${generatePostgresAlterColummnIfExistStatement(
"region",
["tax_rate", "gift_cards_taxable", "automatic_taxes", "includes_tax"],
"DROP NOT NULL"
)}
ALTER TABLE "region" ADD CONSTRAINT "region_currency_code_foreign" FOREIGN KEY ("currency_code") REFERENCES "region_currency" ("code") ON UPDATE CASCADE;
CREATE INDEX IF NOT EXISTS "IDX_region_currency_code" ON "region" ("currency_code");
+18
View File
@@ -1,14 +1,32 @@
import { ModuleExports } from "@medusajs/types"
import { RegionModuleService } from "@services"
import { Modules } from "@medusajs/modules-sdk"
import { ModulesSdkUtils } from "@medusajs/utils"
import * as RegionModels from "@models"
import loadConnection from "./loaders/connection"
import loadContainer from "./loaders/container"
import loadDefaults from "./loaders/defaults"
const migrationScriptOptions = {
moduleName: Modules.REGION,
models: RegionModels,
pathToMigrations: __dirname + "/migrations",
}
export const runMigrations = ModulesSdkUtils.buildMigrationScript(
migrationScriptOptions
)
export const revertMigration = ModulesSdkUtils.buildRevertMigrationScript(
migrationScriptOptions
)
const service = RegionModuleService
const loaders = [loadContainer, loadConnection, loadDefaults] as any
export const moduleDefinition: ModuleExports = {
service,
loaders,
runMigrations,
revertMigration,
}
@@ -172,7 +172,7 @@ export default class RegionModuleService<
): Promise<void> {
const [countries, count] = await this.countryService_.listAndCount(
{},
{ select: ["id", "iso_2"], take: COUNTRIES_LIMIT },
{ select: ["iso_2"], take: COUNTRIES_LIMIT },
sharedContext
)