Moves crud routes under /crud (#2145)

This commit is contained in:
Mihovil Ilakovac 2024-07-04 13:57:22 +02:00 committed by GitHub
parent dccc3074e9
commit a439d8f454
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 26 additions and 21 deletions

View File

@ -25,7 +25,7 @@ router.use('/auth', middleware, auth)
{=/ isAuthEnabled =}
router.use('/{= operationsRouteInRootRouter =}', middleware, operations)
{=# areThereAnyCrudRoutes =}
router.use('/', middleware, rootCrudRouter)
router.use('/{= crudRouteInRootRouter =}', middleware, rootCrudRouter)
{=/ areThereAnyCrudRoutes =}
{=# areThereAnyCustomApiRoutes =}
// NOTE: Keep user-defined api routes last so they cannot override our routes.

View File

@ -221,7 +221,7 @@
"file",
"../out/sdk/wasp/client/crud/tasks.ts"
],
"4947286d60b6652052edd7bc47230481a27ce5cbaa62ed62bac727576ececa43"
"083c93c278fe261989cec8a4ea52e0dc706fae1a79aa91d6f1b8c17eca938c40"
],
[
[
@ -1061,7 +1061,7 @@
"file",
"server/src/routes/index.js"
],
"b589a916a4ded52b75af42e299a506cbeb4d56ce2e87bec29f211c3e33865049"
"a13d8d47f58b1a4b60a81e31823dc8fcad0dbbbe3e09de129ae8e140f384a7b7"
],
[
[

View File

@ -9,15 +9,15 @@ import {
function createCrud() {
const crudGetQuery = createQuery<GetQueryResolved>(
'tasks/get',
'crud/tasks/get',
['Task']
)
const crudGetAllQuery = createQuery<GetAllQueryResolved>(
'tasks/get-all',
'crud/tasks/get-all',
['Task']
)
const crudCreateAction = createAction<CreateActionResolved>(
'tasks/create',
'crud/tasks/create',
['Task']
)
return {

View File

@ -2,9 +2,9 @@ import { createAction } from "../operations/actions/core.js";
import { createQuery } from "../operations/queries/core.js";
import { makeUseActionFor, makeUseQueryFor } from "./operationsHelpers.js";
function createCrud() {
const crudGetQuery = createQuery('tasks/get', ['Task']);
const crudGetAllQuery = createQuery('tasks/get-all', ['Task']);
const crudCreateAction = createAction('tasks/create', ['Task']);
const crudGetQuery = createQuery('crud/tasks/get', ['Task']);
const crudGetAllQuery = createQuery('crud/tasks/get-all', ['Task']);
const crudCreateAction = createAction('crud/tasks/create', ['Task']);
return {
get: {
query: crudGetQuery,

View File

@ -1 +1 @@
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../client/crud/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO3E,SAAS,UAAU;IACf,MAAM,YAAY,GAAG,WAAW,CAC5B,WAAW,EACX,CAAC,MAAM,CAAC,CACX,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CAC/B,eAAe,EACf,CAAC,MAAM,CAAC,CACX,CAAA;IACD,MAAM,gBAAgB,GAAG,YAAY,CACjC,cAAc,EACd,CAAC,MAAM,CAAC,CACX,CAAA;IACD,OAAO;QACH,GAAG,EAAE;YACD,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;SAC1C;QACD,MAAM,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC;SAC7C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;SAChD;KACJ,CAAA;AACL,CAAC;AAED,aAAa;AACb,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC"}
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../client/crud/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO3E,SAAS,UAAU;IACf,MAAM,YAAY,GAAG,WAAW,CAC5B,gBAAgB,EAChB,CAAC,MAAM,CAAC,CACX,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CAC/B,oBAAoB,EACpB,CAAC,MAAM,CAAC,CACX,CAAA;IACD,MAAM,gBAAgB,GAAG,YAAY,CACjC,mBAAmB,EACnB,CAAC,MAAM,CAAC,CACX,CAAA;IACD,OAAO;QACH,GAAG,EAAE;YACD,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;SAC1C;QACD,MAAM,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC;SAC7C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;SAChD;KACJ,CAAA;AACL,CAAC;AAED,aAAa;AACb,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC"}

View File

@ -15,7 +15,7 @@ router.get('/', middleware, function (_req, res, _next) {
router.use('/auth', middleware, auth)
router.use('/operations', middleware, operations)
router.use('/', middleware, rootCrudRouter)
router.use('/crud', middleware, rootCrudRouter)
// NOTE: Keep user-defined api routes last so they cannot override our routes.
// Additionally, do not add middleware to these routes here. Instead, we add
// it later to allow for middleware customization.

View File

@ -12,7 +12,10 @@ getRoute operation = case operation of
AS.Crud.Delete -> "delete"
makeFullPath :: String -> AS.Crud.CrudOperation -> String
makeFullPath crudOperationName crudOperation = intercalate "/" [getCrudOperationRouterRoute crudOperationName, getRoute crudOperation]
makeFullPath crudOperationName crudOperation = intercalate "/" [crudRouteInRootRouter, getCrudOperationRouterRoute crudOperationName, getRoute crudOperation]
getCrudOperationRouterRoute :: String -> String
getCrudOperationRouterRoute crudOperationName = crudOperationName
crudRouteInRootRouter :: String
crudRouteInRootRouter = "crud"

View File

@ -39,6 +39,7 @@ import Wasp.Env (envVarsToDotEnvContent)
import Wasp.Generator.Common
( ServerRootDir,
)
import qualified Wasp.Generator.Crud.Routes as CrudRoutes
import Wasp.Generator.FileDraft (FileDraft, createTextFileDraft)
import Wasp.Generator.Monad (Generator)
import qualified Wasp.Generator.NpmDependencies as N
@ -243,6 +244,7 @@ genRoutesIndex spec =
tmplData =
object
[ "operationsRouteInRootRouter" .= (operationsRouteInRootRouter :: String),
"crudRouteInRootRouter" .= (CrudRoutes.crudRouteInRootRouter :: String),
"isAuthEnabled" .= (isAuthEnabled spec :: Bool),
"areThereAnyCustomApiRoutes" .= (not . null $ AS.getApis spec),
"areThereAnyCrudRoutes" .= (not . null $ AS.getCruds spec)

View File

@ -39,9 +39,9 @@ spec_GeneratorCrudTest = do
}
primaryEntityField
`shouldBe` mkOperationsJson
[ "Get" .= mkOperationJson "get" "tasks/get" NotPublic,
"GetAll" .= mkOperationJson "get-all" "tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "tasks/create" NotPublic
[ "Get" .= mkOperationJson "get" "crud/tasks/get" NotPublic,
"GetAll" .= mkOperationJson "get-all" "crud/tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "crud/tasks/create" NotPublic
]
it "returns proper JSON for public operations" $ do
@ -60,9 +60,9 @@ spec_GeneratorCrudTest = do
}
primaryEntityField
`shouldBe` mkOperationsJson
[ "Get" .= mkOperationJson "get" "tasks/get" Public,
"GetAll" .= mkOperationJson "get-all" "tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "tasks/create" Public
[ "Get" .= mkOperationJson "get" "crud/tasks/get" Public,
"GetAll" .= mkOperationJson "get-all" "crud/tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "crud/tasks/create" Public
]
it "allows overrides of operations" $ do
@ -91,9 +91,9 @@ spec_GeneratorCrudTest = do
}
primaryEntityField
`shouldBe` mkOperationsJson
[ "Get" .= mkOperationJson "get" "tasks/get" Public,
"GetAll" .= mkOperationJson "get-all" "tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "tasks/create" Public
[ "Get" .= mkOperationJson "get" "crud/tasks/get" Public,
"GetAll" .= mkOperationJson "get-all" "crud/tasks/get-all" NotPublic,
"Create" .= mkOperationJson "create" "crud/tasks/create" Public
]
where
crudOperationsName = "tasks"