* feat(oauth): add rotate_secret action for oauth applications
Add POST routes and controller actions for both owner-facing and admin
OAuth application secret rotation using Doorkeeper's renew_secret.
* feat(oauth): add rotate secret button and flash display to views
Add Rotate Secret button with confirmation dialog to both owner and
admin show pages. Display rotated secret via flash with copy button.
* fix(oauth): restrict admin secret rotation to superadmins only
Add explicit superadmin authorization check in rotate_secret action.
The route constraint already limits access, but this adds defense in
depth at the controller level to prevent privilege escalation.
* fix(oauth): address PR review feedback for secret rotation
- Remove duplicate stale lines in admin controller
- Fix indentation in admin controller, both show views
- Add superadmin guard to admin rotate_secret action
- Use I18n for flash messages in doorkeeper controller
- Add respond_to HTML/JSON branches matching existing patterns
- Fix double space in before_action array
* let's clean up a bit?
* pt 2.
* Make it actually work :P
---------
Co-authored-by: Mahad Kalam <mahadkalam1234@gmail.com>
Co-authored-by: Mahad Kalam <55807755+skyfallwastaken@users.noreply.github.com>
* Inertia p1?
* Inertia'fied signed out homepage?
* Split up signed in page
* WIP signed in v2?
* Better signed in?
* Clean up extensions page!
* Fix currently hacking
* Better docs page?
* Docs update 2
* Clean up "What is Hackatime?" + get rid of that godawful green dev mode
* Better nav?
* Cleaner settings?
* Fix commit times
* Fix flashes + OS improv
* Setup v2
* Readd some of the syncers?
* Remove stray emdash
* Clean up Step 3
* Oops, remove .vite
* bye bye, /inertia-example
* bin/rubocop -A
* Fix docs vuln
* Add banned_users endpoint to AdminController and update routes
* Merge branch 'main' into addingGetBanAdminAPI_Endpoint
* move function out of private
* docs
* re swaggerize
* feat: add API documentation and CI checks
- Add Rswag for automated API documentation generation
- Add Swagger specs for all endpoints
- Add CI step to enforce that swagger.yaml stays in sync with code
- Add static test keys in seeds.rb for easier testing
- Update AGENTS.md and README.md to support this
* Merge branch 'main' of https://github.com/deployor/hackatime
* Merge branch 'main' into main
* Deprecations! Yay! :)
* It was wan addicent i swear linter! Dont hurt me
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Copilot..... we love you! Also this project is open and so are api docs meant to be if another AI reads ts!
* Merge branch 'main' of https://github.com/deployor/hackatime
* Merge branch 'main' into main
* Merge branch 'main' into main
* Update app/controllers/api/admin/v1/admin_controller.rb
If you say so
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update spec/requests/api/v1/my_spec.rb
I guessss?
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Failed my own CI wow.... EMBARRASSINGGGG
* Merge branch 'main' into main
* Merge branch 'main' into main
* clarify wording on internal/revoke
* Merge branch 'main' into main
* update swagger docs