Commit graph

129 commits

Author SHA1 Message Date
b1247d2fa1
add PasswordHasher interface with bcrypt implementation
Introduce an injectable abstraction over password_hash and
password_verify so callers can be swapped for a fast fake in tests
without paying bcrypt's CPU cost. The bcrypt implementation is a
direct passthrough using PASSWORD_DEFAULT, matching the prior inline
behavior, so existing stored hashes continue to verify.

Wired into the DI container alongside the other auth primitives
(Clock, TokenGenerator). No callers reference it yet, so production
behavior is unchanged.
2026-04-26 09:06:17 +03:00
5a24f5bde4
read user from request in plan controller 2026-04-24 13:32:04 +03:00
5f207f7fcb
add login and register view methods 2026-04-24 13:28:40 +03:00
c9d5ad37b8
add auth controller 2026-04-24 13:28:22 +03:00
6c5833af5e
return user from create user use case 2026-04-24 13:27:15 +03:00
bb4e27a45b
add admin middleware 2026-04-24 13:26:38 +03:00
2666f40c27
add forbidden exception 2026-04-24 13:25:52 +03:00
d549cf914f
add auth middleware 2026-04-24 13:25:36 +03:00
05f4f334e6
add create session use case 2026-04-24 13:24:21 +03:00
de4d577781
add system clock 2026-04-24 13:23:38 +03:00
04712bdd2d
add clock interface 2026-04-24 13:23:30 +03:00
07040851ec
add random token generator 2026-04-24 13:23:12 +03:00
a0bea204b4
add token generator interface 2026-04-24 13:23:05 +03:00
762bbb7fda
add json session repository 2026-04-24 13:22:19 +03:00
503df8be7a
add session repository interface 2026-04-24 13:21:37 +03:00
b37e80147c
add create session dto 2026-04-24 13:21:28 +03:00
6fbdc82589
add session entity 2026-04-24 13:21:20 +03:00
79d9ece2ae
add authenticate user use case 2026-04-24 13:21:02 +03:00
20e4a6ee69
add authenticate user request 2026-04-24 13:20:30 +03:00
271f28936d
add unauthorized exception 2026-04-24 13:20:22 +03:00
ada29ea957
store password hash in json user repo 2026-04-24 13:19:15 +03:00
0f179e53c2
hash password in create user 2026-04-24 13:18:44 +03:00
016e98412b
add password hash to user entity 2026-04-24 13:18:33 +03:00
5093259063
add password hash to create user dto 2026-04-24 13:18:24 +03:00
261319078d
add password to create user request 2026-04-24 13:18:15 +03:00
96ad78425f
reject duplicate email in create user 2026-04-24 13:17:11 +03:00
ac461afcf0
implement find by email in json user repo 2026-04-24 13:16:41 +03:00
ee271e162e
add find by email to user repository 2026-04-24 13:16:11 +03:00
54db92a76c
persist is admin in json user repo 2026-04-24 13:15:24 +03:00
4157710187
pass is admin through create user 2026-04-24 13:14:57 +03:00
0e86af3e81
add is admin to user entity 2026-04-24 13:14:48 +03:00
affa1e7b1b
add is admin to create user dto 2026-04-24 13:14:39 +03:00
b9f7fcf148
add is admin to create user request 2026-04-24 13:14:30 +03:00
e664fead2c
parse json body in plan controller 2026-04-24 10:28:00 +03:00
0e57b90509
add plan controller 2026-04-24 10:25:53 +03:00
baf12500c7
add json scheduled node repository 2026-04-24 10:25:08 +03:00
3595bcbf11
add json user repository 2026-04-24 10:24:57 +03:00
895bfb01da
add json plan repository 2026-04-24 10:24:39 +03:00
6b9ad5ef8e
extract validation code to private method 2026-04-23 21:19:58 +03:00
49663d70d9
distribute scheduled nodes evenly by filling days sequentially 2026-04-23 21:06:22 +03:00
358694e7e3
nodes are scheduled on different days according to dates provided 2026-04-23 20:54:08 +03:00
858f2e075f
test for date end being before date start 2026-04-23 20:50:26 +03:00
a752ff9ba5
add start and end date and test for null entries 2026-04-23 20:44:14 +03:00
f8a1c2616d
test that nonexistant text will throw error 2026-04-23 20:20:53 +03:00
c32087c35d
move instantiation of date time immutable to use case. request gets a string 2026-04-23 20:09:17 +03:00
29db3aec55
add home controller method 2026-04-23 10:02:10 +03:00
6009fb7ddd
refactor create text controller to catch BadRequestException 2026-04-19 23:38:23 +03:00
8a90c5bab4
refactor bulk create nodes controller to catch BadRequestException 2026-04-19 23:37:40 +03:00
1761bfad7f
refactor create node controller to catch BadRequestException 2026-04-19 23:37:12 +03:00
38b7a0adb8
add count validation in bulk create nodes use case 2026-04-19 23:36:37 +03:00