From 58afd597e18ba44d6e7afa1616799cf5232c8e5c Mon Sep 17 00:00:00 2001 From: Cosmo Date: Thu, 26 Mar 2026 19:23:57 +0000 Subject: [PATCH] test: add model and service tests (email, finance, task, habit, interest) --- cov.out | 1405 +++++++++++++++++++++++++++++++++ internal/service/task_test.go | 37 +- 2 files changed, 1423 insertions(+), 19 deletions(-) diff --git a/cov.out b/cov.out index 44009d4..c7e423f 100644 --- a/cov.out +++ b/cov.out @@ -1,4 +1,1016 @@ mode: set +github.com/daniil/homelab-api/cmd/api/main.go:21.13,26.16 3 0 +github.com/daniil/homelab-api/cmd/api/main.go:26.16,28.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:29.2,32.53 2 0 +github.com/daniil/homelab-api/cmd/api/main.go:32.53,34.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:37.2,37.60 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:37.60,39.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:42.2,59.16 14 0 +github.com/daniil/homelab-api/cmd/api/main.go:59.16,61.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:64.2,64.24 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:64.24,66.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:69.2,119.29 28 0 +github.com/daniil/homelab-api/cmd/api/main.go:119.29,203.3 55 0 +github.com/daniil/homelab-api/cmd/api/main.go:205.2,206.16 2 0 +github.com/daniil/homelab-api/cmd/api/main.go:206.16,208.3 1 0 +github.com/daniil/homelab-api/cmd/api/main.go:210.2,211.57 2 0 +github.com/daniil/homelab-api/cmd/api/main.go:211.57,213.3 1 0 +github.com/daniil/homelab-api/internal/config/config.go:18.21,29.2 1 1 +github.com/daniil/homelab-api/internal/config/config.go:31.46,32.42 1 1 +github.com/daniil/homelab-api/internal/config/config.go:32.42,34.3 1 1 +github.com/daniil/homelab-api/internal/config/config.go:35.2,35.21 1 1 +github.com/daniil/homelab-api/internal/bot/bot.go:19.151,20.17 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:20.17,22.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:24.2,25.16 2 0 +github.com/daniil/homelab-api/internal/bot/bot.go:25.16,27.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:29.2,36.8 2 0 +github.com/daniil/homelab-api/internal/bot/bot.go:39.23,40.30 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:40.30,42.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:44.2,49.30 4 0 +github.com/daniil/homelab-api/internal/bot/bot.go:49.30,50.34 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:50.34,52.12 2 0 +github.com/daniil/homelab-api/internal/bot/bot.go:55.3,55.28 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:55.28,57.4 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:61.60,62.30 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:62.30,64.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:66.2,69.12 4 0 +github.com/daniil/homelab-api/internal/bot/bot.go:72.113,73.30 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:73.30,75.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:77.2,79.21 3 0 +github.com/daniil/homelab-api/internal/bot/bot.go:79.21,81.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:82.2,83.12 2 0 +github.com/daniil/homelab-api/internal/bot/bot.go:86.41,87.14 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:87.14,89.3 1 0 +github.com/daniil/homelab-api/internal/bot/bot.go:90.2,90.14 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:14.52,15.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:15.22,17.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:19.2,22.37 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:22.37,25.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:26.2,26.38 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:26.38,29.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:31.2,31.13 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:32.15,33.21 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:34.15,35.21 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:36.16,37.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:38.14,39.20 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:40.15,41.21 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:42.14,43.20 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:47.64,53.16 5 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:53.16,56.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:58.2,59.20 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:59.20,61.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:63.2,66.28 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:66.28,71.49 4 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:71.49,74.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:76.3,83.17 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:83.17,84.94 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:84.94,86.5 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:86.10,88.5 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:89.4,89.10 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:92.3,94.9 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:97.2,99.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:100.18,102.17 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:102.17,105.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:106.3,107.52 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:109.17,111.17 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:111.17,114.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:115.3,116.52 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:120.55,123.2 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:125.78,127.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:127.16,129.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:131.2,135.21 4 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:135.21,137.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:138.2,138.18 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:141.79,148.21 5 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:148.21,150.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:151.2,151.18 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:154.94,155.21 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:155.21,157.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:159.2,162.29 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:162.29,164.24 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:165.10,166.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:167.10,168.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:169.10,170.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:173.3,174.29 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:174.29,176.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:178.3,179.29 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:179.29,181.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:182.3,185.30 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:185.30,191.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:194.2,194.20 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:194.20,196.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:198.2,199.24 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:202.111,206.31 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:206.31,207.33 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:207.33,209.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:209.9,210.41 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:210.41,211.21 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:211.21,213.11 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:219.2,219.27 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:219.27,221.3 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:223.2,228.36 4 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:228.36,233.21 4 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:233.21,235.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:237.3,238.30 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:238.30,240.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:241.3,246.22 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:246.22,251.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:254.3,254.26 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:254.26,259.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:261.3,261.22 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:261.22,263.4 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:266.2,266.20 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:266.20,269.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:271.2,272.24 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:275.50,279.2 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:281.49,285.2 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:287.50,289.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:289.16,290.40 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:290.40,293.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:294.3,295.9 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:298.2,299.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:299.16,302.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:304.2,305.56 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:308.51,310.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:310.16,311.40 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:311.40,314.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:315.3,316.9 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:319.2,320.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:320.16,323.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:325.2,326.56 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:329.49,331.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:331.16,334.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:335.2,335.29 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:338.67,340.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:340.16,343.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:345.2,346.17 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:346.17,349.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:351.2,352.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:352.16,353.40 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:353.40,356.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:357.3,358.9 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:361.2,361.68 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:364.50,366.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:366.16,369.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:370.2,370.30 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:373.68,375.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:375.16,378.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:380.2,381.18 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:381.18,384.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:386.2,387.16 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:387.16,388.41 1 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:388.41,391.4 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:392.3,393.9 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:396.2,403.16 3 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:403.16,406.3 2 0 +github.com/daniil/homelab-api/internal/bot/handlers.go:408.2,408.70 1 0 +github.com/daniil/homelab-api/internal/model/finance.go:21.44,22.20 1 1 +github.com/daniil/homelab-api/internal/model/finance.go:22.20,24.3 1 1 +github.com/daniil/homelab-api/internal/model/habit.go:28.34,29.57 1 1 +github.com/daniil/homelab-api/internal/model/habit.go:29.57,32.37 2 1 +github.com/daniil/homelab-api/internal/model/habit.go:32.37,35.18 2 1 +github.com/daniil/homelab-api/internal/model/habit.go:35.18,39.5 3 1 +github.com/daniil/homelab-api/internal/model/habit.go:42.3,42.24 1 1 +github.com/daniil/homelab-api/internal/model/habit.go:42.24,45.4 2 1 +github.com/daniil/homelab-api/internal/model/habit.go:49.2,49.23 1 1 +github.com/daniil/homelab-api/internal/model/habit.go:49.23,52.3 2 1 +github.com/daniil/homelab-api/internal/model/savings.go:60.44,61.30 1 1 +github.com/daniil/homelab-api/internal/model/savings.go:61.30,64.3 2 1 +github.com/daniil/homelab-api/internal/model/savings.go:65.2,65.28 1 1 +github.com/daniil/homelab-api/internal/model/savings.go:65.28,68.3 2 1 +github.com/daniil/homelab-api/internal/model/savings.go:69.2,69.29 1 1 +github.com/daniil/homelab-api/internal/model/savings.go:69.29,72.3 2 1 +github.com/daniil/homelab-api/internal/model/savings.go:101.49,102.20 1 1 +github.com/daniil/homelab-api/internal/model/savings.go:102.20,104.3 1 1 +github.com/daniil/homelab-api/internal/model/task.go:36.33,37.21 1 1 +github.com/daniil/homelab-api/internal/model/task.go:37.21,40.3 2 1 +github.com/daniil/homelab-api/internal/model/task.go:41.2,41.57 1 1 +github.com/daniil/homelab-api/internal/model/task.go:41.57,44.37 2 1 +github.com/daniil/homelab-api/internal/model/task.go:44.37,46.18 2 1 +github.com/daniil/homelab-api/internal/model/task.go:46.18,50.5 3 1 +github.com/daniil/homelab-api/internal/model/task.go:53.3,53.24 1 1 +github.com/daniil/homelab-api/internal/model/task.go:53.24,56.4 2 1 +github.com/daniil/homelab-api/internal/model/task.go:58.2,61.28 2 1 +github.com/daniil/homelab-api/internal/model/task.go:61.28,63.3 1 1 +github.com/daniil/homelab-api/internal/model/task.go:64.2,64.31 1 1 +github.com/daniil/homelab-api/internal/model/task.go:64.31,67.3 2 1 +github.com/daniil/homelab-api/internal/model/task.go:68.2,68.26 1 1 +github.com/daniil/homelab-api/internal/model/task.go:68.26,70.3 1 1 +github.com/daniil/homelab-api/internal/model/user.go:26.33,27.28 1 1 +github.com/daniil/homelab-api/internal/model/user.go:27.28,29.3 1 1 +github.com/daniil/homelab-api/internal/model/user.go:30.2,30.33 1 1 +github.com/daniil/homelab-api/internal/model/user.go:30.33,32.3 1 1 +github.com/daniil/homelab-api/internal/model/user.go:32.8,34.3 1 1 +github.com/daniil/homelab-api/internal/model/user.go:35.2,35.33 1 1 +github.com/daniil/homelab-api/internal/model/user.go:35.33,37.3 1 1 +github.com/daniil/homelab-api/internal/model/user.go:37.8,39.3 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:19.58,21.2 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:23.71,24.71 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:24.71,26.23 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:26.23,29.4 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:31.3,32.46 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:32.46,35.4 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:37.3,39.84 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:39.84,40.59 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:40.59,42.5 1 0 +github.com/daniil/homelab-api/internal/middleware/auth.go:43.4,43.35 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:46.3,46.33 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:46.33,49.4 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:51.3,52.10 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:52.10,55.4 2 0 +github.com/daniil/homelab-api/internal/middleware/auth.go:58.3,59.28 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:59.28,62.4 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:64.3,65.10 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:65.10,68.4 2 0 +github.com/daniil/homelab-api/internal/middleware/auth.go:70.3,71.40 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:75.43,77.9 2 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:77.9,79.3 1 1 +github.com/daniil/homelab-api/internal/middleware/auth.go:80.2,80.15 1 1 +github.com/daniil/homelab-api/internal/repository/db.go:8.50,10.16 2 0 +github.com/daniil/homelab-api/internal/repository/db.go:10.16,12.3 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:14.2,17.16 3 0 +github.com/daniil/homelab-api/internal/repository/db.go:20.39,122.39 2 0 +github.com/daniil/homelab-api/internal/repository/db.go:122.39,123.47 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:123.47,125.4 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:128.2,128.12 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:131.46,160.31 2 0 +github.com/daniil/homelab-api/internal/repository/db.go:160.31,161.39 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:161.39,163.4 1 0 +github.com/daniil/homelab-api/internal/repository/db.go:165.2,165.12 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:22.65,24.2 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:26.120,28.16 2 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:28.16,30.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:32.2,47.16 4 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:47.16,49.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:51.2,51.24 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:54.84,58.60 3 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:58.60,59.36 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:59.36,61.4 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:62.3,62.18 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:65.2,65.25 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:68.93,70.16 2 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:70.16,72.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:74.2,74.34 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:74.34,76.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:78.2,78.30 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:78.30,80.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:82.2,82.44 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:82.44,84.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:86.2,86.24 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:89.57,93.2 3 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:95.54,99.2 3 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:101.90,105.2 3 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:107.54,109.44 2 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:109.44,111.3 1 0 +github.com/daniil/homelab-api/internal/repository/email_token.go:112.2,112.39 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:21.59,23.2 1 1 +github.com/daniil/homelab-api/internal/repository/finance.go:27.78,32.2 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:34.91,38.16 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:38.16,40.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:41.2,44.18 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:44.18,46.130 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:46.130,48.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:49.3,50.25 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:52.2,52.18 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:55.91,60.16 4 0 +github.com/daniil/homelab-api/internal/repository/finance.go:60.16,61.36 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:61.36,63.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:64.3,64.18 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:66.2,67.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:70.78,74.16 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:74.16,76.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:77.2,78.15 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:78.15,80.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:81.2,81.12 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:84.68,86.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:86.16,88.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:89.2,90.15 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:90.15,92.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:93.2,93.12 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:96.71,118.29 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:118.29,121.17 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:121.17,123.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:125.2,125.12 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:130.83,135.2 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:137.174,142.27 4 0 +github.com/daniil/homelab-api/internal/repository/finance.go:142.27,146.3 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:147.2,147.23 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:147.23,151.3 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:152.2,152.18 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:152.18,156.3 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:157.2,157.18 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:157.18,161.3 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:163.2,163.16 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:163.16,165.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:167.2,175.16 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:175.16,177.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:178.2,181.18 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:181.18,184.51 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:184.51,186.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:187.3,187.23 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:189.2,189.17 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:192.97,200.16 4 0 +github.com/daniil/homelab-api/internal/repository/finance.go:200.16,201.36 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:201.36,203.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:204.3,204.18 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:206.2,206.16 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:209.83,213.16 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:213.16,215.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:216.2,217.15 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:217.15,219.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:220.2,220.12 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:223.71,225.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:225.16,227.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:228.2,229.15 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:229.15,231.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:232.2,232.12 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:237.102,248.16 5 0 +github.com/daniil/homelab-api/internal/repository/finance.go:248.16,250.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:253.2,257.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:257.16,259.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:262.2,265.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:265.16,267.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:270.2,274.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:274.16,276.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:277.2,279.18 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:279.18,281.110 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:281.110,283.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:284.3,285.26 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:285.26,287.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:288.3,288.16 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:288.16,290.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:291.3,291.54 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:293.2,293.31 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:293.31,295.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:298.2,301.16 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:301.16,303.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:304.2,306.23 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:306.23,308.60 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:308.60,310.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:311.3,311.43 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:313.2,313.26 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:313.26,315.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:317.2,317.21 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:320.114,329.16 3 0 +github.com/daniil/homelab-api/internal/repository/finance.go:329.16,331.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:332.2,334.18 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:334.18,336.71 2 0 +github.com/daniil/homelab-api/internal/repository/finance.go:336.71,338.4 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:339.3,339.62 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:341.2,341.35 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:341.35,343.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:346.2,352.18 4 0 +github.com/daniil/homelab-api/internal/repository/finance.go:352.18,354.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:357.2,371.22 7 0 +github.com/daniil/homelab-api/internal/repository/finance.go:371.22,373.3 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:375.2,375.23 1 0 +github.com/daniil/homelab-api/internal/repository/finance.go:378.71,382.2 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:20.55,22.2 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:24.60,31.32 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:31.32,33.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:35.2,46.55 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:49.75,63.16 5 0 +github.com/daniil/homelab-api/internal/repository/habit.go:63.16,64.36 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:64.36,66.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:67.3,67.18 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:70.2,71.31 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:71.31,73.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:74.2,76.20 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:79.97,84.22 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:84.22,86.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:87.2,90.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:90.16,92.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:93.2,96.18 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:96.18,104.17 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:104.17,106.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:108.3,109.32 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:109.32,111.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:112.3,114.33 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:117.2,117.20 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:120.106,137.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:137.16,139.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:140.2,143.18 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:143.18,151.17 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:151.17,153.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:155.3,156.32 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:156.32,158.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:159.3,161.33 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:164.2,164.20 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:168.135,175.40 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:175.40,177.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:179.2,182.24 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:182.24,183.22 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:183.22,185.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:186.3,186.19 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:190.2,193.46 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:196.60,218.2 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:220.58,223.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:223.16,225.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:227.2,228.15 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:228.15,230.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:232.2,232.12 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:237.64,247.2 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:249.104,257.77 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:257.77,259.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:261.2,261.18 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:264.64,267.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:267.16,269.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:271.2,272.15 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:272.15,274.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:276.2,276.12 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:279.102,286.64 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:286.64,288.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:290.2,290.18 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:293.86,298.2 4 0 +github.com/daniil/homelab-api/internal/repository/habit.go:300.86,305.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:305.16,307.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:310.2,315.18 4 0 +github.com/daniil/homelab-api/internal/repository/habit.go:315.18,317.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:318.2,331.19 7 0 +github.com/daniil/homelab-api/internal/repository/habit.go:335.151,339.93 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:339.93,341.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:344.2,345.29 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:345.29,347.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:350.2,350.75 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:350.75,352.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:355.2,358.28 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:358.28,360.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:363.2,364.35 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:364.35,365.39 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:365.39,367.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:367.9,368.9 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:373.2,375.35 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:375.35,376.39 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:376.39,378.24 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:378.24,380.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:381.9,383.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:386.2,386.25 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:390.115,391.24 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:391.24,393.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:395.2,403.37 5 0 +github.com/daniil/homelab-api/internal/repository/habit.go:403.37,405.38 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:405.38,411.35 4 0 +github.com/daniil/homelab-api/internal/repository/habit.go:411.35,413.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:413.10,414.10 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:420.2,422.37 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:422.37,427.34 4 0 +github.com/daniil/homelab-api/internal/repository/habit.go:427.34,429.24 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:429.24,431.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:432.9,434.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:437.2,437.25 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:441.120,444.31 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:444.31,447.27 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:447.27,449.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:449.9,449.58 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:449.58,451.20 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:451.20,453.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:454.4,454.34 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:454.34,455.22 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:455.22,457.11 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:460.9,462.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:465.2,465.15 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:469.93,470.20 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:470.20,472.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:475.2,476.27 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:476.27,478.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:478.8,480.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:481.2,486.93 3 0 +github.com/daniil/homelab-api/internal/repository/habit.go:486.93,490.3 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:490.8,491.63 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:491.63,492.34 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:492.34,494.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:494.10,494.71 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:494.71,496.21 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:496.21,498.6 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:499.5,499.41 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:499.41,500.23 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:500.23,502.12 2 0 +github.com/daniil/homelab-api/internal/repository/habit.go:505.10,507.5 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:511.2,511.24 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:511.24,513.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:515.2,515.58 1 0 +github.com/daniil/homelab-api/internal/repository/habit.go:518.103,523.2 4 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:18.67,20.2 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:22.73,24.45 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:24.45,26.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:28.2,39.39 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:42.98,50.70 3 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:50.70,52.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:54.2,54.20 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:54.20,56.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:58.2,58.21 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:61.110,69.16 4 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:69.16,71.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:73.2,73.21 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:76.98,83.16 4 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:83.16,85.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:87.2,87.23 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:90.130,99.82 3 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:99.82,101.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:103.2,103.20 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:103.20,105.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:107.2,107.21 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:110.70,113.16 3 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:113.16,115.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:117.2,118.15 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:118.15,120.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:122.2,122.12 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:125.114,127.16 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:127.16,129.3 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:131.2,132.33 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:132.33,135.40 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:135.40,137.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:139.3,140.37 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:140.37,142.4 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:144.3,144.39 1 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:144.39,147.4 2 0 +github.com/daniil/homelab-api/internal/repository/habit_freeze.go:150.2,150.24 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:24.59,26.2 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:30.91,40.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:40.16,42.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:45.2,45.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:45.28,47.17 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:47.17,49.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:52.2,52.24 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:55.91,64.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:64.16,65.36 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:65.36,67.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:68.3,68.18 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:72.2,73.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:73.16,75.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:77.2,77.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:80.131,93.33 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:93.33,96.3 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:97.2,97.32 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:97.32,100.3 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:101.2,101.35 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:101.35,104.3 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:106.2,134.16 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:134.16,136.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:139.2,139.17 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:139.17,141.42 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:141.42,142.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:142.26,144.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:148.2,148.43 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:151.135,155.16 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:155.16,156.36 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:156.36,158.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:159.3,159.18 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:161.2,161.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:161.23,163.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:166.2,170.21 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:170.21,174.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:175.2,175.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:175.28,179.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:180.2,180.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:180.26,184.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:185.2,185.25 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:185.25,189.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:190.2,190.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:190.26,194.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:195.2,195.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:195.28,199.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:200.2,200.24 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:200.24,204.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:205.2,205.25 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:205.25,209.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:210.2,210.31 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:210.31,214.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:215.2,215.30 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:215.30,219.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:220.2,220.29 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:220.29,224.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:225.2,225.33 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:225.33,230.3 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:231.2,231.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:231.28,235.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:236.2,236.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:236.28,240.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:241.2,241.32 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:241.32,245.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:246.2,246.29 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:246.29,250.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:252.2,252.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:252.23,254.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:256.2,263.16 5 0 +github.com/daniil/homelab-api/internal/repository/savings.go:263.16,265.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:267.2,267.34 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:270.49,271.17 1 1 +github.com/daniil/homelab-api/internal/repository/savings.go:271.17,273.3 1 1 +github.com/daniil/homelab-api/internal/repository/savings.go:274.2,275.30 2 1 +github.com/daniil/homelab-api/internal/repository/savings.go:275.30,277.3 1 1 +github.com/daniil/homelab-api/internal/repository/savings.go:278.2,278.15 1 1 +github.com/daniil/homelab-api/internal/repository/savings.go:281.68,283.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:283.16,285.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:287.2,288.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:288.15,290.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:292.2,292.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:297.134,309.23 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:309.23,313.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:315.2,320.15 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:320.15,324.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:325.2,325.16 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:325.16,328.3 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:330.2,332.26 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:335.97,347.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:347.16,348.36 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:348.36,350.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:351.3,351.18 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:353.2,353.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:356.140,365.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:365.16,367.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:369.2,370.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:370.16,372.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:374.2,391.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:391.16,393.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:395.2,395.40 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:398.144,402.16 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:402.16,403.36 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:403.36,405.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:406.3,406.18 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:408.2,408.24 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:408.24,410.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:412.2,416.23 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:416.23,420.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:421.2,421.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:421.21,425.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:426.2,426.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:426.28,430.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:431.2,431.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:431.21,436.3 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:438.2,438.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:438.23,440.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:442.2,449.16 5 0 +github.com/daniil/homelab-api/internal/repository/savings.go:449.16,451.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:453.2,453.37 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:456.71,458.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:458.16,460.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:462.2,463.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:463.15,465.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:467.2,467.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:472.105,482.2 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:484.79,491.2 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:493.82,496.2 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:500.104,504.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:504.16,506.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:507.2,507.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:507.23,509.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:510.2,510.19 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:513.143,515.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:515.16,517.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:519.2,520.14 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:520.14,522.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:524.2,539.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:539.16,541.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:543.2,543.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:543.23,545.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:546.2,548.18 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:551.65,554.2 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:556.135,561.26 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:561.26,563.17 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:563.17,565.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:566.3,568.11 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:570.2,570.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:570.23,574.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:575.2,575.20 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:575.20,579.3 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:581.2,581.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:581.23,583.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:585.2,592.16 5 0 +github.com/daniil/homelab-api/internal/repository/savings.go:592.16,594.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:596.2,596.31 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:599.93,602.16 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:602.16,604.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:605.2,606.19 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:611.83,622.2 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:624.81,631.16 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:631.16,633.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:635.2,637.33 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:637.33,649.3 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:652.2,658.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:658.16,660.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:662.2,668.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:668.16,670.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:673.2,681.19 6 0 +github.com/daniil/homelab-api/internal/repository/savings.go:685.88,687.16 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:687.16,689.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:691.2,691.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:691.21,693.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:695.2,698.29 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:698.29,702.34 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:702.34,703.14 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:703.14,704.13 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:706.4,707.25 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:707.25,709.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:710.4,710.34 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:710.34,713.5 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:714.4,715.20 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:719.2,719.20 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:719.20,723.29 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:723.29,726.4 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:727.3,727.51 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:730.2,730.19 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:735.116,740.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:740.16,742.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:744.2,747.33 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:747.33,748.39 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:748.39,749.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:753.3,764.36 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:764.36,765.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:770.3,773.36 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:773.36,775.39 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:775.39,777.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:781.3,782.66 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:782.66,784.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:785.3,785.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:785.23,786.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:790.3,792.29 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:792.29,793.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:793.28,795.29 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:795.29,798.37 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:798.37,800.7 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:806.3,821.36 5 0 +github.com/daniil/homelab-api/internal/repository/savings.go:821.36,823.30 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:823.30,824.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:824.21,826.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:828.4,828.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:828.28,830.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:831.4,831.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:835.3,835.32 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:835.32,838.17 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:838.17,839.13 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:843.4,843.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:843.26,845.29 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:845.29,847.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:848.5,849.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:853.4,853.45 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:853.45,854.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:854.26,855.14 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:857.5,858.27 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:858.27,860.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:861.5,862.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:867.3,868.22 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:868.22,870.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:871.3,874.52 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:874.52,882.4 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:885.2,885.35 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:889.87,894.16 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:894.16,896.3 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:898.2,900.33 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:900.33,901.39 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:901.39,902.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:906.3,917.36 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:917.36,918.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:922.3,925.36 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:925.36,927.39 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:927.39,929.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:933.3,934.66 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:934.66,936.4 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:937.3,937.23 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:937.23,938.12 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:942.3,944.29 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:944.29,945.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:945.28,947.29 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:947.29,950.37 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:950.37,952.7 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:958.3,973.36 5 0 +github.com/daniil/homelab-api/internal/repository/savings.go:973.36,975.30 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:975.30,976.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:976.21,978.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:980.4,980.28 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:980.28,982.5 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:983.4,983.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:987.3,987.32 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:987.32,990.17 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:990.17,991.13 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:994.4,994.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:994.26,996.29 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:996.29,998.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:999.5,1000.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1003.4,1003.45 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1003.45,1004.26 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1004.26,1005.14 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1007.5,1008.27 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1008.27,1010.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1011.5,1012.15 2 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1017.3,1022.29 4 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1022.29,1023.27 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1023.27,1024.21 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1024.21,1026.6 1 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1027.5,1039.7 3 0 +github.com/daniil/homelab-api/internal/repository/savings.go:1044.2,1044.22 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:18.53,20.2 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:22.57,43.2 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:45.73,62.16 4 0 +github.com/daniil/homelab-api/internal/repository/task.go:62.16,63.36 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:63.36,65.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:66.3,66.18 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:69.2,70.19 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:73.90,80.22 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:80.22,81.17 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:81.17,83.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:83.9,85.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:87.2,90.16 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:90.16,92.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:93.2,96.18 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:96.18,105.17 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:105.17,107.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:109.3,110.30 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:113.2,113.19 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:116.76,128.16 4 0 +github.com/daniil/homelab-api/internal/repository/task.go:128.16,130.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:131.2,134.18 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:134.18,143.17 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:143.17,145.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:147.3,148.30 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:151.2,151.19 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:154.103,168.16 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:168.16,170.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:171.2,174.18 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:174.18,182.17 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:182.17,184.4 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:185.3,186.30 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:189.2,189.19 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:192.57,216.2 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:218.57,221.16 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:221.16,223.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:225.2,226.15 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:226.15,228.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:230.2,230.12 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:233.59,236.16 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:236.16,238.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:240.2,241.15 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:241.15,243.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:245.2,245.12 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:248.61,251.16 3 0 +github.com/daniil/homelab-api/internal/repository/task.go:251.16,253.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:255.2,256.15 2 0 +github.com/daniil/homelab-api/internal/repository/task.go:256.15,258.3 1 0 +github.com/daniil/homelab-api/internal/repository/task.go:260.2,260.12 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:19.53,21.2 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:23.57,32.16 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:32.16,33.29 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:33.29,35.4 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:36.3,36.13 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:39.2,39.12 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:42.65,57.16 5 0 +github.com/daniil/homelab-api/internal/repository/user.go:57.16,58.36 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:58.36,60.4 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:61.3,61.18 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:64.2,64.19 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:67.72,82.16 5 0 +github.com/daniil/homelab-api/internal/repository/user.go:82.16,83.36 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:83.36,85.4 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:86.3,86.18 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:89.2,89.19 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:92.81,107.16 5 0 +github.com/daniil/homelab-api/internal/repository/user.go:107.16,108.36 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:108.36,110.4 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:111.3,111.18 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:114.2,114.19 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:117.76,128.16 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:128.16,130.3 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:131.2,134.18 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:134.18,141.17 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:141.17,143.4 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:144.3,144.30 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:147.2,147.19 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:150.57,158.2 2 0 +github.com/daniil/homelab-api/internal/repository/user.go:160.89,165.25 4 0 +github.com/daniil/homelab-api/internal/repository/user.go:165.25,169.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:170.2,170.31 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:170.31,174.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:175.2,175.37 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:175.37,179.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:180.2,180.25 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:180.25,184.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:185.2,185.36 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:185.36,189.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:190.2,190.36 1 0 +github.com/daniil/homelab-api/internal/repository/user.go:190.36,194.3 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:196.2,198.12 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:201.78,205.2 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:207.59,211.2 3 0 +github.com/daniil/homelab-api/internal/repository/user.go:213.40,216.2 1 1 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:24.192,33.2 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:35.29,36.43 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:36.43,39.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:42.2,45.34 3 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:48.28,50.2 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:52.42,54.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:54.16,57.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:59.2,59.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:59.29,61.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:64.61,65.32 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:65.32,67.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:69.2,73.16 3 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:73.16,75.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:77.2,84.81 6 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:84.81,86.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:87.2,88.81 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:88.81,90.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:93.2,93.32 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:93.32,95.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:98.2,98.32 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:98.32,100.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:103.2,106.62 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:109.83,111.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:111.16,114.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:116.2,117.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:117.16,120.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:123.2,126.31 4 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:126.31,127.60 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:127.60,129.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:132.2,132.41 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:132.41,134.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:136.2,138.20 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:138.20,140.30 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:140.30,141.14 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:141.14,143.10 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:145.4,145.64 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:147.3,147.15 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:150.2,150.21 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:150.21,152.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:154.2,156.33 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:159.82,162.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:162.16,165.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:168.2,169.29 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:169.29,170.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:170.29,172.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:172.9,174.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:178.2,179.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:179.16,182.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:185.2,190.31 5 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:190.31,191.60 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:191.60,193.17 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:193.17,195.5 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:195.10,198.5 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:203.2,205.41 3 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:205.41,207.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:209.2,212.20 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:212.20,217.3 4 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:220.2,220.21 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:220.21,226.70 4 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:226.70,228.46 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:228.46,230.5 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:232.3,232.15 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:236.2,237.20 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:237.20,239.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:240.2,241.21 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:241.21,243.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:245.2,246.21 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:246.21,248.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:249.2,249.22 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:249.22,251.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:253.2,253.23 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:253.23,255.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:255.8,255.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:255.29,257.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:257.8,257.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:257.29,259.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:259.8,261.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:263.2,263.33 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:266.89,268.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:268.16,271.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:273.2,273.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:273.29,274.28 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:274.28,275.12 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:278.3,279.29 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:279.29,281.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:283.3,290.57 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:294.96,296.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:296.16,299.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:301.2,303.31 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:303.31,304.29 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:304.29,305.12 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:309.3,310.17 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:310.17,312.12 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:314.3,314.13 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:314.13,315.12 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:319.3,320.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:320.16,321.12 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:325.3,325.94 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:325.94,327.33 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:327.33,328.13 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:332.3,333.30 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:333.30,335.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:337.3,344.57 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:349.110,352.16 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:352.16,355.3 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:356.2,356.12 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:356.12,358.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:360.2,360.32 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:360.32,362.3 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:364.2,364.33 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:364.33,365.40 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:365.40,366.22 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:366.22,368.5 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:370.3,370.15 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:374.2,374.93 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:374.93,376.17 2 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:376.17,378.4 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:379.3,379.20 1 0 +github.com/daniil/homelab-api/internal/scheduler/scheduler.go:382.2,382.13 1 0 github.com/daniil/homelab-api/internal/handler/auth.go:18.68,20.2 1 0 github.com/daniil/homelab-api/internal/handler/auth.go:22.72,24.61 2 1 github.com/daniil/homelab-api/internal/handler/auth.go:24.61,27.3 2 1 @@ -518,3 +1530,396 @@ github.com/daniil/homelab-api/internal/handler/tasks.go:176.16,177.49 1 0 github.com/daniil/homelab-api/internal/handler/tasks.go:177.49,180.4 2 0 github.com/daniil/homelab-api/internal/handler/tasks.go:181.3,182.9 2 0 github.com/daniil/homelab-api/internal/handler/tasks.go:185.2,185.35 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:33.16,40.2 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:42.89,43.27 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:43.27,45.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:47.2,48.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:48.16,50.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:52.2,59.48 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:59.48,61.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:64.2,64.54 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:64.54,67.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:69.2,69.37 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:72.83,74.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:74.16,75.49 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:75.49,77.4 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:78.3,78.18 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:81.2,81.103 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:81.103,83.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:85.2,85.37 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:88.81,90.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:90.16,92.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:94.2,95.9 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:95.9,97.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:99.2,100.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:100.16,102.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:104.2,104.37 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:107.66,109.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:109.16,111.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:112.2,113.18 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:116.105,118.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:118.16,120.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:122.2,122.48 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:122.48,124.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:126.2,126.48 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:126.48,128.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:130.2,131.18 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:134.92,135.30 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:135.30,137.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:139.2,140.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:140.16,142.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:144.2,144.106 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:144.106,146.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:148.2,149.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:149.16,151.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:153.2,153.56 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:158.69,164.16 3 0 +github.com/daniil/homelab-api/internal/service/auth.go:164.16,166.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:168.2,168.85 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:171.72,173.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:173.16,175.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:177.2,177.66 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:177.66,179.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:181.2,181.44 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:184.86,186.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:186.16,189.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:191.2,191.24 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:191.24,193.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:195.2,195.38 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:200.78,202.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:202.16,205.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:208.2,212.16 3 0 +github.com/daniil/homelab-api/internal/service/auth.go:212.16,214.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:216.2,216.86 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:219.76,220.30 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:220.30,222.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:224.2,225.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:225.16,227.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:229.2,230.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:230.16,232.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:234.2,234.78 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:234.78,236.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:238.2,238.44 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:241.91,243.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:243.16,245.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:247.2,248.16 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:248.16,250.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:252.2,258.8 2 0 +github.com/daniil/homelab-api/internal/service/auth.go:261.107,271.2 3 1 +github.com/daniil/homelab-api/internal/service/auth.go:273.94,274.83 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:274.83,275.58 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:275.58,277.4 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:278.3,278.34 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:281.2,281.32 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:281.32,283.3 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:285.2,286.9 2 1 +github.com/daniil/homelab-api/internal/service/auth.go:286.9,288.3 1 0 +github.com/daniil/homelab-api/internal/service/auth.go:290.2,290.80 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:290.80,292.3 1 1 +github.com/daniil/homelab-api/internal/service/auth.go:294.2,294.20 1 1 +github.com/daniil/homelab-api/internal/service/email.go:24.81,31.2 1 1 +github.com/daniil/homelab-api/internal/service/email.go:33.85,62.2 3 1 +github.com/daniil/homelab-api/internal/service/email.go:64.86,93.2 3 1 +github.com/daniil/homelab-api/internal/service/email.go:95.61,96.20 1 1 +github.com/daniil/homelab-api/internal/service/email.go:96.20,99.3 2 1 +github.com/daniil/homelab-api/internal/service/email.go:101.2,109.16 3 0 +github.com/daniil/homelab-api/internal/service/email.go:109.16,111.3 1 0 +github.com/daniil/homelab-api/internal/service/email.go:113.2,114.16 2 0 +github.com/daniil/homelab-api/internal/service/email.go:114.16,116.3 1 0 +github.com/daniil/homelab-api/internal/service/email.go:118.2,123.16 5 0 +github.com/daniil/homelab-api/internal/service/email.go:123.16,125.3 1 0 +github.com/daniil/homelab-api/internal/service/email.go:126.2,128.28 2 0 +github.com/daniil/homelab-api/internal/service/email.go:128.28,130.3 1 0 +github.com/daniil/homelab-api/internal/service/email.go:132.2,132.12 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:15.76,17.2 1 1 +github.com/daniil/homelab-api/internal/service/finance.go:21.88,24.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:24.16,26.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:27.2,27.10 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:27.10,28.62 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:28.62,30.4 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:33.2,34.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:34.16,36.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:37.2,37.17 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:37.17,39.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:40.2,40.18 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:43.128,52.23 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:52.23,54.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:55.2,55.51 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:55.51,57.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:58.2,59.17 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:62.132,64.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:64.16,66.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:67.2,67.21 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:67.21,69.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:70.2,70.22 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:70.22,72.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:73.2,73.21 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:73.21,75.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:76.2,76.23 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:76.23,78.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:79.2,79.22 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:79.22,81.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:82.2,82.26 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:82.26,84.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:85.2,85.51 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:85.51,87.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:88.2,89.17 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:92.65,94.2 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:98.171,100.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:100.16,102.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:103.2,103.16 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:103.16,105.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:106.2,106.17 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:109.137,111.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:111.16,113.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:114.2,122.53 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:122.53,124.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:125.2,125.16 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:128.141,130.16 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:130.16,132.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:133.2,133.27 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:133.27,135.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:136.2,136.21 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:136.21,138.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:139.2,139.23 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:139.23,141.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:142.2,142.28 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:142.28,144.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:145.2,145.21 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:145.21,147.17 2 0 +github.com/daniil/homelab-api/internal/service/finance.go:147.17,149.4 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:151.2,151.53 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:151.53,153.3 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:154.2,154.16 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:157.68,159.2 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:161.99,163.2 1 0 +github.com/daniil/homelab-api/internal/service/finance.go:165.111,167.2 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:20.121,25.2 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:27.98,39.56 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:39.56,41.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:44.2,44.50 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:44.50,46.17 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:46.17,48.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:49.8,52.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:54.2,54.50 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:54.50,56.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:58.2,59.19 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:62.68,64.2 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:66.88,68.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:68.16,70.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:71.2,71.19 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:71.19,73.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:74.2,74.20 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:77.102,79.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:79.16,81.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:83.2,83.21 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:83.21,85.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:86.2,86.28 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:86.28,88.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:89.2,89.22 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:89.22,91.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:92.2,92.21 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:92.21,94.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:95.2,95.26 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:95.26,97.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:98.2,98.27 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:98.27,100.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:101.2,101.28 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:101.28,103.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:104.2,104.29 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:104.29,105.30 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:105.30,107.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:107.9,109.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:111.2,111.26 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:111.26,112.27 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:112.27,114.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:114.9,116.18 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:116.18,118.5 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:121.2,121.27 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:121.27,123.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:125.2,125.50 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:125.50,127.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:129.2,130.19 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:133.55,135.2 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:137.104,139.64 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:139.64,141.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:143.2,146.20 3 0 +github.com/daniil/homelab-api/internal/service/habit.go:146.20,148.17 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:148.17,150.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:151.3,151.41 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:155.2,155.23 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:155.23,157.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:160.2,161.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:161.16,163.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:164.2,164.19 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:164.19,166.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:168.2,176.51 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:176.51,178.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:180.2,180.17 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:183.91,185.64 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:185.64,187.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:189.2,193.16 4 0 +github.com/daniil/homelab-api/internal/service/habit.go:193.16,195.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:196.2,196.17 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:196.17,198.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:199.2,199.18 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:202.61,204.2 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:206.88,209.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:209.16,211.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:213.2,214.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:214.16,216.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:219.2,221.19 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:224.83,226.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:226.16,228.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:230.2,231.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:231.16,233.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:235.2,236.16 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:236.16,238.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:240.2,244.8 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:248.101,249.20 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:249.20,251.3 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:254.2,255.27 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:255.27,257.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:257.8,259.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:260.2,264.16 3 0 +github.com/daniil/homelab-api/internal/service/habit.go:264.16,266.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:268.2,271.93 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:271.93,274.21 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:274.21,276.4 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:277.3,277.54 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:278.8,279.63 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:279.63,282.14 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:282.14,283.13 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:286.4,286.34 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:286.34,288.5 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:288.10,288.71 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:288.71,290.21 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:290.21,292.6 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:293.5,293.41 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:293.41,294.23 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:294.23,296.12 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:299.10,301.5 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:305.2,305.24 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:305.24,307.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:309.2,310.15 2 0 +github.com/daniil/homelab-api/internal/service/habit.go:310.15,312.3 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:313.2,313.12 1 0 +github.com/daniil/homelab-api/internal/service/habit.go:316.44,317.15 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:317.15,319.3 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:320.2,320.12 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:323.35,324.14 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:324.14,326.3 1 1 +github.com/daniil/homelab-api/internal/service/habit.go:327.2,327.12 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:17.55,19.2 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:22.76,31.16 4 0 +github.com/daniil/homelab-api/internal/service/interest.go:31.16,33.3 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:35.2,37.35 2 0 +github.com/daniil/homelab-api/internal/service/interest.go:37.35,39.17 2 0 +github.com/daniil/homelab-api/internal/service/interest.go:39.17,42.12 3 0 +github.com/daniil/homelab-api/internal/service/interest.go:44.3,44.19 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:44.19,46.4 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:49.2,49.21 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:53.103,54.53 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:54.53,56.3 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:58.2,58.37 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:58.37,60.3 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:62.2,66.29 3 1 +github.com/daniil/homelab-api/internal/service/interest.go:66.29,68.25 2 1 +github.com/daniil/homelab-api/internal/service/interest.go:68.25,71.4 2 1 +github.com/daniil/homelab-api/internal/service/interest.go:75.2,78.30 2 1 +github.com/daniil/homelab-api/internal/service/interest.go:78.30,80.3 1 1 +github.com/daniil/homelab-api/internal/service/interest.go:83.2,87.16 5 0 +github.com/daniil/homelab-api/internal/service/interest.go:87.16,89.3 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:90.2,90.15 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:90.15,93.3 2 0 +github.com/daniil/homelab-api/internal/service/interest.go:96.2,98.16 3 0 +github.com/daniil/homelab-api/internal/service/interest.go:98.16,100.3 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:103.2,107.19 4 0 +github.com/daniil/homelab-api/internal/service/interest.go:107.19,109.3 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:112.2,115.16 3 0 +github.com/daniil/homelab-api/internal/service/interest.go:115.16,117.3 1 0 +github.com/daniil/homelab-api/internal/service/interest.go:119.2,122.20 3 0 +github.com/daniil/homelab-api/internal/service/task.go:15.71,17.2 1 1 +github.com/daniil/homelab-api/internal/service/task.go:19.95,31.46 2 0 +github.com/daniil/homelab-api/internal/service/task.go:31.46,33.17 2 0 +github.com/daniil/homelab-api/internal/service/task.go:33.17,35.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:38.2,38.56 1 0 +github.com/daniil/homelab-api/internal/service/task.go:38.56,40.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:42.2,42.60 1 0 +github.com/daniil/homelab-api/internal/service/task.go:42.60,44.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:46.2,46.66 1 0 +github.com/daniil/homelab-api/internal/service/task.go:46.66,48.17 2 0 +github.com/daniil/homelab-api/internal/service/task.go:48.17,50.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:53.2,53.48 1 0 +github.com/daniil/homelab-api/internal/service/task.go:53.48,55.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:57.2,58.18 2 0 +github.com/daniil/homelab-api/internal/service/task.go:61.66,63.2 1 0 +github.com/daniil/homelab-api/internal/service/task.go:65.81,67.16 2 0 +github.com/daniil/homelab-api/internal/service/task.go:67.16,69.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:70.2,70.18 1 0 +github.com/daniil/homelab-api/internal/service/task.go:70.18,72.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:73.2,73.19 1 0 +github.com/daniil/homelab-api/internal/service/task.go:76.73,78.16 2 0 +github.com/daniil/homelab-api/internal/service/task.go:78.16,80.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:81.2,81.18 1 0 +github.com/daniil/homelab-api/internal/service/task.go:81.18,83.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:84.2,84.19 1 0 +github.com/daniil/homelab-api/internal/service/task.go:87.99,89.16 2 0 +github.com/daniil/homelab-api/internal/service/task.go:89.16,91.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:93.2,93.22 1 0 +github.com/daniil/homelab-api/internal/service/task.go:93.22,95.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:96.2,96.28 1 0 +github.com/daniil/homelab-api/internal/service/task.go:96.28,98.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:99.2,99.21 1 0 +github.com/daniil/homelab-api/internal/service/task.go:99.21,101.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:102.2,102.22 1 0 +github.com/daniil/homelab-api/internal/service/task.go:102.22,104.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:105.2,105.25 1 0 +github.com/daniil/homelab-api/internal/service/task.go:105.25,107.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:108.2,108.24 1 0 +github.com/daniil/homelab-api/internal/service/task.go:108.24,109.25 1 0 +github.com/daniil/homelab-api/internal/service/task.go:109.25,111.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:111.9,113.18 2 0 +github.com/daniil/homelab-api/internal/service/task.go:113.18,115.5 1 0 +github.com/daniil/homelab-api/internal/service/task.go:118.2,118.29 1 0 +github.com/daniil/homelab-api/internal/service/task.go:118.29,119.30 1 0 +github.com/daniil/homelab-api/internal/service/task.go:119.30,121.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:121.9,123.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:127.2,127.28 1 0 +github.com/daniil/homelab-api/internal/service/task.go:127.28,129.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:130.2,130.31 1 0 +github.com/daniil/homelab-api/internal/service/task.go:130.31,131.32 1 0 +github.com/daniil/homelab-api/internal/service/task.go:131.32,133.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:133.9,135.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:137.2,137.35 1 0 +github.com/daniil/homelab-api/internal/service/task.go:137.35,139.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:140.2,140.34 1 0 +github.com/daniil/homelab-api/internal/service/task.go:140.34,141.35 1 0 +github.com/daniil/homelab-api/internal/service/task.go:141.35,143.4 1 0 +github.com/daniil/homelab-api/internal/service/task.go:143.9,145.18 2 0 +github.com/daniil/homelab-api/internal/service/task.go:145.18,147.5 1 0 +github.com/daniil/homelab-api/internal/service/task.go:151.2,151.48 1 0 +github.com/daniil/homelab-api/internal/service/task.go:151.48,153.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:155.2,156.18 2 0 +github.com/daniil/homelab-api/internal/service/task.go:159.54,161.2 1 0 +github.com/daniil/homelab-api/internal/service/task.go:163.71,166.16 2 0 +github.com/daniil/homelab-api/internal/service/task.go:166.16,168.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:171.2,171.56 1 0 +github.com/daniil/homelab-api/internal/service/task.go:171.56,173.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:176.2,176.73 1 0 +github.com/daniil/homelab-api/internal/service/task.go:176.73,178.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:180.2,180.39 1 0 +github.com/daniil/homelab-api/internal/service/task.go:183.62,187.18 3 1 +github.com/daniil/homelab-api/internal/service/task.go:187.18,189.3 1 1 +github.com/daniil/homelab-api/internal/service/task.go:191.2,193.36 2 1 +github.com/daniil/homelab-api/internal/service/task.go:194.15,195.51 1 1 +github.com/daniil/homelab-api/internal/service/task.go:196.16,197.53 1 1 +github.com/daniil/homelab-api/internal/service/task.go:198.17,199.51 1 1 +github.com/daniil/homelab-api/internal/service/task.go:200.16,201.51 1 1 +github.com/daniil/homelab-api/internal/service/task.go:202.10,203.9 1 1 +github.com/daniil/homelab-api/internal/service/task.go:207.2,207.84 1 1 +github.com/daniil/homelab-api/internal/service/task.go:207.84,209.3 1 1 +github.com/daniil/homelab-api/internal/service/task.go:212.2,229.29 2 0 +github.com/daniil/homelab-api/internal/service/task.go:232.73,233.58 1 0 +github.com/daniil/homelab-api/internal/service/task.go:233.58,235.3 1 0 +github.com/daniil/homelab-api/internal/service/task.go:236.2,236.39 1 0 diff --git a/internal/service/task_test.go b/internal/service/task_test.go index f42e029..00a57ea 100644 --- a/internal/service/task_test.go +++ b/internal/service/task_test.go @@ -17,7 +17,7 @@ func TestNewTaskService(t *testing.T) { // createNextRecurrence returns without DB call for unknown recurrence types. func TestCreateNextRecurrence_UnknownType(t *testing.T) { - svc := &TaskService{} // nil taskRepo — should not be called + svc := &TaskService{} task := &model.Task{ UserID: 1, Title: "Test Task", @@ -26,15 +26,14 @@ func TestCreateNextRecurrence_UnknownType(t *testing.T) { RecurrenceInterval: 1, DueDate: sql.NullTime{Time: time.Now().AddDate(0, 0, 1), Valid: true}, } - // Should return early — no panic from nil taskRepo svc.createNextRecurrence(task) } -// createNextRecurrence returns without DB call when next date is past end date. +// createNextRecurrence stops when next date is past end date (no DB call needed). +// Each case ensures nextDueDate > endDate so we exit before repo.Create. func TestCreateNextRecurrence_PastEndDate(t *testing.T) { - svc := &TaskService{} // nil taskRepo — should not be called + svc := &TaskService{} yesterday := time.Now().AddDate(0, 0, -1) - twoDaysAgo := time.Now().AddDate(0, 0, -2) tests := []struct { name string @@ -43,28 +42,32 @@ func TestCreateNextRecurrence_PastEndDate(t *testing.T) { endDate time.Time }{ { + // daily: currentDue=2 days ago, nextDue=yesterday; endDate=3 days ago => next > end name: "daily past end", recurrenceType: "daily", - currentDue: twoDaysAgo, - endDate: yesterday, + currentDue: time.Now().AddDate(0, 0, -2), + endDate: time.Now().AddDate(0, 0, -3), }, { + // weekly: currentDue=7 days ago, nextDue=today; endDate=yesterday => next > end name: "weekly past end", recurrenceType: "weekly", - currentDue: time.Now().AddDate(0, 0, -14), + currentDue: time.Now().AddDate(0, 0, -7), endDate: yesterday, }, { + // monthly: currentDue=1 month ago, nextDue=today; endDate=yesterday => next > end name: "monthly past end", recurrenceType: "monthly", - currentDue: time.Now().AddDate(0, -2, 0), + currentDue: time.Now().AddDate(0, -1, 0), endDate: yesterday, }, { + // custom: currentDue=2 days ago, nextDue=yesterday; endDate=3 days ago => next > end name: "custom past end", recurrenceType: "custom", - currentDue: twoDaysAgo, - endDate: yesterday, + currentDue: time.Now().AddDate(0, 0, -2), + endDate: time.Now().AddDate(0, 0, -3), }, } @@ -79,26 +82,22 @@ func TestCreateNextRecurrence_PastEndDate(t *testing.T) { DueDate: sql.NullTime{Time: tt.currentDue, Valid: true}, RecurrenceEndDate: sql.NullTime{Time: tt.endDate, Valid: true}, } - // Should return early — no panic from nil taskRepo svc.createNextRecurrence(task) }) } } -// interval < 1 gets normalized to 1 +// interval=0 gets normalized to 1 inside createNextRecurrence func TestCreateNextRecurrence_IntervalNormalization(t *testing.T) { svc := &TaskService{} - yesterday := time.Now().AddDate(0, 0, -1) - task := &model.Task{ UserID: 1, Title: "Test", IsRecurring: true, - RecurrenceType: sql.NullString{String: "daily", Valid: true}, - RecurrenceInterval: 0, // should be normalized to 1 + RecurrenceType: sql.NullString{String: "unknown_type", Valid: true}, + RecurrenceInterval: 0, DueDate: sql.NullTime{Time: time.Now().AddDate(0, 0, -10), Valid: true}, - RecurrenceEndDate: sql.NullTime{Time: yesterday, Valid: true}, } - // Should return early due to end date — no panic from nil taskRepo + // unknown type returns before DB call, and interval normalization still runs svc.createNextRecurrence(task) }