|
|
77c07adec8
|
feat(reports): support multi-user chart series
|
2026-05-13 09:59:23 +03:30 |
|
|
|
f9c4c06531
|
feat(users): return otp expiry metadata
|
2026-05-13 09:58:58 +03:30 |
|
|
|
d1c4889d22
|
feat(users): apply django password validators in auth flows
|
2026-05-03 20:02:14 +03:30 |
|
|
|
8ff1e4fa61
|
fix(users): validate password reset mobile input
|
2026-05-03 17:17:18 +03:30 |
|
|
|
df9a183823
|
test(reports): freeze date-sensitive report view cases
|
2026-05-01 01:54:13 +03:30 |
|
|
|
fb15a16204
|
feat(users): add google oauth login flow
|
2026-05-01 01:54:02 +03:30 |
|
|
|
99eb4c2594
|
perf(db): add targeted composite indexes
|
2026-04-30 16:13:35 +03:30 |
|
|
|
054bb5a582
|
feat(cache): add targeted server-side response caching
|
2026-04-30 16:13:12 +03:30 |
|
|
|
08e1793765
|
feat(throttling): add auth throttling and structured cooldown errors
|
2026-04-30 15:29:44 +03:30 |
|
|
|
3152284cf3
|
test(backend): add coverage for services tasks and apis
|
2026-04-30 12:44:24 +03:30 |
|
|
|
8774a4d4dc
|
test(backend): convert existing app suites to unittest
|
2026-04-30 12:41:54 +03:30 |
|
|
|
204225dd16
|
test(backend): switch to django test runner
|
2026-04-30 12:41:38 +03:30 |
|
|
|
a2de2a133c
|
fix(users): skip sms delivery when api key is unset
|
2026-04-29 20:19:13 +03:30 |
|
|
|
ec199a0e99
|
feat(projects): add client strip filtering and page refresh
|
2026-04-29 00:53:54 +03:30 |
|
|
|
ef05f0a89e
|
feat(reports): add daily rate to report tables and exports
|
2026-04-28 20:26:20 +03:30 |
|
|
|
1cd948592c
|
refactor(projects): remove project membership access model
|
2026-04-28 19:35:24 +03:30 |
|
|
|
71924ce6fb
|
feat(logs): add workspace activity log api
|
2026-04-28 18:51:42 +03:30 |
|
|
|
c8a118788b
|
feat(reports): include workspace thumbnail in pdf exports
|
2026-04-28 11:38:43 +03:30 |
|
|
|
315f2ca728
|
feat(workspaces): add thumbnail upload and lifecycle support
|
2026-04-28 11:38:35 +03:30 |
|
|
|
76f02dc259
|
feat(workspaces): expose role-aware membership details
|
2026-04-28 10:46:15 +03:30 |
|
|
|
afb1a55570
|
fix(permissions): restrict deletes and admin member management
|
2026-04-28 10:02:37 +03:30 |
|
|
|
02c9c17c30
|
fix(time-entries): preserve deleted tags in timesheet edits
|
2026-04-27 22:58:27 +03:30 |
|
|
|
7bd60fd641
|
fix(reports): localize and group exported income values
|
2026-04-27 21:14:02 +03:30 |
|
|
|
208e81139b
|
fix(reports): use persian month buckets in chart data
|
2026-04-27 16:43:54 +03:30 |
|
|
|
e26263e93f
|
feat(reports): add localized workspace reports and exports
|
2026-04-27 16:15:41 +03:30 |
|
|
|
fadf898486
|
feat(pricing): add workspace user rates and price units
|
2026-04-26 10:19:04 +03:30 |
|
|
|
f960ca8221
|
feat(permissions): centralize workspace role capability checks
|
2026-04-25 18:48:50 +03:30 |
|
|
|
5f9d413a57
|
refactor(notifications): align app structure with backend conventions
|
2026-04-25 12:00:05 +03:30 |
|
|
|
48bf4f5c19
|
feat(notifications): notify membership access changes
|
2026-04-25 11:51:45 +03:30 |
|
|
|
0ca3255270
|
feat(notifications): add redis-backed sse notification streaming
|
2026-04-25 11:27:46 +03:30 |
|
|
|
e7de587f59
|
feat(projects): support members and align rate payloads
|
2026-04-24 22:20:57 +03:30 |
|
|
|
a44995017b
|
fix(users): support profile picture delete and dev sms fallback
|
2026-04-24 22:20:13 +03:30 |
|
|
|
7cae494892
|
test(time-entries): cover grouped filters and serializer formatting
|
2026-04-24 22:19:36 +03:30 |
|
|
|
83bc3568d0
|
feat(time-entries): add grouped timesheet filters and responses
|
2026-04-24 22:19:09 +03:30 |
|
|
|
9910b386d2
|
chore(django): track initial migrations and test config
|
2026-04-24 22:18:28 +03:30 |
|
|
|
0289a15089
|
fix(projects): add client's name to the project's response to display in frontend
|
2026-03-15 01:54:22 +08:00 |
|
|
|
a54969d1c0
|
feat(workspaces): change response structure of user field in WorkspaceMembershipSerializer from UUID to UserMiniSerializer object
|
2026-03-13 01:17:00 +08:00 |
|
|
|
67aa42baf0
|
fix(workspaces): removed incorrect search options in WorkspaceViewset by 'owner'
|
2026-03-12 21:44:55 +08:00 |
|
|
|
eee584038e
|
feat(workspaces): add 'my_role' and 'owner' fields to WorkspaceSerializer
|
2026-03-12 21:43:40 +08:00 |
|
|
|
93b1699253
|
feat(users): add search endpoint for adding new user to workspace by mobile
|
2026-03-12 17:42:51 +08:00 |
|
|
|
5990114151
|
feat(users): add /me/ endpoint for detail/update/delete user object
|
2026-03-12 08:25:55 +08:00 |
|
|
|
720adbe8a3
|
feat(time_entries): add time_entries app's basic structure and endpoints
|
2026-03-11 19:46:45 +08:00 |
|
|
|
4d66293804
|
feat(tags): add tags app's basic structure and endpoint
|
2026-03-11 19:17:20 +08:00 |
|
|
|
7152ab9aca
|
feat(projects): add projects app's basic structure and endpoints
|
2026-03-11 19:05:57 +08:00 |
|
|
|
7b6b288c41
|
feat(clients): add clients app basic structure and endpoints
|
2026-03-11 18:43:11 +08:00 |
|
|
|
5d1e1cb7cb
|
initial commit
|
2026-03-11 18:01:27 +08:00 |
|