Kharec
|
3ffd83b0fb
|
feat: ignore docs in make format
|
2025-11-21 17:02:06 +01:00 |
|
Kharec
|
62d466e4fa
|
refactor: use go generics
|
2025-11-21 16:56:26 +01:00 |
|
Kharec
|
0cd428d5d9
|
feat: use connection pooling instead of a single connection
|
2025-11-21 16:53:46 +01:00 |
|
Kharec
|
5c239ad61d
|
feat: add missing GetVoteCountsByPostID method to the errorVoteRepository test mock
|
2025-11-21 16:50:23 +01:00 |
|
Kharec
|
01f2b1fe75
|
feat: remove loop and use GetVoteCountsByPostID
|
2025-11-21 16:48:48 +01:00 |
|
Kharec
|
28134c101c
|
feat: add GetVoteCountsByPostID to the mock for testing
|
2025-11-21 16:48:15 +01:00 |
|
Kharec
|
2f78370d43
|
feat: GetVoteCountsByPostID: use a single sql query to returns up votes and down votes counts
|
2025-11-21 16:47:52 +01:00 |
|
Kharec
|
39598a166d
|
feat: remove redundat getbyemail call to reduce db query by 2 (1Q/user creation instead of 2)
|
2025-11-21 16:43:46 +01:00 |
|
Kharec
|
fa9474d863
|
revert: db transaction use, avoiding the pgx RETURNING issue while maintaining data consistency
|
2025-11-21 16:31:06 +01:00 |
|
Kharec
|
34a97994b3
|
feat: improve testing to use production code paths and better coverage
|
2025-11-21 16:26:21 +01:00 |
|
Kharec
|
eb5f93ffd0
|
clean: remove duplicate sequential helpers
|
2025-11-21 16:25:27 +01:00 |
|
Kharec
|
697f201d60
|
feat: use database transactions to ensure atomicity
|
2025-11-21 16:21:04 +01:00 |
|
Kharec
|
f4ab8bda45
|
feat: transaction rollback test
|
2025-11-21 16:20:41 +01:00 |
|
Kharec
|
65576cc623
|
feat: keep seeding fast and predictable even when parallelized
|
2025-11-21 16:16:35 +01:00 |
|
Kharec
|
a5b4e9bf25
|
feat: update tests to pass precomputed hashes
|
2025-11-21 16:11:42 +01:00 |
|
Kharec
|
c020517ccf
|
feat: reduce hashing cost by removing redundant password hashing
|
2025-11-21 16:11:33 +01:00 |
|
Kharec
|
4cdda3f944
|
feat: remove bcrypt and use a precompute hash
|
2025-11-21 16:11:08 +01:00 |
|
Kharec
|
ff471cd5dd
|
fix: loop
|
2025-11-21 15:39:08 +01:00 |
|
Kharec
|
df5e67c7f3
|
feat: add idempotency tests
|
2025-11-21 15:34:08 +01:00 |
|
Kharec
|
b2580d2380
|
feat: make seeding idempotente
|
2025-11-21 15:33:59 +01:00 |
|
Kharec
|
4749213bf0
|
feat: update test to accept randomized seed user identities
|
2025-11-21 15:26:29 +01:00 |
|
Kharec
|
6470425b96
|
feat: avoid unique constraint failures on repeat runs by randomizing seed identities
|
2025-11-21 15:26:05 +01:00 |
|
Kharec
|
14ae6f815b
|
feat: update tests to verify clamping
|
2025-11-21 15:21:05 +01:00 |
|
Kharec
|
73083e4188
|
feat: check zero/negative value in seeding
|
2025-11-21 15:20:57 +01:00 |
|
Kharec
|
c907c4812b
|
feat: add tests covering negative values for the three flags
|
2025-11-21 14:56:09 +01:00 |
|
Kharec
|
c7f30070c0
|
feat: reject negative/nonsensical flag values with a clear error instead of letting slice/channel allocations panic
|
2025-11-21 14:55:51 +01:00 |
|
Kharec
|
0dcd5fec51
|
fix: Makefile fuzz target to enumerate fuzz functions per package and run each individually
|
2025-11-21 14:30:37 +01:00 |
|
Kharec
|
96c054aa99
|
feat: add new parameter
|
2025-11-21 13:13:27 +01:00 |
|
Kharec
|
bdd7766275
|
docs: update readme
|
2025-11-21 13:13:18 +01:00 |
|
Kharec
|
0b1241d371
|
docs: update readme
|
2025-11-21 13:11:47 +01:00 |
|
Kharec
|
b300fc2f5e
|
feat: new test for json output flag from config
|
2025-11-21 13:11:43 +01:00 |
|
Kharec
|
f49bea4138
|
feat(config): read a flag in .env to set or not json output
|
2025-11-21 13:11:16 +01:00 |
|
Kharec
|
79e072fe6b
|
feat(cli): read .env value to set or not the json output
|
2025-11-21 13:10:53 +01:00 |
|
Kharec
|
7fca1f78dc
|
feat(cli): add a json output and tests
|
2025-11-21 13:00:03 +01:00 |
|
Kharec
|
30a2e88685
|
docs: update readme
|
2025-11-20 18:55:08 +01:00 |
|
Kharec
|
10f7220fb6
|
feat: install pg 18
|
2025-11-20 18:55:05 +01:00 |
|
Kharec
|
08a934e388
|
feat: migrate to postgres 18
|
2025-11-20 18:54:58 +01:00 |
|
Kharec
|
87dadfa4a8
|
feat: modernize loops
|
2025-11-19 13:13:51 +01:00 |
|
Kharec
|
53c76eee8b
|
feat: modernize loop
|
2025-11-17 16:24:40 +01:00 |
|
Kharec
|
446915d5ee
|
feat: modernize loop
|
2025-11-17 15:59:24 +01:00 |
|
Kharec
|
dceb305ac7
|
feat: modernize statement using max()
|
2025-11-17 15:37:03 +01:00 |
|
Kharec
|
e5b1f18beb
|
docs: update readme regarding our new linting configuration
|
2025-11-15 11:45:54 +01:00 |
|
Kharec
|
513e0c05b2
|
feat: creating my own hell by adding a suitable configuration for golangci-lint
|
2025-11-15 11:45:42 +01:00 |
|
Kharec
|
ba09bb4141
|
lint: fix staticcheck nil pointer issue
|
2025-11-15 11:35:31 +01:00 |
|
Kharec
|
0f9a89bfc7
|
lint: add error checks on Register() and fix sqlDB.Close() errcheck
|
2025-11-15 11:34:57 +01:00 |
|
Kharec
|
1d1a3dcf60
|
lint: make linter happy with errcheck
|
2025-11-15 11:34:12 +01:00 |
|
Kharec
|
2b31e80fa1
|
docs: not necessarily tailwind tbh
|
2025-11-15 11:22:41 +01:00 |
|
Kharec
|
6a513bbcac
|
refactor: simplify return in ValidateFuzzInputStrict()
|
2025-11-14 07:16:54 +01:00 |
|
Kharec
|
69e61c5811
|
feat: use SplitSeq
|
2025-11-14 07:16:20 +01:00 |
|
Kharec
|
9dfef1d67f
|
refactor: replace if/else chain with switch statement
|
2025-11-14 06:59:47 +01:00 |
|
Kharec
|
e171776055
|
refactor: replace if/else chain with switch statement
|
2025-11-14 06:59:18 +01:00 |
|
Kharec
|
1f703fb8c0
|
clean: remove dead code and now unused functions and types
|
2025-11-14 06:58:05 +01:00 |
|
Kharec
|
ba17fa1b5a
|
clean: remove now unused helpers
|
2025-11-14 06:50:14 +01:00 |
|
Kharec
|
8b01f79c8e
|
fix: use .Pointer
|
2025-11-13 19:33:07 +01:00 |
|
Kharec
|
34b7c509ec
|
feat: use createUserWithCleanup for automatic test cleanup
|
2025-11-13 08:17:27 +01:00 |
|
Kharec
|
32eeb76ee9
|
fix: check for empty header in assertHeader()
|
2025-11-13 08:17:11 +01:00 |
|
Kharec
|
b2d255cc0d
|
refactor: use assertCookie and createUserWithCleanup helpers
|
2025-11-13 08:16:06 +01:00 |
|
Kharec
|
ff73d2919d
|
refactor: use assertHeader and createUserWithCleanup helpers
|
2025-11-13 08:15:56 +01:00 |
|
Kharec
|
5725cf21ce
|
refactor: use assertHeader helper for Retry-After check
|
2025-11-13 08:15:35 +01:00 |
|
Kharec
|
ac81ce66ff
|
refactor: use assertCookie helper for auth token check
|
2025-11-13 08:15:21 +01:00 |
|
Kharec
|
aeee85934c
|
refactor: use createUserWithCleanup for automatic test cleanup
|
2025-11-13 08:15:07 +01:00 |
|
Kharec
|
6b63cacf14
|
refactor: use assertHeaderContains helper for compression header checks
|
2025-11-13 08:14:45 +01:00 |
|
Kharec
|
006609545c
|
refactor: use newRouterConfigBuilder()
|
2025-11-13 08:07:11 +01:00 |
|
Kharec
|
2755f727f2
|
feat: create routerConfigBuilder along with a builder function
|
2025-11-13 08:06:57 +01:00 |
|
Kharec
|
4faf16c84b
|
refactor: use switch on vote.Type
|
2025-11-13 08:02:52 +01:00 |
|
Kharec
|
028bde4737
|
refactor: extract common setup logic
|
2025-11-13 08:02:45 +01:00 |
|
Kharec
|
a435e55776
|
refactor: simplify fuzz tests to use package-based discovery
|
2025-11-12 07:09:07 +01:00 |
|
Kharec
|
b9d59cef4e
|
tests: combining the fuzz case lists into a single variable
|
2025-11-12 07:04:26 +01:00 |
|
Kharec
|
ded77dd8cc
|
build: declare targets directly
|
2025-11-12 07:02:52 +01:00 |
|
Kharec
|
221f828860
|
clean: remove obsoletes tests
|
2025-11-11 16:19:26 +01:00 |
|
Kharec
|
c2d4357262
|
feat: keep only one method to get title of a page
|
2025-11-11 16:19:09 +01:00 |
|
Kharec
|
325cbe9c2c
|
refactor: validateURLForSSRF()
|
2025-11-11 16:10:20 +01:00 |
|
Kharec
|
0026d0d645
|
feat: update example env
|
2025-11-11 04:46:13 +01:00 |
|
Kharec
|
2ef6494a90
|
feat: double default RateLimit values
|
2025-11-11 04:46:05 +01:00 |
|
Kharec
|
413cf51f74
|
fix: update obsolete repository link
|
2025-11-11 04:32:25 +01:00 |
|
Kharec
|
6426419b8b
|
tests: add an unit test for APIHandler MountRoutes()
|
2025-11-11 04:26:33 +01:00 |
|
Kharec
|
7518896cfe
|
feat: make APIHandler consistent with other handlers
|
2025-11-11 04:20:59 +01:00 |
|
Kharec
|
408b0000c8
|
feat: mount /api in API handler
|
2025-11-11 04:20:03 +01:00 |
|
Kharec
|
ab4da45de2
|
docs: providing further details on rate limiting in env
|
2025-11-11 04:12:04 +01:00 |
|
Kharec
|
d1bcc83093
|
fix: remove remnants
|
2025-11-10 22:13:38 +01:00 |
|
Kharec
|
c7cb67a636
|
fix: take todo out of versionning
|
2025-11-10 22:12:48 +01:00 |
|
Kharec
|
f19a648821
|
docs: update readme
|
2025-11-10 22:11:00 +01:00 |
|
Kharec
|
00b306afc9
|
docs: update readme with screenshots
|
2025-11-10 22:09:09 +01:00 |
|
Kharec
|
dbd3a2e85f
|
feat: add app screenshots
|
2025-11-10 22:06:57 +01:00 |
|
Kharec
|
0372845345
|
docs: add readme.md
|
2025-11-10 22:06:48 +01:00 |
|
Kharec
|
a170085b89
|
feat: update swagger using script
|
2025-11-10 21:44:48 +01:00 |
|
Kharec
|
78989eb9f8
|
fix: update route in swagger annotations
|
2025-11-10 21:44:33 +01:00 |
|
Kharec
|
22d5773c7c
|
fix: add missing swagger annotation for /api, /health and /metrics
|
2025-11-10 21:43:53 +01:00 |
|
Kharec
|
1338447524
|
remove: empty field
|
2025-11-10 19:16:32 +01:00 |
|
Kharec
|
1f08fc4fd9
|
fix: closure
|
2025-11-10 19:16:08 +01:00 |
|
Kharec
|
e79adca357
|
fix: typo in readme
|
2025-11-10 19:14:50 +01:00 |
|
Kharec
|
ed915fb98d
|
obsolete: coverage tool
|
2025-11-10 19:13:20 +01:00 |
|
Kharec
|
a2b194b4a2
|
git: add ignore
|
2025-11-10 19:12:51 +01:00 |
|
Kharec
|
64f52e627c
|
feat: add .env.example
|
2025-11-10 19:12:46 +01:00 |
|
Kharec
|
1f994bec36
|
feat: add postgres install helper
|
2025-11-10 19:12:40 +01:00 |
|
Kharec
|
71a031342b
|
To gitea and beyond, let's go(-yco)
|
2025-11-10 19:12:09 +01:00 |
|
Kharec
|
8f6133392d
|
docs: add license
|
2025-11-08 13:41:51 +01:00 |
|