Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finwise-miniapp-be
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ThinhNC
finwise-miniapp-be
Commits
afae4e62
Commit
afae4e62
authored
Jul 01, 2026
by
ThinhNC
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: notFoundMiddleware
parent
69687704
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
45 additions
and
2 deletions
+45
-2
.env.example
.env.example
+5
-0
app.ts
src/app.ts
+2
-1
database.config.ts
src/config/database.config.ts
+12
-0
env.config.ts
src/config/env.config.ts
+11
-1
prisma.client.ts
src/database/prisma.client.ts
+6
-0
error.middleware.ts
src/middlewares/error.middleware.ts
+9
-0
No files found.
.env.example
View file @
afae4e62
...
...
@@ -3,6 +3,11 @@ PORT=3000
DATABASE_URL=postgresql://postgres.[project-ref]:[password]@aws-1-[region].pooler.supabase.com:6543/postgres
DIRECT_URL=postgresql://postgres:[password]@db.[project-ref].supabase.co:5432/postgres
DB_HOST=aws-1-[region].pooler.supabase.com
DB_PORT=6543
DB_USER=postgres.[project-ref]
DB_PASSWORD=[password]
DB_NAME=postgres
SUPABASE_URL=https://[project-ref].supabase.co
SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
...
...
src/app.ts
View file @
afae4e62
...
...
@@ -2,7 +2,7 @@ import express from 'express';
import
cors
from
'cors'
;
import
helmet
from
'helmet'
;
import
morgan
from
'morgan'
;
import
{
errorMiddleware
}
from
'./middlewares/error.middleware'
;
import
{
errorMiddleware
,
notFoundMiddleware
}
from
'./middlewares/error.middleware'
;
import
routes
from
'./routes'
;
const
app
=
express
();
...
...
@@ -15,6 +15,7 @@ app.use(express.urlencoded({ extended: true }));
app
.
use
(
'/api/v1'
,
routes
);
app
.
use
(
notFoundMiddleware
);
app
.
use
(
errorMiddleware
);
export
default
app
;
src/config/database.config.ts
0 → 100644
View file @
afae4e62
import
{
envConfig
}
from
'./env.config'
;
export
const
databaseConfig
=
{
url
:
envConfig
.
databaseUrl
,
host
:
envConfig
.
database
.
host
,
port
:
envConfig
.
database
.
port
,
user
:
envConfig
.
database
.
user
,
password
:
envConfig
.
database
.
password
,
name
:
envConfig
.
database
.
name
,
};
export
default
databaseConfig
;
src/config/env.config.ts
View file @
afae4e62
export
const
envConfig
=
{
nodeEnv
:
process
.
env
.
NODE_ENV
||
'development'
,
port
:
parseInt
(
process
.
env
.
PORT
||
'3000'
,
10
),
port
:
parseInt
(
process
.
env
.
PORT
||
'8888'
,
10
),
database
:
{
host
:
process
.
env
.
DB_HOST
||
'localhost'
,
port
:
parseInt
(
process
.
env
.
DB_PORT
||
'5432'
,
10
),
user
:
process
.
env
.
DB_USER
||
'postgres'
,
password
:
process
.
env
.
DB_PASSWORD
||
''
,
name
:
process
.
env
.
DB_NAME
||
'datacrawler'
,
},
get
databaseUrl
()
{
return
`postgresql://
${
this
.
database
.
user
}
:
${
encodeURIComponent
(
this
.
database
.
password
)}
@
${
this
.
database
.
host
}
:
${
this
.
database
.
port
}
/
${
this
.
database
.
name
}
?schema=public`
;
},
jwt
:
{
accessSecret
:
process
.
env
.
JWT_ACCESS_SECRET
||
'default_access_secret'
,
refreshSecret
:
process
.
env
.
JWT_REFRESH_SECRET
||
'default_refresh_secret'
,
...
...
src/database/prisma.client.ts
View file @
afae4e62
import
{
PrismaClient
}
from
'@prisma/client'
;
import
databaseConfig
from
'../config/database.config'
;
export
const
prisma
=
new
PrismaClient
({
datasources
:
{
db
:
{
url
:
databaseConfig
.
url
,
},
},
log
:
process
.
env
.
NODE_ENV
===
'development'
?
[
'query'
,
'error'
,
'warn'
]
:
[
'error'
,
'warn'
],
...
...
src/middlewares/error.middleware.ts
View file @
afae4e62
import
{
Request
,
Response
,
NextFunction
}
from
'express'
;
import
{
AppError
}
from
'../common/errors/app-error'
;
import
{
ERROR_CODE
}
from
'../common/errors/error-code'
;
export
function
notFoundMiddleware
(
req
:
Request
,
res
:
Response
,
next
:
NextFunction
,
):
void
{
next
(
new
AppError
(
`Route
${
req
.
method
}
${
req
.
originalUrl
}
not found`
,
404
,
ERROR_CODE
.
NOT_FOUND
));
}
export
function
errorMiddleware
(
error
:
Error
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment