diff --git a/.goreleaser.yml b/.goreleaser.yml index bde0d96..4d1fc8a 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -9,7 +9,7 @@ builds: main: ./cmd/api binary: apocapoc-api env: - - CGO_ENABLED=1 + - CGO_ENABLED=0 goos: - linux goarch: @@ -17,6 +17,8 @@ builds: - arm64 ldflags: - -s -w + tags: + - sqlite_omit_load_extension archives: - id: apocapoc-api diff --git a/coverage.out b/coverage.out new file mode 100644 index 0000000..fbc5d62 --- /dev/null +++ b/coverage.out @@ -0,0 +1,241 @@ +mode: set +apocapoc-api/internal/application/commands/archive_habit.go:19.90,23.2 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:25.90,27.16 2 1 +apocapoc-api/internal/application/commands/archive_habit.go:27.16,29.3 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:31.2,31.32 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:31.32,33.3 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:35.2,37.39 2 1 +apocapoc-api/internal/application/commands/create_habit.go:29.88,31.2 1 1 +apocapoc-api/internal/application/commands/create_habit.go:33.98,34.25 1 1 +apocapoc-api/internal/application/commands/create_habit.go:34.25,36.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:38.2,38.30 1 1 +apocapoc-api/internal/application/commands/create_habit.go:38.30,40.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:42.2,42.82 1 1 +apocapoc-api/internal/application/commands/create_habit.go:42.82,44.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:46.2,46.84 1 1 +apocapoc-api/internal/application/commands/create_habit.go:46.84,48.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:50.2,56.55 6 1 +apocapoc-api/internal/application/commands/create_habit.go:56.55,58.3 1 0 +apocapoc-api/internal/application/commands/create_habit.go:60.2,60.22 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:29.21,34.2 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:36.84,38.16 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:38.16,40.3 1 0 +apocapoc-api/internal/application/commands/mark_habit.go:42.2,42.18 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:42.18,44.3 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:46.2,46.23 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:46.23,48.3 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:50.2,50.70 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:50.70,51.43 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:51.43,53.4 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:56.2,58.50 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:58.50,64.31 4 1 +apocapoc-api/internal/application/commands/mark_habit.go:64.31,68.24 3 1 +apocapoc-api/internal/application/commands/mark_habit.go:68.24,70.5 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:72.4,73.34 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:73.34,75.5 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:75.10,77.5 1 0 +apocapoc-api/internal/application/commands/mark_habit.go:79.4,79.20 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:79.20,81.5 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:83.4,87.49 4 1 +apocapoc-api/internal/application/commands/mark_habit.go:88.9,89.24 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:89.24,91.18 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:91.18,93.6 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:94.5,94.24 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:95.10,98.5 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:100.8,102.3 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:104.2,106.39 2 1 +apocapoc-api/internal/application/commands/register_user.go:24.128,29.2 1 1 +apocapoc-api/internal/application/commands/register_user.go:31.100,32.95 1 1 +apocapoc-api/internal/application/commands/register_user.go:32.95,34.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:36.2,37.21 2 1 +apocapoc-api/internal/application/commands/register_user.go:37.21,39.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:41.2,42.16 2 1 +apocapoc-api/internal/application/commands/register_user.go:42.16,44.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:46.2,48.53 2 1 +apocapoc-api/internal/application/commands/register_user.go:48.53,50.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:52.2,52.21 1 1 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:18.110,22.2 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:24.96,25.22 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:25.22,27.3 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:29.2,29.62 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:18.102,22.2 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:24.88,25.28 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:25.28,27.3 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:29.2,29.64 1 0 +apocapoc-api/internal/application/commands/unmark_habit.go:25.23,30.2 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:32.88,34.16 2 1 +apocapoc-api/internal/application/commands/unmark_habit.go:34.16,36.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:38.2,38.32 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:38.32,40.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:42.2,52.16 4 1 +apocapoc-api/internal/application/commands/unmark_habit.go:52.16,54.3 1 0 +apocapoc-api/internal/application/commands/unmark_habit.go:56.2,57.32 2 1 +apocapoc-api/internal/application/commands/unmark_habit.go:57.32,58.51 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:58.51,60.9 2 1 +apocapoc-api/internal/application/commands/unmark_habit.go:64.2,64.25 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:64.25,66.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:68.2,68.47 1 1 +apocapoc-api/internal/application/commands/update_habit.go:26.88,30.2 1 1 +apocapoc-api/internal/application/commands/update_habit.go:32.88,33.39 1 1 +apocapoc-api/internal/application/commands/update_habit.go:33.39,35.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:37.2,38.16 2 1 +apocapoc-api/internal/application/commands/update_habit.go:38.16,40.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:42.2,42.32 1 1 +apocapoc-api/internal/application/commands/update_habit.go:42.32,44.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:46.2,46.23 1 1 +apocapoc-api/internal/application/commands/update_habit.go:46.23,48.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:50.2,57.39 7 1 +apocapoc-api/internal/domain/entities/habit.go:32.10,42.2 1 1 +apocapoc-api/internal/domain/entities/habit.go:44.27,47.2 2 1 +apocapoc-api/internal/domain/entities/habit.go:49.33,51.2 1 1 +apocapoc-api/internal/domain/entities/habit_entry.go:13.89,20.2 1 1 +apocapoc-api/internal/domain/entities/refresh_token.go:14.79,22.2 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:24.40,25.25 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:25.25,27.3 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:28.2,28.40 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:31.34,34.2 2 0 +apocapoc-api/internal/domain/entities/user.go:14.58,16.20 2 1 +apocapoc-api/internal/domain/entities/user.go:16.20,18.3 1 1 +apocapoc-api/internal/domain/entities/user.go:19.2,25.3 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:19.90,23.2 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:25.103,27.16 2 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:27.16,29.3 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:31.2,31.34 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:31.34,33.3 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:35.2,44.8 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:44.27,49.2 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:51.122,53.16 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:53.16,55.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:57.2,57.34 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:57.34,59.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:61.2,62.42 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:62.42,64.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:66.2,67.42 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:67.42,69.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:69.8,69.32 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:69.32,71.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:73.2,73.44 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:73.44,75.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:77.2,79.42 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:79.42,81.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:81.8,81.30 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:81.30,83.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:83.8,83.28 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:83.28,85.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:85.8,87.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:89.2,89.16 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:89.16,91.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:93.2,95.21 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:95.21,97.17 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:97.17,99.4 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:100.3,101.28 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:101.28,102.26 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:102.26,104.5 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:105.4,105.33 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:106.9,108.4 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:111.2,112.32 2 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:112.32,120.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:122.2,127.8 1 1 +apocapoc-api/internal/application/queries/get_habit_stats.go:36.25,41.2 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:43.110,45.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:45.16,47.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:49.2,49.34 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:49.34,51.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:53.2,54.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:54.16,56.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:58.2,63.23 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:63.23,65.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:67.2,74.19 7 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:77.65,78.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:78.23,80.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:82.2,83.32 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:83.32,86.3 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:88.2,91.6 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:91.6,93.24 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:93.24,94.9 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:96.3,97.46 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:100.2,100.15 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:103.65,104.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:104.23,106.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:108.2,110.32 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:110.32,113.24 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:113.24,116.4 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:119.2,119.21 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:119.21,121.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:123.2,126.34 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:126.34,128.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:128.16,130.37 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:130.37,132.5 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:133.9,135.4 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:138.2,138.22 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:141.91,142.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:142.23,144.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:146.2,147.28 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:147.28,149.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:151.2,152.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:152.16,154.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:156.2,156.13 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:159.77,163.32 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:163.32,164.40 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:164.40,166.4 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:169.2,169.14 1 0 +apocapoc-api/internal/application/queries/get_todays_habits.go:36.27,41.2 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:46.29,48.16 2 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:48.16,50.3 1 0 +apocapoc-api/internal/application/queries/get_todays_habits.go:52.2,54.31 2 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:54.31,62.40 2 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:62.40,63.12 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:66.3,74.33 3 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:74.33,75.45 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:75.45,77.10 2 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:81.3,81.19 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:81.19,91.4 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:94.2,94.20 1 1 +apocapoc-api/internal/application/queries/get_user_habits.go:29.92,33.2 1 1 +apocapoc-api/internal/application/queries/get_user_habits.go:35.106,37.16 2 1 +apocapoc-api/internal/application/queries/get_user_habits.go:37.16,39.3 1 0 +apocapoc-api/internal/application/queries/get_user_habits.go:41.2,42.31 2 1 +apocapoc-api/internal/application/queries/get_user_habits.go:42.31,53.3 1 1 +apocapoc-api/internal/application/queries/get_user_habits.go:55.2,55.20 1 1 +apocapoc-api/internal/application/queries/login_user.go:27.122,32.2 1 0 +apocapoc-api/internal/application/queries/login_user.go:34.104,35.47 1 0 +apocapoc-api/internal/application/queries/login_user.go:35.47,37.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:39.2,40.16 2 0 +apocapoc-api/internal/application/queries/login_user.go:40.16,42.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:44.2,44.84 1 0 +apocapoc-api/internal/application/queries/login_user.go:44.84,46.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:48.2,52.8 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:33.24,38.2 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:40.113,41.30 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:41.30,43.3 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:45.2,46.16 2 1 +apocapoc-api/internal/application/queries/refresh_token.go:46.16,48.3 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:50.2,50.29 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:50.29,52.3 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:54.2,55.16 2 1 +apocapoc-api/internal/application/queries/refresh_token.go:55.16,57.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:59.2,63.8 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:66.45,68.40 2 0 +apocapoc-api/internal/application/queries/refresh_token.go:68.40,70.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:71.2,71.50 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:74.102,76.16 2 0 +apocapoc-api/internal/application/queries/refresh_token.go:76.16,78.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:80.2,81.64 2 0 +apocapoc-api/internal/domain/value_objects/frequency.go:16.35,17.11 1 1 +apocapoc-api/internal/domain/value_objects/frequency.go:18.57,19.14 1 1 +apocapoc-api/internal/domain/value_objects/frequency.go:21.2,21.14 1 1 +apocapoc-api/internal/domain/value_objects/frequency.go:24.50,26.2 1 1 +apocapoc-api/internal/domain/value_objects/frequency.go:28.54,30.49 2 1 +apocapoc-api/internal/domain/value_objects/frequency.go:30.49,32.3 1 0 +apocapoc-api/internal/domain/value_objects/frequency.go:34.2,35.18 2 1 +apocapoc-api/internal/domain/value_objects/frequency.go:35.18,37.3 1 1 +apocapoc-api/internal/domain/value_objects/frequency.go:39.2,39.12 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:16.36,17.12 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:18.58,19.14 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:21.2,21.14 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:24.51,26.2 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:28.55,30.49 2 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:30.49,32.3 1 0 +apocapoc-api/internal/domain/value_objects/habit_type.go:34.2,35.19 2 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:35.19,37.3 1 1 +apocapoc-api/internal/domain/value_objects/habit_type.go:39.2,39.12 1 1 diff --git a/coverage.txt b/coverage.txt new file mode 100644 index 0000000..ccd5b90 --- /dev/null +++ b/coverage.txt @@ -0,0 +1,730 @@ +mode: atomic +apocapoc-api/cmd/api/main.go:38.13,40.16 2 0 +apocapoc-api/cmd/api/main.go:40.16,42.3 1 0 +apocapoc-api/cmd/api/main.go:44.2,45.16 2 0 +apocapoc-api/cmd/api/main.go:45.16,47.3 1 0 +apocapoc-api/cmd/api/main.go:48.2,51.16 3 0 +apocapoc-api/cmd/api/main.go:51.16,53.3 1 0 +apocapoc-api/cmd/api/main.go:55.2,56.16 2 0 +apocapoc-api/cmd/api/main.go:56.16,58.3 1 0 +apocapoc-api/cmd/api/main.go:60.2,94.58 29 0 +apocapoc-api/cmd/api/main.go:94.58,96.3 1 0 +apocapoc-api/cmd/api/main.go:99.49,101.36 2 0 +apocapoc-api/cmd/api/main.go:101.36,104.3 2 0 +apocapoc-api/cmd/api/main.go:105.2,105.68 1 0 +apocapoc-api/cmd/api/main.go:108.60,110.38 2 0 +apocapoc-api/cmd/api/main.go:110.38,113.17 3 0 +apocapoc-api/cmd/api/main.go:113.17,115.4 1 0 +apocapoc-api/cmd/api/main.go:116.3,116.48 1 0 +apocapoc-api/cmd/api/main.go:118.2,118.38 1 0 +apocapoc-api/cmd/api/main.go:118.38,121.17 3 0 +apocapoc-api/cmd/api/main.go:121.17,123.4 1 0 +apocapoc-api/cmd/api/main.go:124.3,124.45 1 0 +apocapoc-api/cmd/api/main.go:126.2,126.38 1 0 +apocapoc-api/cmd/api/main.go:126.38,129.17 3 0 +apocapoc-api/cmd/api/main.go:129.17,131.4 1 0 +apocapoc-api/cmd/api/main.go:132.3,132.50 1 0 +apocapoc-api/cmd/api/main.go:134.2,134.84 1 0 +apocapoc-api/docs/docs.go:1223.13,1225.2 1 0 +apocapoc-api/internal/application/queries/get_habit_by_id.go:19.90,23.2 1 3 +apocapoc-api/internal/application/queries/get_habit_by_id.go:25.103,27.16 2 3 +apocapoc-api/internal/application/queries/get_habit_by_id.go:27.16,29.3 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:31.2,31.34 1 2 +apocapoc-api/internal/application/queries/get_habit_by_id.go:31.34,33.3 1 1 +apocapoc-api/internal/application/queries/get_habit_by_id.go:35.2,44.8 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:44.27,49.2 1 7 +apocapoc-api/internal/application/queries/get_habit_entries.go:51.122,53.16 2 7 +apocapoc-api/internal/application/queries/get_habit_entries.go:53.16,55.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:57.2,57.34 1 6 +apocapoc-api/internal/application/queries/get_habit_entries.go:57.34,59.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:61.2,62.42 2 5 +apocapoc-api/internal/application/queries/get_habit_entries.go:62.42,64.3 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:66.2,67.42 2 5 +apocapoc-api/internal/application/queries/get_habit_entries.go:67.42,69.3 1 3 +apocapoc-api/internal/application/queries/get_habit_entries.go:69.8,69.32 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:69.32,71.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:73.2,73.44 1 5 +apocapoc-api/internal/application/queries/get_habit_entries.go:73.44,75.3 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:77.2,79.42 2 3 +apocapoc-api/internal/application/queries/get_habit_entries.go:79.42,81.3 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:81.8,81.30 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:81.30,83.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:83.8,83.28 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:83.28,85.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:85.8,87.3 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:89.2,89.16 1 3 +apocapoc-api/internal/application/queries/get_habit_entries.go:89.16,91.3 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:93.2,95.21 2 3 +apocapoc-api/internal/application/queries/get_habit_entries.go:95.21,97.17 2 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:97.17,99.4 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:100.3,101.28 2 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:101.28,102.26 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:102.26,104.5 1 1 +apocapoc-api/internal/application/queries/get_habit_entries.go:105.4,105.33 1 2 +apocapoc-api/internal/application/queries/get_habit_entries.go:106.9,108.4 1 0 +apocapoc-api/internal/application/queries/get_habit_entries.go:111.2,112.32 2 3 +apocapoc-api/internal/application/queries/get_habit_entries.go:112.32,120.3 1 6 +apocapoc-api/internal/application/queries/get_habit_entries.go:122.2,127.8 1 3 +apocapoc-api/internal/application/queries/get_habit_stats.go:36.25,41.2 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:43.110,45.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:45.16,47.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:49.2,49.34 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:49.34,51.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:53.2,54.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:54.16,56.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:58.2,63.23 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:63.23,65.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:67.2,74.19 7 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:77.65,78.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:78.23,80.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:82.2,83.32 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:83.32,86.3 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:88.2,91.6 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:91.6,93.24 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:93.24,94.9 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:96.3,97.46 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:100.2,100.15 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:103.65,104.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:104.23,106.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:108.2,110.32 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:110.32,113.24 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:113.24,116.4 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:119.2,119.21 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:119.21,121.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:123.2,126.34 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:126.34,128.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:128.16,130.37 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:130.37,132.5 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:133.9,135.4 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:138.2,138.22 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:141.91,142.23 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:142.23,144.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:146.2,147.28 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:147.28,149.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:151.2,152.16 2 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:152.16,154.3 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:156.2,156.13 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:159.77,163.32 3 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:163.32,164.40 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:164.40,166.4 1 0 +apocapoc-api/internal/application/queries/get_habit_stats.go:169.2,169.14 1 0 +apocapoc-api/internal/application/queries/get_todays_habits.go:36.27,41.2 1 6 +apocapoc-api/internal/application/queries/get_todays_habits.go:46.29,48.16 2 6 +apocapoc-api/internal/application/queries/get_todays_habits.go:48.16,50.3 1 0 +apocapoc-api/internal/application/queries/get_todays_habits.go:52.2,54.31 2 6 +apocapoc-api/internal/application/queries/get_todays_habits.go:54.31,62.40 2 6 +apocapoc-api/internal/application/queries/get_todays_habits.go:62.40,63.12 1 2 +apocapoc-api/internal/application/queries/get_todays_habits.go:66.3,74.33 3 4 +apocapoc-api/internal/application/queries/get_todays_habits.go:74.33,75.45 1 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:75.45,77.10 2 1 +apocapoc-api/internal/application/queries/get_todays_habits.go:81.3,81.19 1 4 +apocapoc-api/internal/application/queries/get_todays_habits.go:81.19,91.4 1 3 +apocapoc-api/internal/application/queries/get_todays_habits.go:94.2,94.20 1 6 +apocapoc-api/internal/application/queries/get_user_habits.go:29.92,33.2 1 3 +apocapoc-api/internal/application/queries/get_user_habits.go:35.106,37.16 2 3 +apocapoc-api/internal/application/queries/get_user_habits.go:37.16,39.3 1 0 +apocapoc-api/internal/application/queries/get_user_habits.go:41.2,42.31 2 3 +apocapoc-api/internal/application/queries/get_user_habits.go:42.31,53.3 1 3 +apocapoc-api/internal/application/queries/get_user_habits.go:55.2,55.20 1 3 +apocapoc-api/internal/application/queries/login_user.go:27.122,32.2 1 0 +apocapoc-api/internal/application/queries/login_user.go:34.104,35.47 1 0 +apocapoc-api/internal/application/queries/login_user.go:35.47,37.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:39.2,40.16 2 0 +apocapoc-api/internal/application/queries/login_user.go:40.16,42.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:44.2,44.84 1 0 +apocapoc-api/internal/application/queries/login_user.go:44.84,46.3 1 0 +apocapoc-api/internal/application/queries/login_user.go:48.2,52.8 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:33.24,38.2 1 5 +apocapoc-api/internal/application/queries/refresh_token.go:40.113,41.30 1 5 +apocapoc-api/internal/application/queries/refresh_token.go:41.30,43.3 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:45.2,46.16 2 4 +apocapoc-api/internal/application/queries/refresh_token.go:46.16,48.3 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:50.2,50.29 1 3 +apocapoc-api/internal/application/queries/refresh_token.go:50.29,52.3 1 2 +apocapoc-api/internal/application/queries/refresh_token.go:54.2,55.16 2 1 +apocapoc-api/internal/application/queries/refresh_token.go:55.16,57.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:59.2,63.8 1 1 +apocapoc-api/internal/application/queries/refresh_token.go:66.45,68.40 2 0 +apocapoc-api/internal/application/queries/refresh_token.go:68.40,70.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:71.2,71.50 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:74.102,76.16 2 0 +apocapoc-api/internal/application/queries/refresh_token.go:76.16,78.3 1 0 +apocapoc-api/internal/application/queries/refresh_token.go:80.2,81.64 2 0 +apocapoc-api/internal/application/commands/archive_habit.go:19.90,23.2 1 4 +apocapoc-api/internal/application/commands/archive_habit.go:25.90,27.16 2 4 +apocapoc-api/internal/application/commands/archive_habit.go:27.16,29.3 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:31.2,31.32 1 3 +apocapoc-api/internal/application/commands/archive_habit.go:31.32,33.3 1 1 +apocapoc-api/internal/application/commands/archive_habit.go:35.2,37.39 2 2 +apocapoc-api/internal/application/commands/create_habit.go:29.88,31.2 1 8 +apocapoc-api/internal/application/commands/create_habit.go:33.98,34.25 1 8 +apocapoc-api/internal/application/commands/create_habit.go:34.25,36.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:38.2,38.30 1 7 +apocapoc-api/internal/application/commands/create_habit.go:38.30,40.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:42.2,42.82 1 6 +apocapoc-api/internal/application/commands/create_habit.go:42.82,44.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:46.2,46.84 1 5 +apocapoc-api/internal/application/commands/create_habit.go:46.84,48.3 1 1 +apocapoc-api/internal/application/commands/create_habit.go:50.2,56.55 6 4 +apocapoc-api/internal/application/commands/create_habit.go:56.55,58.3 1 0 +apocapoc-api/internal/application/commands/create_habit.go:60.2,60.22 1 4 +apocapoc-api/internal/application/commands/mark_habit.go:29.21,34.2 1 14 +apocapoc-api/internal/application/commands/mark_habit.go:36.84,38.16 2 14 +apocapoc-api/internal/application/commands/mark_habit.go:38.16,40.3 1 0 +apocapoc-api/internal/application/commands/mark_habit.go:42.2,42.18 1 14 +apocapoc-api/internal/application/commands/mark_habit.go:42.18,44.3 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:46.2,46.23 1 13 +apocapoc-api/internal/application/commands/mark_habit.go:46.23,48.3 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:50.2,50.70 1 12 +apocapoc-api/internal/application/commands/mark_habit.go:50.70,51.43 1 7 +apocapoc-api/internal/application/commands/mark_habit.go:51.43,53.4 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:56.2,58.50 2 11 +apocapoc-api/internal/application/commands/mark_habit.go:58.50,64.31 4 8 +apocapoc-api/internal/application/commands/mark_habit.go:64.31,68.24 3 5 +apocapoc-api/internal/application/commands/mark_habit.go:68.24,70.5 1 4 +apocapoc-api/internal/application/commands/mark_habit.go:72.4,73.34 2 5 +apocapoc-api/internal/application/commands/mark_habit.go:73.34,75.5 1 5 +apocapoc-api/internal/application/commands/mark_habit.go:75.10,77.5 1 0 +apocapoc-api/internal/application/commands/mark_habit.go:79.4,79.20 1 5 +apocapoc-api/internal/application/commands/mark_habit.go:79.20,81.5 1 2 +apocapoc-api/internal/application/commands/mark_habit.go:83.4,87.49 4 5 +apocapoc-api/internal/application/commands/mark_habit.go:88.9,89.24 1 3 +apocapoc-api/internal/application/commands/mark_habit.go:89.24,91.18 2 2 +apocapoc-api/internal/application/commands/mark_habit.go:91.18,93.6 1 1 +apocapoc-api/internal/application/commands/mark_habit.go:94.5,94.24 1 2 +apocapoc-api/internal/application/commands/mark_habit.go:95.10,98.5 2 1 +apocapoc-api/internal/application/commands/mark_habit.go:100.8,102.3 1 3 +apocapoc-api/internal/application/commands/mark_habit.go:104.2,106.39 2 6 +apocapoc-api/internal/application/commands/register_user.go:24.128,29.2 1 8 +apocapoc-api/internal/application/commands/register_user.go:31.100,32.95 1 27 +apocapoc-api/internal/application/commands/register_user.go:32.95,34.3 1 18 +apocapoc-api/internal/application/commands/register_user.go:36.2,37.21 2 9 +apocapoc-api/internal/application/commands/register_user.go:37.21,39.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:41.2,42.16 2 8 +apocapoc-api/internal/application/commands/register_user.go:42.16,44.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:46.2,48.53 2 7 +apocapoc-api/internal/application/commands/register_user.go:48.53,50.3 1 1 +apocapoc-api/internal/application/commands/register_user.go:52.2,52.21 1 6 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:18.110,22.2 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:24.96,25.22 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:25.22,27.3 1 0 +apocapoc-api/internal/application/commands/revoke_all_tokens.go:29.2,29.62 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:18.102,22.2 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:24.88,25.28 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:25.28,27.3 1 0 +apocapoc-api/internal/application/commands/revoke_token.go:29.2,29.64 1 0 +apocapoc-api/internal/application/commands/unmark_habit.go:25.23,30.2 1 4 +apocapoc-api/internal/application/commands/unmark_habit.go:32.88,34.16 2 4 +apocapoc-api/internal/application/commands/unmark_habit.go:34.16,36.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:38.2,38.32 1 3 +apocapoc-api/internal/application/commands/unmark_habit.go:38.32,40.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:42.2,52.16 4 2 +apocapoc-api/internal/application/commands/unmark_habit.go:52.16,54.3 1 0 +apocapoc-api/internal/application/commands/unmark_habit.go:56.2,57.32 2 2 +apocapoc-api/internal/application/commands/unmark_habit.go:57.32,58.51 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:58.51,60.9 2 1 +apocapoc-api/internal/application/commands/unmark_habit.go:64.2,64.25 1 2 +apocapoc-api/internal/application/commands/unmark_habit.go:64.25,66.3 1 1 +apocapoc-api/internal/application/commands/unmark_habit.go:68.2,68.47 1 1 +apocapoc-api/internal/application/commands/update_habit.go:26.88,30.2 1 5 +apocapoc-api/internal/application/commands/update_habit.go:32.88,33.39 1 5 +apocapoc-api/internal/application/commands/update_habit.go:33.39,35.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:37.2,38.16 2 4 +apocapoc-api/internal/application/commands/update_habit.go:38.16,40.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:42.2,42.32 1 3 +apocapoc-api/internal/application/commands/update_habit.go:42.32,44.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:46.2,46.23 1 2 +apocapoc-api/internal/application/commands/update_habit.go:46.23,48.3 1 1 +apocapoc-api/internal/application/commands/update_habit.go:50.2,57.39 7 1 +apocapoc-api/internal/infrastructure/auth/jwt.go:21.64,26.2 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:28.74,40.2 3 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:42.73,43.104 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:43.104,44.58 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:44.58,46.4 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:47.3,47.23 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:50.2,50.16 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:50.16,52.3 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:54.2,54.61 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:54.61,56.3 1 0 +apocapoc-api/internal/infrastructure/auth/jwt.go:58.2,58.41 1 0 +apocapoc-api/internal/infrastructure/config/config.go:21.30,35.22 3 0 +apocapoc-api/internal/infrastructure/config/config.go:35.22,37.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:38.2,38.25 1 0 +apocapoc-api/internal/infrastructure/config/config.go:38.25,40.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:41.2,41.25 1 0 +apocapoc-api/internal/infrastructure/config/config.go:41.25,43.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:44.2,44.34 1 0 +apocapoc-api/internal/infrastructure/config/config.go:44.34,46.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:47.2,47.27 1 0 +apocapoc-api/internal/infrastructure/config/config.go:47.27,49.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:50.2,50.31 1 0 +apocapoc-api/internal/infrastructure/config/config.go:50.31,52.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:54.2,54.17 1 0 +apocapoc-api/internal/infrastructure/config/config.go:57.55,58.42 1 0 +apocapoc-api/internal/infrastructure/config/config.go:58.42,60.3 1 0 +apocapoc-api/internal/infrastructure/config/config.go:61.2,61.21 1 0 +apocapoc-api/internal/infrastructure/crypto/bcrypt_hasher.go:11.48,13.2 1 0 +apocapoc-api/internal/infrastructure/crypto/bcrypt_hasher.go:15.62,17.16 2 0 +apocapoc-api/internal/infrastructure/crypto/bcrypt_hasher.go:17.16,19.3 1 0 +apocapoc-api/internal/infrastructure/crypto/bcrypt_hasher.go:20.2,20.33 1 0 +apocapoc-api/internal/infrastructure/crypto/bcrypt_hasher.go:23.71,25.2 1 0 +apocapoc-api/internal/domain/entities/habit.go:32.10,42.2 1 5 +apocapoc-api/internal/domain/entities/habit.go:44.27,47.2 2 2 +apocapoc-api/internal/domain/entities/habit.go:49.33,51.2 1 2 +apocapoc-api/internal/domain/entities/habit_entry.go:13.89,20.2 1 2 +apocapoc-api/internal/domain/entities/refresh_token.go:14.79,22.2 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:24.40,25.25 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:25.25,27.3 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:28.2,28.40 1 0 +apocapoc-api/internal/domain/entities/refresh_token.go:31.34,34.2 2 0 +apocapoc-api/internal/domain/entities/user.go:14.58,16.20 2 2 +apocapoc-api/internal/domain/entities/user.go:16.20,18.3 1 1 +apocapoc-api/internal/domain/entities/user.go:19.2,25.3 1 2 +apocapoc-api/internal/domain/value_objects/frequency.go:16.35,17.11 1 12 +apocapoc-api/internal/domain/value_objects/frequency.go:18.57,19.14 1 7 +apocapoc-api/internal/domain/value_objects/frequency.go:21.2,21.14 1 5 +apocapoc-api/internal/domain/value_objects/frequency.go:24.50,26.2 1 4 +apocapoc-api/internal/domain/value_objects/frequency.go:28.54,30.49 2 6 +apocapoc-api/internal/domain/value_objects/frequency.go:30.49,32.3 1 0 +apocapoc-api/internal/domain/value_objects/frequency.go:34.2,35.18 2 6 +apocapoc-api/internal/domain/value_objects/frequency.go:35.18,37.3 1 2 +apocapoc-api/internal/domain/value_objects/frequency.go:39.2,39.12 1 4 +apocapoc-api/internal/domain/value_objects/habit_type.go:16.36,17.12 1 12 +apocapoc-api/internal/domain/value_objects/habit_type.go:18.58,19.14 1 7 +apocapoc-api/internal/domain/value_objects/habit_type.go:21.2,21.14 1 5 +apocapoc-api/internal/domain/value_objects/habit_type.go:24.51,26.2 1 4 +apocapoc-api/internal/domain/value_objects/habit_type.go:28.55,30.49 2 6 +apocapoc-api/internal/domain/value_objects/habit_type.go:30.49,32.3 1 0 +apocapoc-api/internal/domain/value_objects/habit_type.go:34.2,35.19 2 6 +apocapoc-api/internal/domain/value_objects/habit_type.go:35.19,37.3 1 2 +apocapoc-api/internal/domain/value_objects/habit_type.go:39.2,39.12 1 4 +apocapoc-api/internal/shared/utils/date_utils.go:10.8,11.19 1 10 +apocapoc-api/internal/shared/utils/date_utils.go:12.15,13.14 1 1 +apocapoc-api/internal/shared/utils/date_utils.go:14.16,16.41 2 4 +apocapoc-api/internal/shared/utils/date_utils.go:17.17,19.38 2 4 +apocapoc-api/internal/shared/utils/date_utils.go:21.2,21.14 1 1 +apocapoc-api/internal/shared/utils/date_utils.go:24.42,25.29 1 8 +apocapoc-api/internal/shared/utils/date_utils.go:25.29,26.18 1 14 +apocapoc-api/internal/shared/utils/date_utils.go:26.18,28.4 1 4 +apocapoc-api/internal/shared/utils/date_utils.go:30.2,30.14 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:16.52,18.30 2 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:18.30,19.48 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:19.48,21.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:24.2,25.16 2 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:25.16,27.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:29.2,31.36 2 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:31.36,33.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:35.2,35.44 1 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:35.44,37.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:39.2,39.35 1 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:42.35,44.2 1 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/database.go:46.36,48.2 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:19.64,21.2 1 7 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:23.94,39.16 4 12 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:39.16,40.35 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:40.35,42.4 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:43.3,43.55 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:46.2,46.12 1 11 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:53.35,68.16 3 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:68.16,70.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:71.2,73.28 2 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:76.94,84.16 3 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:84.16,86.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:88.2,89.15 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:89.15,91.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:93.2,93.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:96.92,99.18 2 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:99.18,113.17 3 6 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:113.17,115.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:117.3,118.17 2 6 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:118.17,120.18 2 6 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:120.18,122.5 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:124.3,126.36 2 6 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:129.2,129.21 1 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:132.103,152.26 4 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:152.26,154.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:155.2,155.16 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:155.16,157.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:159.2,160.16 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:160.16,162.17 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:162.17,164.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:166.2,168.20 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:171.115,180.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:180.16,182.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:183.2,185.28 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:188.144,198.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:198.16,200.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:201.2,203.28 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:206.77,210.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:210.16,212.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:214.2,215.15 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:215.15,217.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_entry_repository.go:219.2,219.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:19.54,21.2 1 8 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:23.84,51.16 6 8 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:51.16,53.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:55.2,55.12 1 8 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:58.93,90.26 4 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:90.26,92.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:93.2,93.16 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:93.16,95.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:97.2,97.24 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:97.24,99.3 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:100.2,100.25 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:100.25,102.3 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:103.2,103.22 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:103.22,105.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:107.2,107.20 1 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:110.109,121.16 3 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:121.16,123.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:124.2,126.27 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:129.84,155.16 5 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:155.16,157.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:159.2,160.15 2 4 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:160.15,162.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:164.2,164.12 1 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:167.81,170.18 2 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:170.18,194.17 3 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:194.17,196.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:198.3,198.25 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:198.25,200.4 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:201.3,201.26 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:201.26,203.4 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:204.3,204.23 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:204.23,206.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:208.3,208.34 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:211.2,211.20 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:214.103,225.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:225.16,227.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:228.2,230.27 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:233.72,237.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:237.16,239.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:241.2,242.15 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:242.15,244.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/habit_repository.go:246.2,246.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/migrations.go:7.38,16.39 2 34 +apocapoc-api/internal/infrastructure/persistence/sqlite/migrations.go:16.39,17.47 1 170 +apocapoc-api/internal/infrastructure/persistence/sqlite/migrations.go:17.47,19.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/migrations.go:21.2,21.12 1 34 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:19.68,21.2 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:23.98,40.16 4 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:40.16,42.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:44.2,44.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:47.113,66.26 5 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:66.26,68.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:69.2,69.16 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:69.16,71.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:73.2,73.21 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:73.21,75.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:77.2,77.17 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:80.117,89.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:89.16,91.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:92.2,95.18 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:95.18,107.17 4 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:107.17,109.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:111.3,111.22 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:111.22,113.4 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:115.3,115.31 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:118.2,118.20 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:121.89,129.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:129.16,131.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:133.2,134.15 2 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:134.15,136.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:138.2,138.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:141.94,149.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:149.16,151.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:153.2,153.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:156.75,163.16 3 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:163.16,165.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/refresh_token_repository.go:167.2,167.12 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:19.52,21.2 1 8 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:23.81,40.16 4 6 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:40.16,41.35 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:41.35,43.4 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:44.3,44.54 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:47.2,47.12 1 5 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:50.91,67.26 4 3 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:67.26,69.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:70.2,70.16 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:70.16,72.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:74.2,74.19 1 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:77.97,94.26 4 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:94.26,96.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:97.2,97.16 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:97.16,99.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:101.2,101.19 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:104.81,119.16 3 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:119.16,121.3 1 0 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:123.2,124.15 2 2 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:124.15,126.3 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:128.2,128.12 1 1 +apocapoc-api/internal/infrastructure/persistence/sqlite/user_repository.go:131.46,133.2 1 2 +apocapoc-api/internal/shared/validation/common_passwords.go:60.45,63.2 2 10 +apocapoc-api/internal/shared/validation/validator.go:19.41,21.2 1 12 +apocapoc-api/internal/shared/validation/validator.go:23.40,26.17 2 26 +apocapoc-api/internal/shared/validation/validator.go:26.17,28.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:30.2,30.22 1 24 +apocapoc-api/internal/shared/validation/validator.go:30.22,32.3 1 1 +apocapoc-api/internal/shared/validation/validator.go:34.2,34.36 1 23 +apocapoc-api/internal/shared/validation/validator.go:34.36,36.3 1 8 +apocapoc-api/internal/shared/validation/validator.go:38.2,39.24 2 15 +apocapoc-api/internal/shared/validation/validator.go:39.24,41.3 1 1 +apocapoc-api/internal/shared/validation/validator.go:43.2,43.12 1 14 +apocapoc-api/internal/shared/validation/validator.go:46.46,47.20 1 23 +apocapoc-api/internal/shared/validation/validator.go:47.20,49.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:51.2,51.23 1 21 +apocapoc-api/internal/shared/validation/validator.go:51.23,53.3 1 3 +apocapoc-api/internal/shared/validation/validator.go:55.2,55.25 1 18 +apocapoc-api/internal/shared/validation/validator.go:55.25,57.3 1 1 +apocapoc-api/internal/shared/validation/validator.go:59.2,66.32 2 17 +apocapoc-api/internal/shared/validation/validator.go:66.32,67.10 1 292 +apocapoc-api/internal/shared/validation/validator.go:68.30,69.19 1 58 +apocapoc-api/internal/shared/validation/validator.go:70.30,71.19 1 130 +apocapoc-api/internal/shared/validation/validator.go:72.30,73.19 1 58 +apocapoc-api/internal/shared/validation/validator.go:74.56,75.21 1 45 +apocapoc-api/internal/shared/validation/validator.go:79.2,79.15 1 17 +apocapoc-api/internal/shared/validation/validator.go:79.15,81.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:83.2,83.15 1 15 +apocapoc-api/internal/shared/validation/validator.go:83.15,85.3 1 1 +apocapoc-api/internal/shared/validation/validator.go:87.2,87.15 1 14 +apocapoc-api/internal/shared/validation/validator.go:87.15,89.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:91.2,91.17 1 12 +apocapoc-api/internal/shared/validation/validator.go:91.17,93.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:95.2,95.32 1 10 +apocapoc-api/internal/shared/validation/validator.go:95.32,97.3 1 0 +apocapoc-api/internal/shared/validation/validator.go:99.2,99.12 1 10 +apocapoc-api/internal/shared/validation/validator.go:102.46,105.20 2 18 +apocapoc-api/internal/shared/validation/validator.go:105.20,107.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:109.2,110.16 2 16 +apocapoc-api/internal/shared/validation/validator.go:110.16,112.3 1 7 +apocapoc-api/internal/shared/validation/validator.go:114.2,114.12 1 9 +apocapoc-api/internal/shared/validation/validator.go:117.67,118.45 1 9 +apocapoc-api/internal/shared/validation/validator.go:118.45,120.3 1 3 +apocapoc-api/internal/shared/validation/validator.go:122.2,122.51 1 6 +apocapoc-api/internal/shared/validation/validator.go:122.51,124.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:126.2,126.51 1 4 +apocapoc-api/internal/shared/validation/validator.go:126.51,128.3 1 2 +apocapoc-api/internal/shared/validation/validator.go:130.2,130.12 1 2 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:35.17,46.2 1 3 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:85.73,87.61 2 10 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:87.61,90.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:92.2,99.16 3 10 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:99.16,100.36 1 3 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:100.36,103.4 2 2 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:104.3,104.37 1 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:104.37,107.4 2 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:108.3,109.9 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:112.2,113.16 2 7 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:113.16,116.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:118.2,119.16 2 7 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:119.16,122.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:124.2,124.77 1 7 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:124.77,127.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:129.2,133.4 1 7 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:148.70,150.61 2 3 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:150.61,153.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:155.2,161.16 3 3 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:161.16,162.65 1 2 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:162.65,165.4 2 2 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:166.3,167.9 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:170.2,171.16 2 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:171.16,174.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:176.2,177.16 2 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:177.16,180.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:182.2,182.77 1 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:182.77,185.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:187.2,191.4 1 1 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:206.72,208.61 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:208.61,211.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:213.2,218.16 3 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:218.16,219.65 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:219.65,222.4 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:223.3,224.9 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:227.2,228.16 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:228.16,231.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:233.2,234.16 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:234.16,237.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:239.2,239.80 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:239.80,242.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:244.2,244.88 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:244.89,245.3 0 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:247.2,251.4 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:266.71,268.61 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:268.61,271.3 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:273.2,278.16 3 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:278.16,279.32 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:279.32,282.4 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:283.3,283.36 1 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:283.36,286.4 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:287.3,288.9 2 0 +apocapoc-api/internal/infrastructure/http/auth_handlers.go:291.2,293.4 1 0 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:15.82,16.46 1 6 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:16.46,17.72 1 6 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:17.72,19.24 2 19 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:19.24,22.5 2 1 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:24.4,25.47 2 18 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:25.47,28.5 2 0 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:30.4,32.18 3 18 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:32.18,35.5 2 0 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:37.4,38.41 2 18 +apocapoc-api/internal/infrastructure/http/auth_middleware.go:43.63,46.2 2 33 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:38.18,50.2 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:65.77,67.61 2 4 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:67.61,70.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:72.2,73.9 2 4 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:73.9,76.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:78.2,92.16 3 4 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:92.16,93.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:93.36,96.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:97.3,98.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:101.2,101.70 1 4 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:114.79,116.9 2 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:116.9,119.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:121.2,126.16 3 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:126.16,129.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:131.2,132.31 2 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:132.31,143.3 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:145.2,145.41 1 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:161.78,165.9 3 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:165.9,168.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:170.2,176.16 3 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:176.16,177.32 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:177.32,180.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:181.3,181.36 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:181.36,184.4 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:185.3,186.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:189.2,200.41 2 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:219.77,223.9 3 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:223.9,226.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:228.2,229.61 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:229.61,232.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:234.2,245.65 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:245.65,246.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:246.32,249.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:250.3,250.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:250.36,253.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:254.3,254.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:254.36,257.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:258.3,259.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:262.2,262.71 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:278.78,282.9 3 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:282.9,285.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:287.2,292.66 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:292.66,293.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:293.32,296.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:297.3,297.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:297.36,300.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:301.3,302.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:305.2,305.72 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:326.81,330.9 3 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:330.9,333.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:335.2,340.57 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:340.57,342.17 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:342.17,345.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:346.3,346.21 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:349.2,349.51 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:349.51,351.17 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:351.17,354.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:355.3,355.17 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:358.2,359.42 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:359.42,361.3 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:363.2,364.42 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:364.42,366.3 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:366.8,366.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:366.32,368.3 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:370.2,370.57 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:370.57,372.29 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:372.29,375.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:376.3,376.20 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:377.8,377.31 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:377.31,379.3 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:381.2,381.60 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:381.60,383.45 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:383.45,386.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:387.3,387.22 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:388.8,388.31 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:388.31,390.3 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:392.2,392.44 1 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:392.44,395.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:397.2,398.16 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:398.16,399.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:399.32,402.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:403.3,403.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:403.36,406.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:407.3,408.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:411.2,412.39 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:412.39,420.3 1 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:422.2,429.41 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:442.81,444.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:444.9,447.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:449.2,458.16 4 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:458.16,461.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:463.2,464.31 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:464.31,474.3 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:476.2,476.41 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:494.75,498.61 3 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:498.61,501.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:503.2,504.16 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:504.16,507.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:509.2,515.63 2 3 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:515.63,516.37 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:516.37,519.4 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:520.3,520.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:520.32,523.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:524.3,525.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:528.2,528.70 1 2 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:546.77,551.9 4 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:551.9,554.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:556.2,557.16 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:557.16,560.3 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:562.2,568.65 2 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:568.65,569.32 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:569.32,572.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:573.3,573.36 1 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:573.36,576.4 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:577.3,578.9 2 0 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:581.2,581.72 1 1 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:584.71,588.2 3 32 +apocapoc-api/internal/infrastructure/http/habit_handlers.go:590.70,592.2 1 8 +apocapoc-api/internal/infrastructure/http/health_handlers.go:15.52,19.2 1 3 +apocapoc-api/internal/infrastructure/http/health_handlers.go:35.73,40.36 4 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:40.36,44.3 3 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:46.2,55.38 4 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:58.45,66.11 7 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:66.11,68.3 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:69.2,69.11 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:69.11,71.3 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:72.2,72.32 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:75.48,76.16 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:76.16,78.3 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:79.2,79.32 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:82.30,83.12 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:83.12,85.3 1 0 +apocapoc-api/internal/infrastructure/http/health_handlers.go:86.2,86.56 1 0 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:13.130,17.63 1 6 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:17.63,19.11 2 18 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:19.11,21.5 1 0 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:22.4,22.32 1 18 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:24.74,28.4 3 0 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:31.2,31.46 1 6 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:31.46,32.72 1 6 +apocapoc-api/internal/infrastructure/http/rate_limit_middleware.go:32.72,36.4 2 18 +apocapoc-api/internal/infrastructure/http/router.go:18.194,30.69 5 3 +apocapoc-api/internal/infrastructure/http/router.go:30.69,32.3 1 0 +apocapoc-api/internal/infrastructure/http/router.go:33.2,39.45 3 3 +apocapoc-api/internal/infrastructure/http/router.go:39.45,45.3 5 3 +apocapoc-api/internal/infrastructure/http/router.go:47.2,47.47 1 3 +apocapoc-api/internal/infrastructure/http/router.go:47.47,60.3 11 3 +apocapoc-api/internal/infrastructure/http/router.go:62.2,62.46 1 3 +apocapoc-api/internal/infrastructure/http/router.go:62.46,66.3 3 3 +apocapoc-api/internal/infrastructure/http/router.go:68.2,68.10 1 3 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:18.18,22.2 1 3 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:37.79,41.9 3 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:41.9,44.3 2 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:46.2,52.16 3 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:52.16,53.32 1 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:53.32,56.4 2 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:57.3,57.36 1 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:57.36,60.4 2 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:61.3,62.9 2 0 +apocapoc-api/internal/infrastructure/http/stats_handlers.go:65.2,65.38 1 0 diff --git a/go.mod b/go.mod index 827c6da..d8082d7 100644 --- a/go.mod +++ b/go.mod @@ -11,24 +11,32 @@ require ( github.com/golang-jwt/jwt/v5 v5.3.0 github.com/google/uuid v1.6.0 github.com/joho/godotenv v1.5.1 - github.com/mattn/go-sqlite3 v1.14.32 github.com/swaggo/http-swagger v1.3.4 + github.com/swaggo/swag v1.16.4 golang.org/x/crypto v0.45.0 + modernc.org/sqlite v1.40.1 ) require ( github.com/KyleBanks/depth v1.2.1 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/spec v0.20.6 // indirect github.com/go-openapi/swag v0.19.15 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/mailru/easyjson v0.7.6 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/ncruces/go-strftime v0.1.9 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/swaggo/files v0.0.0-20220610200504-28940afbdbfe // indirect - github.com/swaggo/swag v1.16.4 // indirect + golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect golang.org/x/net v0.47.0 // indirect golang.org/x/sys v0.38.0 // indirect - golang.org/x/tools v0.7.0 // indirect + golang.org/x/tools v0.36.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + modernc.org/libc v1.66.10 // indirect + modernc.org/mathutil v1.7.1 // indirect + modernc.org/memory v1.11.0 // indirect ) diff --git a/go.sum b/go.sum index 6993573..5735573 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/go-chi/chi/v5 v5.2.3 h1:WQIt9uxdsAbgIYgid+BpYc+liqQZGMHRaUwp0JUcvdE= github.com/go-chi/chi/v5 v5.2.3/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= github.com/go-chi/cors v1.2.2 h1:Jmey33TE+b+rB7fT8MUy1u0I4L+NARQlK6LhzKPSyQE= @@ -24,6 +26,8 @@ github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyr github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= +github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= @@ -39,12 +43,16 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs= -github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= +github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -58,20 +66,25 @@ github.com/swaggo/swag v1.16.4 h1:clWJtd9LStiG3VeijiCfOVODP6VpHtKdQy9ELFG3s1A= github.com/swaggo/swag v1.16.4/go.mod h1:VBsHJRsDvfYvqoiMKnsdwhNV9LEMHgEDZcyVYX0sxPg= golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= -golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o= +golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= @@ -83,3 +96,29 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4= +modernc.org/cc/v4 v4.26.5/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= +modernc.org/ccgo/v4 v4.28.1 h1:wPKYn5EC/mYTqBO373jKjvX2n+3+aK7+sICCv4Fjy1A= +modernc.org/ccgo/v4 v4.28.1/go.mod h1:uD+4RnfrVgE6ec9NGguUNdhqzNIeeomeXf6CL0GTE5Q= +modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA= +modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc= +modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= +modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= +modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= +modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= +modernc.org/libc v1.66.10 h1:yZkb3YeLx4oynyR+iUsXsybsX4Ubx7MQlSYEw4yj59A= +modernc.org/libc v1.66.10/go.mod h1:8vGSEwvoUoltr4dlywvHqjtAqHBaw0j1jI7iFBTAr2I= +modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= +modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= +modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= +modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= +modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8= +modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= +modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= +modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= +modernc.org/sqlite v1.40.1 h1:VfuXcxcUWWKRBuP8+BR9L7VnmusMgBNNnBYGEe9w/iY= +modernc.org/sqlite v1.40.1/go.mod h1:9fjQZ0mB1LLP0GYrp39oOJXx/I2sxEnZtzCmEQIKvGE= +modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= +modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= diff --git a/internal/infrastructure/http/integration_test.go b/internal/infrastructure/http/integration_test.go index 7f6c48d..f98ec0d 100644 --- a/internal/infrastructure/http/integration_test.go +++ b/internal/infrastructure/http/integration_test.go @@ -15,7 +15,7 @@ import ( "apocapoc-api/internal/infrastructure/crypto" "apocapoc-api/internal/infrastructure/persistence/sqlite" - _ "github.com/mattn/go-sqlite3" + _ "modernc.org/sqlite" ) type TestServer struct { @@ -24,7 +24,7 @@ type TestServer struct { } func setupTestServer(t *testing.T) *TestServer { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open test database: %v", err) } diff --git a/internal/infrastructure/persistence/sqlite/database.go b/internal/infrastructure/persistence/sqlite/database.go index a98f6c7..5e9ab2a 100644 --- a/internal/infrastructure/persistence/sqlite/database.go +++ b/internal/infrastructure/persistence/sqlite/database.go @@ -6,7 +6,7 @@ import ( "os" "path/filepath" - _ "github.com/mattn/go-sqlite3" + _ "modernc.org/sqlite" ) type Database struct { @@ -21,7 +21,7 @@ func NewDatabase(dbPath string) (*Database, error) { } } - conn, err := sql.Open("sqlite3", dbPath) + conn, err := sql.Open("sqlite", dbPath) if err != nil { return nil, fmt.Errorf("failed to open database: %w", err) } diff --git a/internal/infrastructure/persistence/sqlite/migrations_test.go b/internal/infrastructure/persistence/sqlite/migrations_test.go index 065550d..77ec86d 100644 --- a/internal/infrastructure/persistence/sqlite/migrations_test.go +++ b/internal/infrastructure/persistence/sqlite/migrations_test.go @@ -4,11 +4,11 @@ import ( "database/sql" "testing" - _ "github.com/mattn/go-sqlite3" + _ "modernc.org/sqlite" ) func TestRunMigrations(t *testing.T) { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open database: %v", err) } @@ -32,7 +32,7 @@ func TestRunMigrations(t *testing.T) { } func TestUsersTableSchema(t *testing.T) { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open database: %v", err) } @@ -57,7 +57,7 @@ func TestUsersTableSchema(t *testing.T) { } func TestHabitsTableSchema(t *testing.T) { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open database: %v", err) } @@ -83,7 +83,7 @@ func TestHabitsTableSchema(t *testing.T) { } func TestHabitEntriesTableSchema(t *testing.T) { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open database: %v", err) } @@ -108,7 +108,7 @@ func TestHabitEntriesTableSchema(t *testing.T) { } func TestMigrationsAreIdempotent(t *testing.T) { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open database: %v", err) } diff --git a/internal/infrastructure/persistence/sqlite/test_init.go b/internal/infrastructure/persistence/sqlite/test_init.go new file mode 100644 index 0000000..a01bef5 --- /dev/null +++ b/internal/infrastructure/persistence/sqlite/test_init.go @@ -0,0 +1,5 @@ +package sqlite + +import ( + _ "modernc.org/sqlite" +) diff --git a/internal/infrastructure/persistence/sqlite/user_repository_test.go b/internal/infrastructure/persistence/sqlite/user_repository_test.go index f2fbee0..748bba9 100644 --- a/internal/infrastructure/persistence/sqlite/user_repository_test.go +++ b/internal/infrastructure/persistence/sqlite/user_repository_test.go @@ -9,11 +9,11 @@ import ( "apocapoc-api/internal/domain/entities" "apocapoc-api/internal/shared/errors" - _ "github.com/mattn/go-sqlite3" + _ "modernc.org/sqlite" ) func setupTestDB(t *testing.T) *sql.DB { - db, err := sql.Open("sqlite3", ":memory:") + db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("Failed to open test database: %v", err) }