chore: move v2 api behind ff (#6213)
This commit is contained in:
@@ -14,7 +14,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("/store/carts", () => {
|
describe.skip("/store/carts", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/price-lists/:id/prices/batch", () => {
|
describe.skip("POST /admin/price-lists/:id/prices/batch", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/price-lists", () => {
|
describe.skip("POST /admin/price-lists", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("DELETE /admin/price-lists/:id/products/:productId/batch", () => {
|
describe.skip("DELETE /admin/price-lists/:id/products/:productId/batch", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("DELETE /admin/price-lists/:id/variants/:variantId/prices", () => {
|
describe.skip("DELETE /admin/price-lists/:id/variants/:variantId/prices", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("DELETE /admin/price-lists/:id", () => {
|
describe.skip("DELETE /admin/price-lists/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("DELETE /admin/price-lists/:id", () => {
|
describe.skip("DELETE /admin/price-lists/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("GET /admin/price-lists/:id", () => {
|
describe.skip("GET /admin/price-lists/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("GET /admin/price-lists/:id/products", () => {
|
describe.skip("GET /admin/price-lists/:id/products", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("GET /admin/price-lists", () => {
|
describe.skip("GET /admin/price-lists", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/price-lists/:id", () => {
|
describe.skip("POST /admin/price-lists/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("GET /store/products/:id", () => {
|
describe.skip("GET /store/products/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("Link Modules", () => {
|
describe.skip("Link Modules", () => {
|
||||||
let medusaContainer
|
let medusaContainer
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/products/:id/variants", () => {
|
describe.skip("POST /admin/products/:id/variants", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/products", () => {
|
describe.skip("POST /admin/products", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ const env: Record<any, any> = {
|
|||||||
|
|
||||||
jest.setTimeout(180000)
|
jest.setTimeout(180000)
|
||||||
|
|
||||||
describe("Batch job of product-export type", () => {
|
describe.skip("Batch job of product-export type", () => {
|
||||||
let medusaProcess
|
let medusaProcess
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let exportFilePath = ""
|
let exportFilePath = ""
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const env: Record<any, any> = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("Product import batch job", () => {
|
describe.skip("Product import batch job", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
let medusaProcess
|
let medusaProcess
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("/admin/products", () => {
|
describe.skip("/admin/products", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
let medusaContainer
|
let medusaContainer
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/products/:id/variants/:id", () => {
|
describe.skip("POST /admin/products/:id/variants/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const env = {
|
|||||||
MEDUSA_FF_MEDUSA_V2: true,
|
MEDUSA_FF_MEDUSA_V2: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
describe("POST /admin/products/:id", () => {
|
describe.skip("POST /admin/products/:id", () => {
|
||||||
let dbConnection
|
let dbConnection
|
||||||
let appContainer
|
let appContainer
|
||||||
let shutdownServer
|
let shutdownServer
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
export const campaignsData = [
|
export const campaignsData = [
|
||||||
{
|
{
|
||||||
id: "campaign-id-1",
|
id: "campaign-id-1",
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
export const campaignData = {
|
export const campaignData = {
|
||||||
name: "campaign 1",
|
name: "campaign 1",
|
||||||
description: "test description",
|
description: "test description",
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { getContainer } from "../../../../environment-helpers/use-container"
|
|||||||
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
import { initDb, useDb } from "../../../../environment-helpers/use-db"
|
||||||
import adminSeeder from "../../../../helpers/admin-seeder"
|
import adminSeeder from "../../../../helpers/admin-seeder"
|
||||||
|
|
||||||
|
jest.setTimeout(50000)
|
||||||
|
|
||||||
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
const env = { MEDUSA_FF_MEDUSA_V2: true }
|
||||||
const adminHeaders = {
|
const adminHeaders = {
|
||||||
headers: { "x-medusa-access-token": "test_token" },
|
headers: { "x-medusa-access-token": "test_token" },
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
|
import path from "path"
|
||||||
|
import { FeatureFlagUtils, FlagRouter } from "@medusajs/utils"
|
||||||
import { AwilixContainer } from "awilix"
|
import { AwilixContainer } from "awilix"
|
||||||
import bodyParser from "body-parser"
|
import bodyParser from "body-parser"
|
||||||
import { Express } from "express"
|
import { Express } from "express"
|
||||||
import qs from "qs"
|
import qs from "qs"
|
||||||
|
import { RoutesLoader } from "./helpers/routing"
|
||||||
import routes from "../api"
|
import routes from "../api"
|
||||||
import { ConfigModule } from "../types/global"
|
import { ConfigModule } from "../types/global"
|
||||||
|
|
||||||
@@ -9,9 +12,15 @@ type Options = {
|
|||||||
app: Express
|
app: Express
|
||||||
container: AwilixContainer
|
container: AwilixContainer
|
||||||
configModule: ConfigModule
|
configModule: ConfigModule
|
||||||
|
featureFlagRouter?: FlagRouter
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async ({ app, container, configModule }: Options) => {
|
export default async ({
|
||||||
|
app,
|
||||||
|
container,
|
||||||
|
configModule,
|
||||||
|
featureFlagRouter,
|
||||||
|
}: Options) => {
|
||||||
// This is a workaround for the issue described here: https://github.com/expressjs/express/issues/3454
|
// This is a workaround for the issue described here: https://github.com/expressjs/express/issues/3454
|
||||||
// We parse the url and get the qs to be parsed and override the query prop from the request
|
// We parse the url and get the qs to be parsed and override the query prop from the request
|
||||||
app.use(function (req, res, next) {
|
app.use(function (req, res, next) {
|
||||||
@@ -25,7 +34,26 @@ export default async ({ app, container, configModule }: Options) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
app.use(bodyParser.json())
|
app.use(bodyParser.json())
|
||||||
|
|
||||||
|
if (featureFlagRouter?.isFeatureEnabled(FeatureFlagUtils.MedusaV2Flag.key)) {
|
||||||
|
// TODO: Figure out why this is causing issues with test when placed inside ./api.ts
|
||||||
|
// Adding this here temporarily
|
||||||
|
// Test: (packages/medusa/src/api/routes/admin/currencies/update-currency.ts)
|
||||||
|
try {
|
||||||
|
/**
|
||||||
|
* Register the Medusa CORE API routes using the file based routing.
|
||||||
|
*/
|
||||||
|
await new RoutesLoader({
|
||||||
|
app: app,
|
||||||
|
rootDir: path.join(__dirname, "../api-v2"),
|
||||||
|
configModule,
|
||||||
|
}).load()
|
||||||
|
} catch (err) {
|
||||||
|
throw Error("An error occurred while registering Medusa Core API Routes")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
app.use("/", routes(container, configModule.projectConfig))
|
app.use("/", routes(container, configModule.projectConfig))
|
||||||
|
}
|
||||||
|
|
||||||
return app
|
return app
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,12 @@ export const createServer = async (rootDir) => {
|
|||||||
}).load()
|
}).load()
|
||||||
|
|
||||||
// the apiLoader needs to be called after plugins otherwise the core middleware bleads into the plugins
|
// the apiLoader needs to be called after plugins otherwise the core middleware bleads into the plugins
|
||||||
await apiLoader({ container, app: app, configModule: config })
|
await apiLoader({
|
||||||
|
container,
|
||||||
|
app: app,
|
||||||
|
configModule: config,
|
||||||
|
featureFlagRouter,
|
||||||
|
})
|
||||||
|
|
||||||
const superRequest = supertest(app)
|
const superRequest = supertest(app)
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import loadConfig from "./config"
|
|||||||
import defaultsLoader from "./defaults"
|
import defaultsLoader from "./defaults"
|
||||||
import expressLoader from "./express"
|
import expressLoader from "./express"
|
||||||
import featureFlagsLoader from "./feature-flags"
|
import featureFlagsLoader from "./feature-flags"
|
||||||
import { RoutesLoader } from "./helpers/routing"
|
|
||||||
import Logger from "./logger"
|
import Logger from "./logger"
|
||||||
import loadMedusaApp, { mergeDefaultModules } from "./medusa-app"
|
import loadMedusaApp, { mergeDefaultModules } from "./medusa-app"
|
||||||
import modelsLoader from "./models"
|
import modelsLoader from "./models"
|
||||||
@@ -197,22 +196,6 @@ export default async ({
|
|||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
|
|
||||||
// TODO: Figure out why this is causing issues with test when placed inside ./api.ts
|
|
||||||
// Adding this here temporarily
|
|
||||||
// Test: (packages/medusa/src/api/routes/admin/currencies/update-currency.ts)
|
|
||||||
try {
|
|
||||||
/**
|
|
||||||
* Register the Medusa CORE API routes using the file based routing.
|
|
||||||
*/
|
|
||||||
await new RoutesLoader({
|
|
||||||
app: expressApp,
|
|
||||||
rootDir: path.join(__dirname, "../api-v2"),
|
|
||||||
configModule,
|
|
||||||
}).load()
|
|
||||||
} catch (err) {
|
|
||||||
throw Error("An error occurred while registering Medusa Core API Routes")
|
|
||||||
}
|
|
||||||
|
|
||||||
const pluginsActivity = Logger.activity(`Initializing plugins${EOL}`)
|
const pluginsActivity = Logger.activity(`Initializing plugins${EOL}`)
|
||||||
track("PLUGINS_INIT_STARTED")
|
track("PLUGINS_INIT_STARTED")
|
||||||
await pluginsLoader({
|
await pluginsLoader({
|
||||||
@@ -233,7 +216,12 @@ export default async ({
|
|||||||
|
|
||||||
const apiActivity = Logger.activity(`Initializing API${EOL}`)
|
const apiActivity = Logger.activity(`Initializing API${EOL}`)
|
||||||
track("API_INIT_STARTED")
|
track("API_INIT_STARTED")
|
||||||
await apiLoader({ container, app: expressApp, configModule })
|
await apiLoader({
|
||||||
|
container,
|
||||||
|
app: expressApp,
|
||||||
|
configModule,
|
||||||
|
featureFlagRouter,
|
||||||
|
})
|
||||||
const apiAct = Logger.success(apiActivity, "API initialized") || {}
|
const apiAct = Logger.success(apiActivity, "API initialized") || {}
|
||||||
track("API_INIT_COMPLETED", { duration: apiAct.duration })
|
track("API_INIT_COMPLETED", { duration: apiAct.duration })
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user