Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
1752130
Register for user and lawyer
DQGiac May 15, 2026
ea27a88
feat[FI-12]: Cleaned up register and login code
DQGiac May 15, 2026
5c7d3ed
feat[FI-12]: Cleaned up register and login code (commit 2)
DQGiac May 15, 2026
917a5db
feat[FI-12]: added access and refresh tokens
DQGiac May 15, 2026
b7bdb39
feat[FI-12]: Separated login for user and lawyer. Cleaned up code.
DQGiac May 16, 2026
f948f5c
feat[FI-12]: Added forgot password and verify OTP. Cleaned up code fr…
DQGiac May 17, 2026
5169e4d
feat[FI-12]: Added reset password. Changed interceptors to not accept…
DQGiac May 18, 2026
4c2b9c7
feat[FI-12}: Added viewing and updating personal data. Changed format…
DQGiac May 18, 2026
01a0f78
feat[FI-12]: Added refresh-token. Renamed confusing functions.
DQGiac May 18, 2026
6aef145
feat[FI-12]: Implemented RBAC middleware and auth guard. Cleaned up c…
DQGiac May 20, 2026
c9b8052
feat: fix conflict auth service
DQGiac May 27, 2026
ee22f34
feat[FI-12]: added access and refresh tokens
DQGiac May 15, 2026
6b70b8f
feat[FI-12]: Separated login for user and lawyer. Cleaned up code.
DQGiac May 16, 2026
eed935a
feat[FI-12]: Added forgot password and verify OTP. Cleaned up code fr…
DQGiac May 17, 2026
298549b
feat[FI-12]: Added reset password. Changed interceptors to not accept…
DQGiac May 18, 2026
e530689
feat[FI-12}: Added viewing and updating personal data. Changed format…
DQGiac May 18, 2026
9b6e839
feat[FI-12]: Added refresh-token. Renamed confusing functions.
DQGiac May 18, 2026
63284b4
feat[FI-12]: Implemented RBAC middleware and auth guard. Cleaned up c…
DQGiac May 20, 2026
97d06ec
feat[FI-12]: Log out
DQGiac Jun 5, 2026
ae9aa75
feat[FI-12]: implement log out
DQGiac Jun 6, 2026
4b9acff
feat[FI-12]: Implement log out
DQGiac Jun 6, 2026
201ef90
Merge branch 'dev' of https://github.com/dscdut/FairInSight into dev
DQGiac Jun 6, 2026
a0a5fd9
feat[FI-36]: Log out API
DQGiac Jun 6, 2026
aec0370
Merge remote-tracking branch 'origin/dev' into feat/FI-36
DQGiac Jun 6, 2026
3f53223
Merge branch 'dev' into feat/FI-36
DQGiac Jun 6, 2026
cca1f3b
feat[FI-36]: Fix log out
DQGiac Jun 6, 2026
e92614b
feat[FI-36]: fix log out (2)
DQGiac Jun 6, 2026
6e2fa03
feat[FI-36]: fix log out (3)
DQGiac Jun 6, 2026
97bf55e
feat[FI-36]: fix log out (4)
DQGiac Jun 9, 2026
9f12624
Merge branch 'dev' of https://github.com/dscdut/FairInSight into feat…
DQGiac Jun 9, 2026
266e05c
Merge branch 'dev' of https://github.com/dscdut/FairInSight into feat…
DQGiac Jun 15, 2026
4eeb5fe
feat/FI-114: get reports stats
DQGiac Jun 19, 2026
029c469
feat/FI-114: fix conflict with dev
DQGiac Jun 19, 2026
060c329
feat/FI-113: Implement get report history
DQGiac Jun 30, 2026
5b55a14
Merge branch 'dev' of https://github.com/dscdut/FairInSight into feat…
DQGiac Jun 30, 2026
3c61293
feat/FI-112: implement get report by id
DQGiac Jul 5, 2026
e8bfc79
Merge branch 'dev' of https://github.com/dscdut/FairInSight into feat…
DQGiac Jul 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\msys64\\ucrt64\\bin\\gcc.exe",
"cStandard": "c23",
"cppStandard": "gnu++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
54 changes: 27 additions & 27 deletions backend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
"cloudinary": "^1.27.1",
"cors": "^2.8.5",
"debug": "^4.2.0",
"dotenv": "^8.2.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"express": "^4.17.2",
Expand Down Expand Up @@ -70,6 +69,7 @@
"babel-eslint": "^10.1.0",
"babel-plugin-module-resolver": "^4.1.0",
"babel-plugin-transform-runtime": "^6.23.0",
"dotenv": "^17.4.2",
"eslint": "^7.3.1",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-plugin-import": "^2.21.2",
Expand Down
2 changes: 2 additions & 0 deletions backend/src/core/api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { UserResolver } from 'core/api/user/user.resolver';
import { ApiDocument } from 'core/config/swagger.config';
import { LawyerResolver } from 'core/api/lawyer/lawyer.resolver';
import { UploadResolver } from 'core/api/upload';
import { ReportsResolver } from './reports/reports.resolver';
import { TemplateResolver } from 'core/api/template';
import { DocumentResolver } from 'core/api/document';
import { HandlerResolver } from '../../packages/handler/HandlerResolver';
Expand All @@ -22,6 +23,7 @@ export const ModuleResolver = HandlerResolver
MediaResolver,
LawyerResolver,
UploadResolver,
ReportsResolver,
LawResolver,
TemplateResolver,
DocumentResolver,
Expand Down
2 changes: 1 addition & 1 deletion backend/src/core/api/lawyer/lawyer.resolver.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Module } from 'packages/handler/Module';
import { RecordIdInterceptor } from 'core/modules/interceptor/recordId/record-id.interceptor';
import { LawyerController } from './lawyer.controller';
import { DefaultQueryCriteriaDocument } from '../../common/swagger/filter';
import { DefaultQueryCriteriaDocument } from '../../common/swagger/lawyerFilter';
import { RecordId } from '../../common/swagger/record-id';
import { UpdateLawyerProfileInterceptor } from 'core/modules/lawyer/interceptor';
import { hasLawyerRole } from 'core/modules/auth/guard';
Expand Down
28 changes: 28 additions & 0 deletions backend/src/core/api/reports/reports.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { ReportsService } from '../../modules/reports/service/reports.service';
import { ListReportsDto } from '../../modules/reports';
import { ValidHttpResponse } from '../../../packages/handler/response/validHttp.response';

class Controller {
constructor() {
this.service = ReportsService;
}

listReports = async req => {
const data = await this.service.listReports(req.query);
return ValidHttpResponse.toOkResponse(data);
}
getReportsStats = async req => {
const data = await this.service.getReportsStats(req.query);
return ValidHttpResponse.toOkResponse(data);
}
getReportById = async req => {
const data = await this.service.getReportById(req.params.id);
return ValidHttpResponse.toOkResponse(data);
}
getReportsHistory = async req => {
const data = await this.service.getReportsHistory(req.query);
return ValidHttpResponse.toOkResponse(data);
}
}

export const ReportsController = new Controller();
54 changes: 54 additions & 0 deletions backend/src/core/api/reports/reports.resolver.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import {
GetReportsInterceptor
} from 'core/modules/reports';
import { Module } from 'packages/handler/Module';
import { ReportsController } from './reports.controller';
import { authMiddleware } from 'core/modules/auth/middleware/auth.middleware';
import { uploadMediaSwagger } from 'core/common/swagger';
import { MediaInterceptor } from 'core/modules/document';
import { hasAdminRole } from 'core/modules/auth/guard';
import { ListReportsParams, GetReportsStatsParams, GetReportsHistoryParams } from 'core/common/swagger/reportFilter';
import { RecordIdInterceptor } from 'core/modules/interceptor/recordId/record-id.interceptor';
import { RecordId } from 'core/common/swagger/record-id';

export const ReportsResolver = Module.builder()
.addPrefix({
prefixPath: '/reports',
tag: 'reports',
module: 'ReportsModule'
})
.register([
{
route: '',
method: 'get',
params: ListReportsParams,
guards: [hasAdminRole],
controller: ReportsController.listReports,
preAuthorization: true,
},
{
route: '/:id',
method: 'get',
guards: [hasAdminRole],
params: [RecordId],
interceptor: [RecordIdInterceptor],
controller: ReportsController.getReportById,
preAuthorization: true,
},
{
route: '/stats',
method: 'get',
params: GetReportsStatsParams,
guards: [hasAdminRole],
controller: ReportsController.getReportsStats,
preAuthorization: true,
},
{
route: '/history',
method: 'get',
params: GetReportsHistoryParams,
guards: [hasAdminRole],
controller: ReportsController.getReportsHistory,
preAuthorization: true,
},
]);
2 changes: 1 addition & 1 deletion backend/src/core/api/user/user.resolver.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { hasAdminRole } from 'core/modules/auth/guard';
import { RecordIdInterceptor } from 'core/modules/interceptor/recordId/record-id.interceptor';
import { UserController } from './user.controller';
import { RecordId } from '../../common/swagger/record-id';
import { DefaultQueryCriteriaDocument } from '../../common/swagger/filter';
import { DefaultQueryCriteriaDocument } from '../../common/swagger/lawyerFilter';

export const UserResolver = Module.builder()
.addPrefix({
Expand Down
2 changes: 1 addition & 1 deletion backend/src/core/common/swagger/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './filter';
export * from './lawyerFilter';
export * from './record-id';
export * from './upload-file';
Loading
Loading