Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
48c72f8
feat(api/src): :sparkles: Initial commit
Nudelsuppe42 Jun 11, 2025
643d2d1
feat(api/v2): :construction_worker: Finish basic structure, get ready…
Nudelsuppe42 Jul 12, 2025
9d99877
feat(api/auth): :passport_control: Add authentication and access toke…
Nudelsuppe42 Jul 12, 2025
ff9c899
chore(api/src): :memo: Add missing JSDocs to services and incerceptors
Nudelsuppe42 Jul 12, 2025
3bbb4b8
feat(api/v2): :sparkles: Add GET /applications
kyanvde Jul 13, 2025
f288d18
feat(api/v2): :art: Add Sortable Decorator
kyanvde Jul 13, 2025
1e2b96c
feat(api/v2): :art: Add Paginated Decorator
kyanvde Jul 13, 2025
7bc0149
feat(api/v2): :poop: Improve Paginated Decorator
kyanvde Jul 13, 2025
77a565e
fix(api/pagination): :bug: Limit page size of pagination to static bo…
Nudelsuppe42 Jul 13, 2025
ff51a4b
refactor(api/v2): :art: Move application logic to service
kyanvde Jul 13, 2025
23cccec
feat(api/sorting): :sparkles: Sorting decorator to be inline with pag…
Nudelsuppe42 Jul 13, 2025
94bdf90
merge(api/v2): Merge incoming changes
Nudelsuppe42 Jul 13, 2025
6a11a7d
fix(api/sorting): :bug: Do accept undefined as sorting and ordering v…
Nudelsuppe42 Jul 13, 2025
f86ab34
fix(api/auth): :bug: Rename token store to token and add type support…
Nudelsuppe42 Jul 13, 2025
e4ea98f
feat(api/v2): :wheelchair: Add dynamic examples to error responses
kyanvde Jul 13, 2025
fe3816d
fix(api/auth): Update request parameter type and return token in getP…
Nudelsuppe42 Jul 13, 2025
92a1d68
feat(api/filter): :sparkles: Add filtering decorators
Nudelsuppe42 Jul 13, 2025
8601aad
fix(api/applications): :truck: rename method of getapplications to be…
Nudelsuppe42 Jul 13, 2025
4f2c9a8
feat(api/v2): :sparkles: Add create application dto
kyanvde Jul 13, 2025
15e8032
refactor(api/v2): :art: Change application dto to better reflect crea…
kyanvde Jul 13, 2025
1bb9f1b
chore(api/src): :art: Prettier
Nudelsuppe42 Jul 13, 2025
9a469ca
ci(api/src): :bug: Fix lint
Nudelsuppe42 Jul 13, 2025
798877b
fix(api/v2): :bug: Remove weird artifact in api error response decorator
kyanvde Jul 13, 2025
ca064cc
feat(api/v2): :sparkles: Implement GET /applications properly
kyanvde Jul 13, 2025
6af820a
docs(api/v2): :memo: Update roadmap
kyanvde Jul 13, 2025
692c6fa
refactor(api/v2): :recycle: Move ApplicationStatus import to shared l…
Nudelsuppe42 Jul 13, 2025
7dab634
feat(api/v2): :sparkles: Add POST /applications
kyanvde Jul 14, 2025
bca8083
docs(api/v2): :memo: Update roadmap and add todo
kyanvde Jul 15, 2025
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
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
"api/claims",
"frontend/legal",
"frontend/gallery",
"dash/editor"
"dash/editor",
"api/v2",
"api/auth"
]
}
56 changes: 56 additions & 0 deletions apps/api-v2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# compiled output
/dist
/node_modules
/build
.turbo
# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.DS_Store

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# temp directory
.temp
.tmp

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
37 changes: 37 additions & 0 deletions apps/api-v2/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// @ts-check
import eslint from '@eslint/js';
import globals from 'globals';
import { dirname } from 'path';
import tseslint from 'typescript-eslint';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

export default tseslint.config(
{
ignores: ['eslint.config.mjs'],
},
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
{
languageOptions: {
globals: {
...globals.node,
...globals.jest,
},
sourceType: 'commonjs',
parserOptions: {
projectService: true,
tsconfigRootDir: __dirname,
},
},
},
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-floating-promises': 'warn',
'@typescript-eslint/no-unsafe-argument': 'warn',
},
},
);
8 changes: 8 additions & 0 deletions apps/api-v2/nest-cli.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true
}
}
81 changes: 81 additions & 0 deletions apps/api-v2/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"name": "api-v2",
"version": "2.0.0",
"private": true,
"packageManager": "[email protected]+sha512.f95ce356460e05be48d66401c1ae64ef84d163dd689964962c6888a9810865e39097a5e9de748876c2e0bf89b232d583c33982773e9903ae7a76257270986538",
"scripts": {
"build": "nest build",
"prettier": "prettier ./src --write --ignore-unknown",
"start": "nest start",
"dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "^11.0.1",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.1",
"@nestjs/jwt": "^11.0.0",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/swagger": "^11.2.0",
"@repo/db": "*",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2",
"helmet": "^8.1.0",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
"@nestjs/cli": "^11.0.0",
"@nestjs/schematics": "^11.0.0",
"@nestjs/testing": "^11.0.1",
"@repo/prettier-config": "*",
"@repo/typescript-config": "*",
"@swc/cli": "^0.6.0",
"@swc/core": "^1.10.7",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/node": "^22.10.7",
"@types/supertest": "^6.0.2",
"eslint": "^9.18.0",
"globals": "^16.0.0",
"jest": "^29.7.0",
"source-map-support": "^0.5.21",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.6.3",
"typescript-eslint": "^8.20.0"
},
"prettier": "@repo/prettier-config",
"lint-staged": {
"*": "prettier --write --ignore-unknown"
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
}
Loading