zihluwang
00a62de5ee
refactor: retrieving value with Optional
2026-08-20 15:43:03 +08:00
zihluwang
2936b6aece
feat(mod): add status and creator tracking
...
- Introduce ModificationStatus enum with integer codes and a JPA converter
- Record the creating user on new modifications
- Rebuild the modification table with status, creator and audit columns
- Simplify user_role to a single-column primary key
2026-08-20 15:18:49 +08:00
zihluwang
4d9bf64ef4
fix(mail): add base smtp config for mail sender
...
- Configure a default SMTP host and username so the JavaMailSender bean is always created
- Move from-address injection from a field to a setter
2026-08-19 14:10:41 +08:00
zihluwang
d9b74ae2e3
feat(auth): add email verification codes
...
- Add POST /auth/verification-code endpoint to email a code
- Store codes in Redis and verify them during registration
- Send verification emails asynchronously via Thymeleaf
- Replace email_verified column with code-based verification
- Group dependencies into version catalogue bundles
2026-08-19 13:39:36 +08:00
zihluwang
8f98d02044
feat(auth): add user registration endpoint
...
- Validate username, email and password on register
- Reject duplicate usernames and email addresses
- Create user with LOCAL credential and default USER role
Closes #3
2026-08-14 00:27:05 +08:00
zihluwang
1aeefb6733
refactor(auth): centralise cookie building
...
- Move cookie construction logic into CookieManager
- Remove CookieService
2026-08-11 12:48:20 +08:00
zihluwang
dadd9a7221
refactor(auth): mark resolver params non-null
...
- Annotate resolveArgument parameters with jspecify @NonNull
2026-08-11 12:23:17 +08:00
zihluwang
17b919705e
docs(config): document prod config options
...
- Add comments to datasource, redis, cookie and webhook sections
- Polish existing CORS and springdoc comments
- Enable secure cookie to satisfy same-site none
- Fix token secret and GitHub username typos
2026-08-11 12:07:18 +08:00
zihluwang
0a7882c5ce
feat(auth): add configurable token renew threshold
...
- Add renew-threshold JWT config option with PT5M default
- Default valid-time to PT2H in TokenProperties
- Expand comments in the prod config example
2026-08-11 00:54:46 +08:00
zihluwang
a765c705e6
fix(auth): use bare role names in annotations
2026-08-10 15:50:55 +08:00
zihluwang
3f60df9de2
feat(auth): add role-based authorization
...
- Load the user's role during authentication and expose it as
a granted authority on the authenticated token
- Add @RequiresAdmin and @RequiresSuperUser method-level
annotations for role-gated endpoints
- Introduce a shared BaseRepository with specification support
- Replace Example-based credential queries with JPA specifications
2026-08-10 15:49:49 +08:00
zihluwang
471eda5353
refactor(webhook): generalise controller routes
...
- Rename GitHubWebhookController to WebhookController
- Move class-level mapping from /webhooks/github to /webhooks
- Scope the GitHub endpoint to /webhooks/github via @PostMapping
2026-08-10 14:33:45 +08:00
zihluwang
4aafbaeadc
Merge branch 'main' into develop
2026-07-21 14:23:52 +08:00
zihluwang
581634f33a
Merge pull request 'feat(auth): add user profile centre and admin role system' ( #12 ) from feature/user-profile-and-roles into develop
...
Reviewed-on: https://onixbyte.dev/onixbyte/delta-force-guide-server/pulls/12
Reviewed-by: Siu Jam Oh <jamo.siu@gmail.com >
2026-07-21 14:23:02 +08:00
zihluwang
c1d893db5f
refactor(auth): simplify role enforcement with built-in @PreAuthorize
...
- remove custom RequiresRole annotation and RoleBasedAuthorizationManager
- replace @RequiresRole with @PreAuthorize("hasRole('SUPER_USER')") in AdminController
- remove requiresRoleAdvisor bean from SecurityConfig
2026-07-21 14:21:13 +08:00
zihluwang
db5056e8d5
feat(auth): add user profile centre and admin role system
...
- add GET/PUT /user/me endpoints for profile viewing and editing
- add PUT /user/me/password endpoint for password changes
- add GET /user/me/builds skeleton endpoint for future CustomModification
- add user_role table with ROLE_USER, ROLE_ADMIN, and ROLE_SUPER_USER roles
- add @RequiresRole annotation with custom AuthorizationManager enforcement
- extend User entity with nickname, avatarUrl, emailVerified, enabled,
createdAt, and updatedAt columns
- load user roles into SecurityContext authorities via TokenAuthenticationFilter
- add @CurrentUser annotation and argument resolver for controller injection
- add PUT/DELETE /admin/users/{id}/roles for SUPER_USER role management
- add V6 and V7 Flyway migrations for schema changes
Closes #5
Closes #8
2026-07-21 13:44:02 +08:00
zihluwang
7343f68a4e
ci: use scp/ssh instead of upload-artifact for Gitea Actions compatibility
...
GitHub's actions/upload-artifact is not supported on Gitea Actions.
Replaced with appleboy/scp-action to upload artifact to deploy server,
then download via appleboy/ssh-action in subsequent jobs.
2026-06-16 01:34:58 +08:00
zihluwang
bb08f1e4b6
Merge pull request 'v1.4.0' ( #2 ) from release/v1.4.0 into main
...
Reviewed-on: https://git.onixbyte.com/onixbyte/delta-force-guide-server/pulls/2
2026-06-16 01:18:50 +08:00
zihluwang
d323e4f8f7
chore: change traffic interceptor log level from info to debug
2026-06-02 01:46:49 +08:00
zihluwang
bd4fe65b03
Merge remote-tracking branch 'origin/develop' into develop
2026-05-29 00:42:34 +08:00
zihluwang
eb22b3c4bb
docs: add Javadocs
2026-05-29 00:42:27 +08:00
zihluwang
5b0f037567
ci: add CI files for build and deploy
2026-05-25 08:25:19 +08:00
zihluwang and Claude Opus 4.7
559ae34966
chore: remove legacy Groovy Gradle files and relocated converter
...
build.gradle and settings.gradle superseded by build.gradle.kts
and settings.gradle.kts. FirearmTypeConverter moved to
domain/converter/ package.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 23:58:25 +08:00
zihluwang and Claude Opus 4.7
70ae945cd2
chore: add CLAUDE.md with coding standards and build commands
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 23:56:48 +08:00
zihluwang
92703d4985
ci: build and upload release tarball
...
Use pnpm build:tar during release workflow and upload dist.tar.gz.
2026-05-11 07:10:30 +08:00
zihluwang
1dfe3f7221
refactor: remove unused icon images
2026-05-11 07:02:17 +08:00
zihluwang and Claude Opus 4.7
86e259a500
feat: add legal tabs and update header assets
...
Switch the legal page to tabbed EULA/privacy content with URL sync, update header styling, and migrate footer icons to Ant Design.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 07:00:05 +08:00
zihluwang
b91855095b
refactor: optimised slots
2026-05-10 13:52:22 +08:00
zihluwang
1f30f70f21
refactor: rename app title
2026-05-10 13:43:01 +08:00
zihluwang
13242deb6c
refactor: reduce slots
2026-05-10 13:41:37 +08:00
zihluwang
3b5153f386
refactor: add a built-in slot
2026-05-10 13:32:49 +08:00
zihluwang
5502643466
refactor: change the modification display order
2026-05-10 13:30:51 +08:00
zihluwang
5790750124
feat: implemented listening port check by vite-plugin-port-checker
2026-05-10 13:30:25 +08:00
zihluwang
26bca96575
chore: add dependency vite-plugin-port-checker for checking listening ports
2026-05-10 13:29:55 +08:00
zihluwang
752e64f259
ci: add ci process
2026-05-08 08:23:35 +08:00
zihluwang
84a2a2ffea
Merge remote-tracking branch 'origin/main' into develop
2026-05-08 08:11:08 +08:00
zihluwang
9b2d527576
docs: add EULA and PrivacyPolicy
2026-05-06 19:14:43 +08:00
zihluwang
d663cc5d20
docs: add js docs
2026-05-06 19:01:58 +08:00
zihluwang
5d84cf0589
feat: add placeholder files for EULA and Privacy Policy
...
Added empty files as placeholders for future legal documentation.
2026-05-06 18:59:17 +08:00
zihluwang
84fa103555
Merge branch 'refs/heads/main' into develop
2026-05-06 18:57:05 +08:00
zihluwang
ff967da485
docs: update README file
2026-05-06 18:55:28 +08:00
zihluwang
6271b22708
Merge pull request #14 from zihluwang/dependabot/npm_and_yarn/dependency-updates-9da01cc519
...
chore: bump antd from 6.3.6 to 6.3.7 in the dependency-updates group
2026-05-06 15:07:20 +08:00
zihluwang
6e18d2efa9
refactor: change default size of modifications to 10
2026-05-06 01:31:05 +08:00
zihluwang
5803d057fd
refactor: change the order of the slots
2026-05-05 11:48:30 +08:00
zihluwang
a8959c28ec
Merge pull request #13 from zihluwang/develop
...
v1.2.2
2026-04-26 11:59:11 +08:00
zihluwang
fbbef5c28b
feat: enhance firearm options and tuning button styles for better usability
2026-04-26 11:55:55 +08:00
zihluwang
6d98ecef30
feat: add tuning options to modification form and update labels for clarity
2026-04-26 11:51:25 +08:00
zihluwang
0e695e4266
feat: update initial form values to clear accessories array
2026-04-26 11:48:12 +08:00
zihluwang
d524b3814c
feat: format code for improved readability and consistency
2026-04-26 11:40:30 +08:00
zihluwang
8e98f5b9da
feat: refactor loadModifications to use async/await and improve invocation
2026-04-25 15:31:17 +08:00
zihluwang
9a65fd04c3
feat: refactor loadFirearms to use async/await and improve error handling
2026-04-25 15:30:33 +08:00
zihluwang
49fbcb221c
feat: enhance review tooltip in firearm form for better user experience
2026-04-25 15:29:24 +08:00
zihluwang
e4acb7fd6f
Merge pull request #12 from zihluwang/develop
...
v1.2.1
2026-04-25 15:17:04 +08:00
zihluwang
a66ed2e216
Merge branch 'main' into develop
...
# Conflicts:
# package.json
# pnpm-lock.yaml
2026-04-25 11:10:23 +08:00
zihluwang
0a2f58a91b
feat: add calibres data and update firearm form to use select input for calibre
2026-04-25 11:06:49 +08:00
zihluwang
3f3ff08d25
feat: make code more strict
2026-04-24 19:47:03 +08:00
zihluwang
05b355e709
feat: add a new commonly used slot
2026-04-24 19:44:24 +08:00
zihluwang
a9ddf3e3f8
Merge pull request #11
...
chore: bump the dependency-updates group with 11 updates
2026-04-24 19:43:20 +08:00
zihluwang
e76e684b4d
feat: integrate dayjs with duration plugin and update imports
2026-04-23 20:37:43 +08:00
zihluwang
7fda77370e
chore: update artefactVersion to 1.2.0
2026-04-23 16:24:41 +08:00
zihluwang
2fc865ea57
feat: add create and edit modals for modifications management
2026-04-23 16:12:48 +08:00
zihluwang
384e17e79c
feat: add AccessoryResponse and TuningResponse DTOs for accessory and tuning data representation
2026-04-23 16:10:05 +08:00
zihluwang
abc4c68a0f
feat: add CRUD operations for modifications in modification-api
2026-04-22 16:52:19 +08:00
zihluwang
ff487064a2
refactor: split interfaces by module
2026-04-22 16:52:09 +08:00
zihluwang
353c05339e
feat: refactor batch delete endpoint to use request parameters and update SQL schema for firearm table
2026-04-22 16:35:39 +08:00
zihluwang
e7373d6e98
Merge pull request #10 from zihluwang/dependabot/npm_and_yarn/dependency-updates-2c57f57997
...
chore: bump the dependency-updates group with 5 updates
2026-04-22 14:44:01 +08:00
zihluwang
d52ce8828d
Merge branch 'develop' into dependabot/npm_and_yarn/dependency-updates-2c57f57997
2026-04-22 14:43:52 +08:00
zihluwang
745c98bc20
feat: add create and edit modals for firearms management
2026-04-21 23:40:00 +08:00
zihluwang
5ce8a994a4
feat: add modification creation and deletion endpoints, including batch operations and request DTOs
2026-04-21 23:39:05 +08:00
zihluwang
16db0eb0ee
feat: add functionality to create, edit, and remove firearms
2026-04-21 14:30:13 +08:00
zihluwang
93dbd857e0
feat: add update and delete operations for Firearm, including error handling
2026-04-21 14:20:45 +08:00
zihluwang
dec7f3c7d2
feat: add Accessory and Tuning classes, update Modification to include accessories
2026-04-21 14:07:17 +08:00
zihluwang
a2e3676d05
feat: add logout functionality with dropdown menu for user authentication
2026-04-21 11:28:07 +08:00
zihluwang
17048104d9
feat: add logout operation description and update schema annotations in LoginRequest
2026-04-17 10:57:41 +08:00
zihluwang
f0a8006097
feat: add Swagger annotations for user authentication endpoints and update validation in LoginRequest
2026-04-17 10:55:39 +08:00
zihluwang
a58fefbd2d
feat: add addFirearm endpoint and FirearmRequest DTO for firearm creation
2026-04-16 09:52:55 +08:00
zihluwang
cb50892ffe
feat: add builder pattern for Firearm, Modification, User, UserCredential, and UserCredentialId classes
2026-04-15 11:14:19 +08:00
zihluwang
1fc7b932bc
feat: add logout endpoint and refactor cookie management in AuthController
2026-04-14 12:13:02 +08:00
zihluwang
d6b8d12b2e
feat: add user-based conditional rendering for firearms and mod codes pages
2026-04-14 11:57:43 +08:00
zihluwang
ac76150915
feat: implement user authentication with login functionality
...
- Add auth-api for handling login requests.
- Update index.ts to export AuthApi.
- Modify HeroLayout to display username or login link based on authentication state.
- Create LoginPage component for user login.
- Update router to include login route with EmptyLayout.
- Configure WebClient to include credentials in requests.
- Add auth-slice for managing authentication state in Redux.
- Update Redux store to include auth reducer.
- Define LoginRequest and User types in types/index.ts.
- Configure Vite to proxy API requests to the backend server.
2026-04-14 11:17:31 +08:00
zihluwang
8fbb73740c
feat: implement user authentication with login endpoint and cookie management
2026-04-13 17:25:34 +08:00
zihluwang
75abbb0a2a
feat: add Swagger annotations for Firearm, Modification, and Tag controllers
2026-04-13 14:38:50 +08:00
zihluwang
5e9b29c186
feat: implement JWT authentication with TokenClient, TokenAuthenticationFilter, and SecurityConfig
2026-04-13 14:32:34 +08:00
zihluwang
0a6813ceea
chore: add Spring Security to library
2026-04-12 05:37:24 +08:00
zihluwang
e65df08d1b
feat: implement User and UserCredential models with repository and service layers
2026-04-12 05:32:31 +08:00
zihluwang
6e6843c412
Merge pull request #1 from zihluwang/develop
...
Enhance Firearm model and add tag filtering to queries
2026-04-09 17:53:28 +08:00
zihluwang
b000336d22
Merge pull request #9 from zihluwang/develop
...
Enhance firearms management with filtering, display, and UI improvements
2026-04-09 17:27:22 +08:00
zihluwang
cf2b57f745
feat: reinstall packages
2026-04-09 17:25:31 +08:00
zihluwang
a1984c3ecb
Merge remote-tracking branch 'origin/main' into develop
...
# Conflicts:
# package.json
# pnpm-lock.yaml
2026-04-09 17:24:21 +08:00
zihluwang
3af4650d32
Merge pull request #8 from zihluwang/dependabot/npm_and_yarn/dependency-updates-1cafa9d752
2026-04-09 17:19:39 +08:00
zihluwang
dad5c191fa
feat: add tarball build script to package.json
2026-04-09 14:33:18 +08:00
zihluwang
78fa02e618
feat: add bullet calibre display to FirearmsPage
2026-04-09 14:30:21 +08:00
zihluwang
63f9885aa2
feat: add additional firearm attributes and DPS calculation to FirearmsPage
2026-04-09 14:17:38 +08:00
zihluwang
bd1f2441f3
feat: add calibre, fire rate, armour damage, and body damage fields to Firearm model and update related response and migration scripts
2026-04-09 13:28:28 +08:00
zihluwang
0992635391
feat: add nullability annotations to findById method in ModificationRepository
2026-04-09 11:37:02 +08:00
zihluwang
7f50fafee8
feat: add tag API and integrate tag selection in modifications page
2026-04-07 11:59:37 +08:00
zihluwang
a28033ff4c
feat: add tag filtering to modification queries and implement tag retrieval endpoint
2026-04-07 11:58:46 +08:00
zihluwang
3da706402d
feat: enhance modification display with copy functionality and improved styling
2026-04-07 11:17:14 +08:00
zihluwang
9dfd52eb2d
feat: integrate Ant Design components and configuration for improved UI
2026-04-07 11:06:34 +08:00
zihluwang
4294495ffa
chore: add @ant-design/cssinjs
2026-04-07 11:06:21 +08:00