diff --git a/coverage/coverage.out b/coverage/coverage.out index d882161..0e1f093 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,26 +1,4 @@ mode: set -github.com/muety/wakapi/utils/auth.go:15.79,17.54 2 0 -github.com/muety/wakapi/utils/auth.go:21.2,23.16 3 0 -github.com/muety/wakapi/utils/auth.go:27.2,29.45 3 0 -github.com/muety/wakapi/utils/auth.go:32.2,33.32 2 0 -github.com/muety/wakapi/utils/auth.go:17.54,19.3 1 0 -github.com/muety/wakapi/utils/auth.go:23.16,25.3 1 0 -github.com/muety/wakapi/utils/auth.go:29.45,31.3 1 0 -github.com/muety/wakapi/utils/auth.go:36.65,38.85 2 0 -github.com/muety/wakapi/utils/auth.go:42.2,43.30 2 0 -github.com/muety/wakapi/utils/auth.go:38.85,40.3 1 0 -github.com/muety/wakapi/utils/auth.go:48.57,49.34 1 0 -github.com/muety/wakapi/utils/auth.go:52.2,52.45 1 0 -github.com/muety/wakapi/utils/auth.go:49.34,51.3 1 0 -github.com/muety/wakapi/utils/auth.go:55.57,57.2 1 0 -github.com/muety/wakapi/utils/auth.go:59.55,63.2 3 0 -github.com/muety/wakapi/utils/auth.go:65.55,68.16 3 0 -github.com/muety/wakapi/utils/auth.go:71.2,71.16 1 0 -github.com/muety/wakapi/utils/auth.go:68.16,70.3 1 0 -github.com/muety/wakapi/utils/auth.go:74.57,78.2 3 0 -github.com/muety/wakapi/utils/auth.go:80.57,83.16 3 0 -github.com/muety/wakapi/utils/auth.go:86.2,86.16 1 0 -github.com/muety/wakapi/utils/auth.go:83.16,85.3 1 0 github.com/muety/wakapi/utils/http.go:20.13,22.2 1 1 github.com/muety/wakapi/utils/http.go:29.34,30.20 1 0 github.com/muety/wakapi/utils/http.go:33.2,33.19 1 0 @@ -62,34 +40,6 @@ github.com/muety/wakapi/utils/sync.go:17.2,17.9 1 0 github.com/muety/wakapi/utils/sync.go:13.12,16.3 2 0 github.com/muety/wakapi/utils/sync.go:18.11,19.15 1 0 github.com/muety/wakapi/utils/sync.go:20.29,21.14 1 0 -github.com/muety/wakapi/utils/template.go:13.41,15.16 2 0 -github.com/muety/wakapi/utils/template.go:18.2,18.23 1 0 -github.com/muety/wakapi/utils/template.go:15.16,17.3 1 0 -github.com/muety/wakapi/utils/template.go:21.37,22.30 1 0 -github.com/muety/wakapi/utils/template.go:25.2,25.10 1 0 -github.com/muety/wakapi/utils/template.go:22.30,24.3 1 0 -github.com/muety/wakapi/utils/template.go:28.83,33.16 4 0 -github.com/muety/wakapi/utils/template.go:37.2,37.29 1 0 -github.com/muety/wakapi/utils/template.go:62.2,62.23 1 0 -github.com/muety/wakapi/utils/template.go:33.16,35.3 1 0 -github.com/muety/wakapi/utils/template.go:37.29,39.51 2 0 -github.com/muety/wakapi/utils/template.go:43.3,44.17 2 0 -github.com/muety/wakapi/utils/template.go:47.3,48.17 2 0 -github.com/muety/wakapi/utils/template.go:52.3,55.17 3 0 -github.com/muety/wakapi/utils/template.go:59.3,59.27 1 0 -github.com/muety/wakapi/utils/template.go:39.51,40.12 1 0 -github.com/muety/wakapi/utils/template.go:44.17,46.4 1 0 -github.com/muety/wakapi/utils/template.go:48.17,50.4 1 0 -github.com/muety/wakapi/utils/template.go:55.17,57.4 1 0 -github.com/muety/wakapi/utils/json.go:12.75,18.62 2 0 -github.com/muety/wakapi/utils/json.go:22.2,22.29 1 0 -github.com/muety/wakapi/utils/json.go:26.2,26.72 1 0 -github.com/muety/wakapi/utils/json.go:29.2,29.70 1 0 -github.com/muety/wakapi/utils/json.go:33.2,33.20 1 0 -github.com/muety/wakapi/utils/json.go:18.62,20.3 1 0 -github.com/muety/wakapi/utils/json.go:22.29,24.3 1 0 -github.com/muety/wakapi/utils/json.go:26.72,28.3 1 0 -github.com/muety/wakapi/utils/json.go:29.70,31.3 1 0 github.com/muety/wakapi/utils/collection.go:5.52,6.26 1 0 github.com/muety/wakapi/utils/collection.go:9.2,9.28 1 0 github.com/muety/wakapi/utils/collection.go:6.26,8.3 1 0 @@ -98,9 +48,6 @@ github.com/muety/wakapi/utils/collection.go:20.2,20.11 1 0 github.com/muety/wakapi/utils/collection.go:14.22,15.18 1 0 github.com/muety/wakapi/utils/collection.go:18.3,18.12 1 0 github.com/muety/wakapi/utils/collection.go:15.18,17.4 1 0 -github.com/muety/wakapi/utils/cron.go:5.44,7.21 2 0 -github.com/muety/wakapi/utils/cron.go:10.2,10.20 1 0 -github.com/muety/wakapi/utils/cron.go:7.21,9.3 1 0 github.com/muety/wakapi/utils/date.go:9.48,11.2 1 0 github.com/muety/wakapi/utils/date.go:13.51,15.2 1 0 github.com/muety/wakapi/utils/date.go:17.52,19.2 1 0 @@ -144,25 +91,61 @@ github.com/muety/wakapi/utils/db.go:47.15,49.3 1 0 github.com/muety/wakapi/utils/dns.go:9.38,11.21 2 0 github.com/muety/wakapi/utils/dns.go:14.2,15.39 2 0 github.com/muety/wakapi/utils/dns.go:11.21,13.3 1 0 -github.com/muety/wakapi/config/fs.go:9.56,10.19 1 0 -github.com/muety/wakapi/config/fs.go:13.2,13.19 1 0 -github.com/muety/wakapi/config/fs.go:10.19,12.3 1 0 -github.com/muety/wakapi/config/jobqueue.go:30.13,32.2 1 1 -github.com/muety/wakapi/config/jobqueue.go:34.18,41.2 6 0 -github.com/muety/wakapi/config/jobqueue.go:43.48,44.34 1 0 -github.com/muety/wakapi/config/jobqueue.go:47.2,50.12 4 0 -github.com/muety/wakapi/config/jobqueue.go:44.34,46.3 1 0 -github.com/muety/wakapi/config/jobqueue.go:53.44,55.2 1 0 -github.com/muety/wakapi/config/jobqueue.go:57.48,58.35 1 0 -github.com/muety/wakapi/config/jobqueue.go:61.2,61.24 1 0 -github.com/muety/wakapi/config/jobqueue.go:58.35,60.3 1 0 -github.com/muety/wakapi/config/jobqueue.go:64.43,66.37 2 0 -github.com/muety/wakapi/config/jobqueue.go:73.2,73.16 1 0 -github.com/muety/wakapi/config/jobqueue.go:66.37,72.3 1 0 -github.com/muety/wakapi/config/jobqueue.go:76.20,77.30 1 0 -github.com/muety/wakapi/config/jobqueue.go:77.30,79.3 1 0 -github.com/muety/wakapi/config/jobqueue.go:82.20,84.2 1 0 -github.com/muety/wakapi/config/jobqueue.go:86.21,88.2 1 0 +github.com/muety/wakapi/utils/auth.go:15.79,17.54 2 0 +github.com/muety/wakapi/utils/auth.go:21.2,23.16 3 0 +github.com/muety/wakapi/utils/auth.go:27.2,29.45 3 0 +github.com/muety/wakapi/utils/auth.go:32.2,33.32 2 0 +github.com/muety/wakapi/utils/auth.go:17.54,19.3 1 0 +github.com/muety/wakapi/utils/auth.go:23.16,25.3 1 0 +github.com/muety/wakapi/utils/auth.go:29.45,31.3 1 0 +github.com/muety/wakapi/utils/auth.go:36.65,38.85 2 0 +github.com/muety/wakapi/utils/auth.go:42.2,43.30 2 0 +github.com/muety/wakapi/utils/auth.go:38.85,40.3 1 0 +github.com/muety/wakapi/utils/auth.go:48.57,49.34 1 0 +github.com/muety/wakapi/utils/auth.go:52.2,52.45 1 0 +github.com/muety/wakapi/utils/auth.go:49.34,51.3 1 0 +github.com/muety/wakapi/utils/auth.go:55.57,57.2 1 0 +github.com/muety/wakapi/utils/auth.go:59.55,63.2 3 0 +github.com/muety/wakapi/utils/auth.go:65.55,68.16 3 0 +github.com/muety/wakapi/utils/auth.go:71.2,71.16 1 0 +github.com/muety/wakapi/utils/auth.go:68.16,70.3 1 0 +github.com/muety/wakapi/utils/auth.go:74.57,78.2 3 0 +github.com/muety/wakapi/utils/auth.go:80.57,83.16 3 0 +github.com/muety/wakapi/utils/auth.go:86.2,86.16 1 0 +github.com/muety/wakapi/utils/auth.go:83.16,85.3 1 0 +github.com/muety/wakapi/utils/cron.go:5.44,7.21 2 0 +github.com/muety/wakapi/utils/cron.go:10.2,10.20 1 0 +github.com/muety/wakapi/utils/cron.go:7.21,9.3 1 0 +github.com/muety/wakapi/utils/json.go:12.75,18.62 2 0 +github.com/muety/wakapi/utils/json.go:22.2,22.29 1 0 +github.com/muety/wakapi/utils/json.go:26.2,26.72 1 0 +github.com/muety/wakapi/utils/json.go:29.2,29.70 1 0 +github.com/muety/wakapi/utils/json.go:33.2,33.20 1 0 +github.com/muety/wakapi/utils/json.go:18.62,20.3 1 0 +github.com/muety/wakapi/utils/json.go:22.29,24.3 1 0 +github.com/muety/wakapi/utils/json.go:26.72,28.3 1 0 +github.com/muety/wakapi/utils/json.go:29.70,31.3 1 0 +github.com/muety/wakapi/utils/template.go:13.41,15.16 2 0 +github.com/muety/wakapi/utils/template.go:18.2,18.23 1 0 +github.com/muety/wakapi/utils/template.go:15.16,17.3 1 0 +github.com/muety/wakapi/utils/template.go:21.37,22.30 1 0 +github.com/muety/wakapi/utils/template.go:25.2,25.10 1 0 +github.com/muety/wakapi/utils/template.go:22.30,24.3 1 0 +github.com/muety/wakapi/utils/template.go:28.83,33.16 4 0 +github.com/muety/wakapi/utils/template.go:37.2,37.29 1 0 +github.com/muety/wakapi/utils/template.go:62.2,62.23 1 0 +github.com/muety/wakapi/utils/template.go:33.16,35.3 1 0 +github.com/muety/wakapi/utils/template.go:37.29,39.51 2 0 +github.com/muety/wakapi/utils/template.go:43.3,44.17 2 0 +github.com/muety/wakapi/utils/template.go:47.3,48.17 2 0 +github.com/muety/wakapi/utils/template.go:52.3,55.17 3 0 +github.com/muety/wakapi/utils/template.go:59.3,59.27 1 0 +github.com/muety/wakapi/utils/template.go:39.51,40.12 1 0 +github.com/muety/wakapi/utils/template.go:44.17,46.4 1 0 +github.com/muety/wakapi/utils/template.go:48.17,50.4 1 0 +github.com/muety/wakapi/utils/template.go:55.17,57.4 1 0 +github.com/muety/wakapi/config/eventbus.go:27.13,29.2 1 1 +github.com/muety/wakapi/config/eventbus.go:31.26,33.2 1 0 github.com/muety/wakapi/config/key_utils.go:11.58,15.44 2 0 github.com/muety/wakapi/config/key_utils.go:30.2,31.16 2 0 github.com/muety/wakapi/config/key_utils.go:34.2,37.51 3 0 @@ -174,17 +157,6 @@ github.com/muety/wakapi/config/key_utils.go:17.17,19.4 1 0 github.com/muety/wakapi/config/key_utils.go:23.17,25.4 1 0 github.com/muety/wakapi/config/key_utils.go:31.16,33.3 1 0 github.com/muety/wakapi/config/key_utils.go:37.51,39.3 1 0 -github.com/muety/wakapi/config/db_opts.go:11.56,13.2 1 0 -github.com/muety/wakapi/config/db_opts.go:15.59,17.2 1 0 -github.com/muety/wakapi/config/db_opts.go:19.61,21.39 1 0 -github.com/muety/wakapi/config/db_opts.go:28.2,28.30 1 0 -github.com/muety/wakapi/config/db_opts.go:34.2,34.12 1 0 -github.com/muety/wakapi/config/db_opts.go:21.39,23.100 1 0 -github.com/muety/wakapi/config/db_opts.go:23.100,25.4 1 0 -github.com/muety/wakapi/config/db_opts.go:28.30,29.68 1 0 -github.com/muety/wakapi/config/db_opts.go:29.68,31.4 1 0 -github.com/muety/wakapi/config/eventbus.go:27.13,29.2 1 1 -github.com/muety/wakapi/config/eventbus.go:31.26,33.2 1 0 github.com/muety/wakapi/config/sentry.go:21.35,23.2 1 0 github.com/muety/wakapi/config/sentry.go:25.62,28.2 2 0 github.com/muety/wakapi/config/sentry.go:38.33,45.2 2 0 @@ -219,6 +191,22 @@ github.com/muety/wakapi/config/sentry.go:148.51,150.3 1 0 github.com/muety/wakapi/config/session.go:9.46,10.25 1 0 github.com/muety/wakapi/config/session.go:13.2,13.21 1 0 github.com/muety/wakapi/config/session.go:10.25,12.3 1 0 +github.com/muety/wakapi/config/jobqueue.go:30.13,32.2 1 1 +github.com/muety/wakapi/config/jobqueue.go:34.18,41.2 6 0 +github.com/muety/wakapi/config/jobqueue.go:43.48,44.34 1 0 +github.com/muety/wakapi/config/jobqueue.go:47.2,50.12 4 0 +github.com/muety/wakapi/config/jobqueue.go:44.34,46.3 1 0 +github.com/muety/wakapi/config/jobqueue.go:53.44,55.2 1 0 +github.com/muety/wakapi/config/jobqueue.go:57.48,58.35 1 0 +github.com/muety/wakapi/config/jobqueue.go:61.2,61.24 1 0 +github.com/muety/wakapi/config/jobqueue.go:58.35,60.3 1 0 +github.com/muety/wakapi/config/jobqueue.go:64.43,66.37 2 0 +github.com/muety/wakapi/config/jobqueue.go:73.2,73.16 1 0 +github.com/muety/wakapi/config/jobqueue.go:66.37,72.3 1 0 +github.com/muety/wakapi/config/jobqueue.go:76.20,77.30 1 0 +github.com/muety/wakapi/config/jobqueue.go:77.30,79.3 1 0 +github.com/muety/wakapi/config/jobqueue.go:82.20,84.2 1 0 +github.com/muety/wakapi/config/jobqueue.go:86.21,88.2 1 0 github.com/muety/wakapi/config/config.go:183.64,185.2 1 0 github.com/muety/wakapi/config/config.go:187.59,189.2 1 0 github.com/muety/wakapi/config/config.go:191.82,201.2 1 0 @@ -329,51 +317,18 @@ github.com/muety/wakapi/config/db.go:84.2,91.3 1 1 github.com/muety/wakapi/config/db.go:75.25,77.3 1 0 github.com/muety/wakapi/config/db.go:80.16,82.3 1 0 github.com/muety/wakapi/config/db.go:94.54,96.2 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:32.91,38.2 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:40.90,43.2 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:45.90,48.2 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:50.99,53.2 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:55.71,56.71 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:56.71,58.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:61.107,65.16 3 0 -github.com/muety/wakapi/middlewares/authenticate.go:68.2,68.16 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:72.2,72.31 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:93.2,94.12 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:65.16,67.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:68.16,70.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:72.31,73.31 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:78.3,78.29 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:90.3,90.9 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:73.31,76.4 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:78.29,81.4 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:81.9,82.36 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:87.4,88.59 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:82.36,86.5 3 0 -github.com/muety/wakapi/middlewares/authenticate.go:97.70,98.39 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:103.2,103.14 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:98.39,99.60 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:99.60,101.4 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:106.98,108.16 2 1 -github.com/muety/wakapi/middlewares/authenticate.go:112.2,115.16 4 1 -github.com/muety/wakapi/middlewares/authenticate.go:118.2,118.18 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:108.16,110.3 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:115.16,117.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:121.97,125.19 4 1 -github.com/muety/wakapi/middlewares/authenticate.go:128.2,129.16 2 1 -github.com/muety/wakapi/middlewares/authenticate.go:132.2,132.18 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:125.19,127.3 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:129.16,131.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:135.92,137.16 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:141.2,142.16 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:149.2,149.18 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:137.16,139.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:142.16,144.3 1 0 -github.com/muety/wakapi/middlewares/filetype.go:13.83,14.43 1 0 -github.com/muety/wakapi/middlewares/filetype.go:14.43,19.3 1 0 -github.com/muety/wakapi/middlewares/filetype.go:22.84,24.34 2 0 -github.com/muety/wakapi/middlewares/filetype.go:31.2,31.27 1 0 -github.com/muety/wakapi/middlewares/filetype.go:24.34,25.50 1 0 -github.com/muety/wakapi/middlewares/filetype.go:25.50,29.4 3 0 +github.com/muety/wakapi/config/db_opts.go:11.56,13.2 1 0 +github.com/muety/wakapi/config/db_opts.go:15.59,17.2 1 0 +github.com/muety/wakapi/config/db_opts.go:19.61,21.39 1 0 +github.com/muety/wakapi/config/db_opts.go:28.2,28.30 1 0 +github.com/muety/wakapi/config/db_opts.go:34.2,34.12 1 0 +github.com/muety/wakapi/config/db_opts.go:21.39,23.100 1 0 +github.com/muety/wakapi/config/db_opts.go:23.100,25.4 1 0 +github.com/muety/wakapi/config/db_opts.go:28.30,29.68 1 0 +github.com/muety/wakapi/config/db_opts.go:29.68,31.4 1 0 +github.com/muety/wakapi/config/fs.go:9.56,10.19 1 0 +github.com/muety/wakapi/config/fs.go:13.2,13.19 1 0 +github.com/muety/wakapi/config/fs.go:10.19,12.3 1 0 github.com/muety/wakapi/middlewares/logging.go:20.102,21.43 1 0 github.com/muety/wakapi/middlewares/logging.go:21.43,27.3 1 0 github.com/muety/wakapi/middlewares/logging.go:30.80,39.44 7 0 @@ -425,13 +380,51 @@ github.com/muety/wakapi/middlewares/sentry.go:16.43,20.3 1 0 github.com/muety/wakapi/middlewares/sentry.go:23.78,26.54 3 0 github.com/muety/wakapi/middlewares/sentry.go:26.54,27.43 1 0 github.com/muety/wakapi/middlewares/sentry.go:27.43,29.4 1 0 -github.com/muety/wakapi/routes/utils/project_utils.go:15.144,18.16 2 0 -github.com/muety/wakapi/routes/utils/project_utils.go:23.2,24.16 2 0 -github.com/muety/wakapi/routes/utils/project_utils.go:28.2,32.35 2 0 -github.com/muety/wakapi/routes/utils/project_utils.go:37.2,39.20 3 0 -github.com/muety/wakapi/routes/utils/project_utils.go:18.16,20.3 1 0 -github.com/muety/wakapi/routes/utils/project_utils.go:24.16,26.3 1 0 -github.com/muety/wakapi/routes/utils/project_utils.go:32.35,35.3 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:32.91,38.2 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:40.90,43.2 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:45.90,48.2 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:50.99,53.2 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:55.71,56.71 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:56.71,58.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:61.107,65.16 3 0 +github.com/muety/wakapi/middlewares/authenticate.go:68.2,68.16 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:72.2,72.31 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:93.2,94.12 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:65.16,67.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:68.16,70.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:72.31,73.31 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:78.3,78.29 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:90.3,90.9 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:73.31,76.4 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:78.29,81.4 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:81.9,82.36 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:87.4,88.59 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:82.36,86.5 3 0 +github.com/muety/wakapi/middlewares/authenticate.go:97.70,98.39 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:103.2,103.14 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:98.39,99.60 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:99.60,101.4 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:106.98,108.16 2 1 +github.com/muety/wakapi/middlewares/authenticate.go:112.2,115.16 4 1 +github.com/muety/wakapi/middlewares/authenticate.go:118.2,118.18 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:108.16,110.3 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:115.16,117.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:121.97,125.19 4 1 +github.com/muety/wakapi/middlewares/authenticate.go:128.2,129.16 2 1 +github.com/muety/wakapi/middlewares/authenticate.go:132.2,132.18 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:125.19,127.3 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:129.16,131.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:135.92,137.16 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:141.2,142.16 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:149.2,149.18 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:137.16,139.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:142.16,144.3 1 0 +github.com/muety/wakapi/middlewares/filetype.go:13.83,14.43 1 0 +github.com/muety/wakapi/middlewares/filetype.go:14.43,19.3 1 0 +github.com/muety/wakapi/middlewares/filetype.go:22.84,24.34 2 0 +github.com/muety/wakapi/middlewares/filetype.go:31.2,31.27 1 0 +github.com/muety/wakapi/middlewares/filetype.go:24.34,25.50 1 0 +github.com/muety/wakapi/middlewares/filetype.go:25.50,29.4 3 0 github.com/muety/wakapi/routes/utils/summary_utils.go:12.98,14.16 2 0 github.com/muety/wakapi/routes/utils/summary_utils.go:17.2,17.51 1 0 github.com/muety/wakapi/routes/utils/summary_utils.go:14.16,16.3 1 0 @@ -495,49 +488,13 @@ github.com/muety/wakapi/routes/utils/messages.go:25.2,26.11 2 0 github.com/muety/wakapi/routes/utils/messages.go:19.57,21.3 1 0 github.com/muety/wakapi/routes/utils/messages.go:22.65,24.3 1 0 github.com/muety/wakapi/routes/utils/messages.go:29.78,33.2 3 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:21.116,27.2 1 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:29.58,30.34 1 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:30.34,33.3 2 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:45.68,47.16 2 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:51.2,52.72 2 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:58.2,58.72 1 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:47.16,49.3 1 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:52.72,54.3 1 1 -github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:54.8,56.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:23.116,29.2 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:31.60,32.34 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:32.34,35.3 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:47.70,49.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:53.2,54.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:60.2,61.46 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:49.16,51.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:54.16,58.3 3 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:64.116,73.29 3 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:77.2,85.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:89.2,89.36 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:73.29,75.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:85.16,87.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:29.124,34.2 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:36.62,37.34 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:37.34,40.3 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:52.72,54.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:58.2,61.16 4 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:67.2,71.16 4 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:78.2,84.47 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:54.16,56.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:61.16,65.3 3 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:71.16,76.3 4 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:23.123,29.2 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:31.61,32.34 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:32.34,35.3 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:48.71,50.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:54.2,55.16 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:62.2,65.28 3 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:71.2,72.46 2 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:50.16,52.3 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:55.16,60.3 4 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:65.28,66.30 1 0 -github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:66.30,68.4 1 0 +github.com/muety/wakapi/routes/utils/project_utils.go:15.144,18.16 2 0 +github.com/muety/wakapi/routes/utils/project_utils.go:23.2,24.16 2 0 +github.com/muety/wakapi/routes/utils/project_utils.go:28.2,32.35 2 0 +github.com/muety/wakapi/routes/utils/project_utils.go:37.2,39.20 3 0 +github.com/muety/wakapi/routes/utils/project_utils.go:18.16,20.3 1 0 +github.com/muety/wakapi/routes/utils/project_utils.go:24.16,26.3 1 0 +github.com/muety/wakapi/routes/utils/project_utils.go:32.35,35.3 2 0 github.com/muety/wakapi/routes/compat/wakatime/v1/stats.go:22.112,28.2 1 0 github.com/muety/wakapi/routes/compat/wakatime/v1/stats.go:30.58,31.34 1 0 github.com/muety/wakapi/routes/compat/wakatime/v1/stats.go:31.34,41.3 5 0 @@ -610,86 +567,87 @@ github.com/muety/wakapi/routes/compat/wakatime/v1/summaries.go:114.17,116.4 1 0 github.com/muety/wakapi/routes/compat/wakatime/v1/summaries.go:137.37,139.17 2 0 github.com/muety/wakapi/routes/compat/wakatime/v1/summaries.go:143.3,145.25 3 0 github.com/muety/wakapi/routes/compat/wakatime/v1/summaries.go:139.17,141.4 1 0 -github.com/muety/wakapi/models/duration.go:27.75,28.23 1 0 -github.com/muety/wakapi/models/duration.go:31.2,35.35 1 0 -github.com/muety/wakapi/models/duration.go:38.2,38.18 1 0 -github.com/muety/wakapi/models/duration.go:28.23,30.3 1 0 -github.com/muety/wakapi/models/duration.go:35.35,37.3 1 0 -github.com/muety/wakapi/models/duration.go:41.55,56.2 2 0 -github.com/muety/wakapi/models/duration.go:58.50,61.2 2 0 -github.com/muety/wakapi/models/duration.go:63.39,65.16 2 0 -github.com/muety/wakapi/models/duration.go:68.2,69.10 2 0 -github.com/muety/wakapi/models/duration.go:65.16,67.3 1 0 -github.com/muety/wakapi/models/duration.go:72.49,73.11 1 0 -github.com/muety/wakapi/models/duration.go:90.2,90.15 1 0 -github.com/muety/wakapi/models/duration.go:94.2,94.12 1 0 -github.com/muety/wakapi/models/duration.go:74.22,75.18 1 0 -github.com/muety/wakapi/models/duration.go:76.21,77.17 1 0 -github.com/muety/wakapi/models/duration.go:78.23,79.19 1 0 -github.com/muety/wakapi/models/duration.go:80.17,81.26 1 0 -github.com/muety/wakapi/models/duration.go:82.22,83.18 1 0 -github.com/muety/wakapi/models/duration.go:84.21,85.17 1 0 -github.com/muety/wakapi/models/duration.go:86.21,87.17 1 0 -github.com/muety/wakapi/models/duration.go:90.15,92.3 1 0 -github.com/muety/wakapi/models/durations.go:7.30,9.2 1 0 -github.com/muety/wakapi/models/durations.go:11.40,13.2 1 0 -github.com/muety/wakapi/models/durations.go:15.35,17.2 1 0 -github.com/muety/wakapi/models/durations.go:19.45,21.22 2 0 -github.com/muety/wakapi/models/durations.go:24.2,24.14 1 0 -github.com/muety/wakapi/models/durations.go:21.22,23.3 1 0 -github.com/muety/wakapi/models/durations.go:27.39,30.2 2 0 -github.com/muety/wakapi/models/durations.go:32.39,34.18 1 0 -github.com/muety/wakapi/models/durations.go:37.2,37.16 1 0 -github.com/muety/wakapi/models/durations.go:34.18,36.3 1 0 -github.com/muety/wakapi/models/durations.go:40.38,42.18 1 0 -github.com/muety/wakapi/models/durations.go:45.2,45.24 1 0 -github.com/muety/wakapi/models/durations.go:42.18,44.3 1 0 -github.com/muety/wakapi/models/heartbeat.go:33.34,35.2 1 1 -github.com/muety/wakapi/models/heartbeat.go:37.55,40.2 2 0 -github.com/muety/wakapi/models/heartbeat.go:42.65,44.46 2 1 -github.com/muety/wakapi/models/heartbeat.go:44.46,45.108 1 1 -github.com/muety/wakapi/models/heartbeat.go:45.108,48.4 2 1 -github.com/muety/wakapi/models/heartbeat.go:52.50,53.11 1 1 -github.com/muety/wakapi/models/heartbeat.go:70.2,70.15 1 1 -github.com/muety/wakapi/models/heartbeat.go:74.2,74.12 1 1 -github.com/muety/wakapi/models/heartbeat.go:54.22,55.18 1 1 -github.com/muety/wakapi/models/heartbeat.go:56.21,57.17 1 1 -github.com/muety/wakapi/models/heartbeat.go:58.23,59.19 1 1 -github.com/muety/wakapi/models/heartbeat.go:60.17,61.26 1 1 -github.com/muety/wakapi/models/heartbeat.go:62.22,63.18 1 1 -github.com/muety/wakapi/models/heartbeat.go:64.21,65.17 1 0 -github.com/muety/wakapi/models/heartbeat.go:66.21,67.17 1 0 -github.com/muety/wakapi/models/heartbeat.go:70.15,72.3 1 1 -github.com/muety/wakapi/models/heartbeat.go:77.37,93.2 1 0 -github.com/muety/wakapi/models/heartbeat.go:101.41,103.16 2 1 -github.com/muety/wakapi/models/heartbeat.go:106.2,107.10 2 1 -github.com/muety/wakapi/models/heartbeat.go:103.16,105.3 1 0 -github.com/muety/wakapi/models/heartbeat.go:110.38,120.2 1 0 -github.com/muety/wakapi/models/heartbeats.go:7.31,9.2 1 0 -github.com/muety/wakapi/models/heartbeats.go:11.41,13.2 1 0 -github.com/muety/wakapi/models/heartbeats.go:15.36,17.2 1 0 -github.com/muety/wakapi/models/heartbeats.go:19.43,22.2 2 0 -github.com/muety/wakapi/models/heartbeats.go:24.41,26.18 1 0 -github.com/muety/wakapi/models/heartbeats.go:29.2,29.16 1 0 -github.com/muety/wakapi/models/heartbeats.go:26.18,28.3 1 0 -github.com/muety/wakapi/models/heartbeats.go:32.40,34.18 1 0 -github.com/muety/wakapi/models/heartbeats.go:37.2,37.24 1 0 -github.com/muety/wakapi/models/heartbeats.go:34.18,36.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:21.116,27.2 1 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:29.58,30.34 1 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:30.34,33.3 2 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:45.68,47.16 2 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:51.2,52.72 2 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:58.2,58.72 1 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:47.16,49.3 1 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:52.72,54.3 1 1 +github.com/muety/wakapi/routes/compat/wakatime/v1/users.go:54.8,56.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:23.116,29.2 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:31.60,32.34 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:32.34,35.3 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:47.70,49.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:53.2,54.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:60.2,61.46 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:49.16,51.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:54.16,58.3 3 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:64.116,73.29 3 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:77.2,85.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:89.2,89.36 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:73.29,75.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/all_time.go:85.16,87.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:29.124,34.2 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:36.62,37.34 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:37.34,40.3 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:52.72,54.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:58.2,61.16 4 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:67.2,71.16 4 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:78.2,84.47 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:54.16,56.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:61.16,65.3 3 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/heartbeat.go:71.16,76.3 4 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:23.123,29.2 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:31.61,32.34 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:32.34,35.3 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:48.71,50.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:54.2,55.16 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:62.2,65.28 3 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:71.2,72.46 2 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:50.16,52.3 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:55.16,60.3 4 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:65.28,66.30 1 0 +github.com/muety/wakapi/routes/compat/wakatime/v1/projects.go:66.30,68.4 1 0 +github.com/muety/wakapi/models/alias.go:18.32,20.2 1 0 +github.com/muety/wakapi/models/alias.go:22.37,23.35 1 0 +github.com/muety/wakapi/models/alias.go:28.2,28.14 1 0 +github.com/muety/wakapi/models/alias.go:23.35,24.18 1 0 +github.com/muety/wakapi/models/alias.go:24.18,26.4 1 0 github.com/muety/wakapi/models/interval.go:41.47,42.23 1 0 github.com/muety/wakapi/models/interval.go:47.2,47.14 1 0 github.com/muety/wakapi/models/interval.go:42.23,43.13 1 0 github.com/muety/wakapi/models/interval.go:43.13,45.4 1 0 -github.com/muety/wakapi/models/mail.go:23.44,27.2 3 0 -github.com/muety/wakapi/models/mail.go:29.44,33.2 3 0 -github.com/muety/wakapi/models/mail.go:35.34,36.18 1 0 -github.com/muety/wakapi/models/mail.go:39.2,39.21 1 0 -github.com/muety/wakapi/models/mail.go:42.2,42.23 1 0 -github.com/muety/wakapi/models/mail.go:45.2,45.10 1 0 -github.com/muety/wakapi/models/mail.go:36.18,38.3 1 0 -github.com/muety/wakapi/models/mail.go:39.21,41.3 1 0 -github.com/muety/wakapi/models/mail.go:42.23,44.3 1 0 -github.com/muety/wakapi/models/mail.go:48.32,67.2 1 0 -github.com/muety/wakapi/models/mail.go:69.41,71.2 1 0 +github.com/muety/wakapi/models/leaderboard.go:28.73,30.2 1 0 +github.com/muety/wakapi/models/leaderboard.go:34.56,35.103 1 0 +github.com/muety/wakapi/models/leaderboard.go:35.103,37.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:37.13,39.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:42.63,43.29 1 0 +github.com/muety/wakapi/models/leaderboard.go:43.29,45.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:48.41,49.123 1 0 +github.com/muety/wakapi/models/leaderboard.go:49.123,51.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:54.50,56.2 1 0 +github.com/muety/wakapi/models/leaderboard.go:58.65,59.95 1 0 +github.com/muety/wakapi/models/leaderboard.go:59.95,61.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:64.49,72.25 3 0 +github.com/muety/wakapi/models/leaderboard.go:83.2,83.129 1 0 +github.com/muety/wakapi/models/leaderboard.go:86.2,86.67 1 0 +github.com/muety/wakapi/models/leaderboard.go:90.2,90.79 1 0 +github.com/muety/wakapi/models/leaderboard.go:72.25,73.58 1 0 +github.com/muety/wakapi/models/leaderboard.go:76.3,77.38 2 0 +github.com/muety/wakapi/models/leaderboard.go:80.3,80.40 1 0 +github.com/muety/wakapi/models/leaderboard.go:73.58,74.12 1 0 +github.com/muety/wakapi/models/leaderboard.go:77.38,79.4 1 0 +github.com/muety/wakapi/models/leaderboard.go:83.129,85.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:86.67,88.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:90.79,92.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:95.70,96.107 1 0 +github.com/muety/wakapi/models/leaderboard.go:96.107,98.3 1 0 +github.com/muety/wakapi/models/leaderboard.go:101.45,103.25 2 0 +github.com/muety/wakapi/models/leaderboard.go:108.2,108.19 1 0 +github.com/muety/wakapi/models/leaderboard.go:103.25,104.43 1 0 +github.com/muety/wakapi/models/leaderboard.go:104.43,106.4 1 0 github.com/muety/wakapi/models/mail_address.go:18.13,21.2 2 1 github.com/muety/wakapi/models/mail_address.go:27.38,29.2 1 0 github.com/muety/wakapi/models/mail_address.go:31.35,33.21 2 1 @@ -711,11 +669,6 @@ github.com/muety/wakapi/models/mail_address.go:70.40,71.22 1 1 github.com/muety/wakapi/models/mail_address.go:76.2,76.13 1 1 github.com/muety/wakapi/models/mail_address.go:71.22,72.17 1 1 github.com/muety/wakapi/models/mail_address.go:72.17,74.4 1 1 -github.com/muety/wakapi/models/alias.go:18.32,20.2 1 0 -github.com/muety/wakapi/models/alias.go:22.37,23.35 1 0 -github.com/muety/wakapi/models/alias.go:28.2,28.14 1 0 -github.com/muety/wakapi/models/alias.go:23.35,24.18 1 0 -github.com/muety/wakapi/models/alias.go:24.18,26.4 1 0 github.com/muety/wakapi/models/user.go:13.13,15.2 1 1 github.com/muety/wakapi/models/user.go:90.34,92.2 1 0 github.com/muety/wakapi/models/user.go:94.36,95.22 1 1 @@ -750,22 +703,27 @@ github.com/muety/wakapi/models/user.go:187.45,189.2 1 0 github.com/muety/wakapi/models/user.go:191.45,193.2 1 0 github.com/muety/wakapi/models/user.go:196.39,198.2 1 0 github.com/muety/wakapi/models/user.go:200.39,203.2 2 0 -github.com/muety/wakapi/models/shared.go:38.52,40.2 1 0 -github.com/muety/wakapi/models/shared.go:42.52,45.16 3 0 -github.com/muety/wakapi/models/shared.go:48.2,50.12 3 0 -github.com/muety/wakapi/models/shared.go:45.16,47.3 1 0 -github.com/muety/wakapi/models/shared.go:53.52,59.22 2 0 -github.com/muety/wakapi/models/shared.go:74.2,77.12 3 0 -github.com/muety/wakapi/models/shared.go:60.14,64.17 2 0 -github.com/muety/wakapi/models/shared.go:67.17,69.8 2 0 -github.com/muety/wakapi/models/shared.go:70.10,71.64 1 0 -github.com/muety/wakapi/models/shared.go:64.17,66.4 1 0 -github.com/muety/wakapi/models/shared.go:80.51,83.2 2 0 -github.com/muety/wakapi/models/shared.go:85.45,87.2 1 1 -github.com/muety/wakapi/models/shared.go:89.37,91.2 1 0 -github.com/muety/wakapi/models/shared.go:93.35,95.2 1 1 -github.com/muety/wakapi/models/shared.go:97.34,99.2 1 0 -github.com/muety/wakapi/models/models.go:3.14,5.2 0 1 +github.com/muety/wakapi/models/duration.go:27.75,28.23 1 0 +github.com/muety/wakapi/models/duration.go:31.2,35.35 1 0 +github.com/muety/wakapi/models/duration.go:38.2,38.18 1 0 +github.com/muety/wakapi/models/duration.go:28.23,30.3 1 0 +github.com/muety/wakapi/models/duration.go:35.35,37.3 1 0 +github.com/muety/wakapi/models/duration.go:41.55,56.2 2 0 +github.com/muety/wakapi/models/duration.go:58.50,61.2 2 0 +github.com/muety/wakapi/models/duration.go:63.39,65.16 2 0 +github.com/muety/wakapi/models/duration.go:68.2,69.10 2 0 +github.com/muety/wakapi/models/duration.go:65.16,67.3 1 0 +github.com/muety/wakapi/models/duration.go:72.49,73.11 1 0 +github.com/muety/wakapi/models/duration.go:90.2,90.15 1 0 +github.com/muety/wakapi/models/duration.go:94.2,94.12 1 0 +github.com/muety/wakapi/models/duration.go:74.22,75.18 1 0 +github.com/muety/wakapi/models/duration.go:76.21,77.17 1 0 +github.com/muety/wakapi/models/duration.go:78.23,79.19 1 0 +github.com/muety/wakapi/models/duration.go:80.17,81.26 1 0 +github.com/muety/wakapi/models/duration.go:82.22,83.18 1 0 +github.com/muety/wakapi/models/duration.go:84.21,85.17 1 0 +github.com/muety/wakapi/models/duration.go:86.21,87.17 1 0 +github.com/muety/wakapi/models/duration.go:90.15,92.3 1 0 github.com/muety/wakapi/models/filters.go:22.33,24.2 1 1 github.com/muety/wakapi/models/filters.go:26.48,27.22 1 1 github.com/muety/wakapi/models/filters.go:32.2,32.14 1 1 @@ -858,39 +816,31 @@ github.com/muety/wakapi/models/filters.go:230.2,230.10 1 1 github.com/muety/wakapi/models/filters.go:224.41,226.3 1 0 github.com/muety/wakapi/models/filters.go:227.28,229.3 1 1 github.com/muety/wakapi/models/filters.go:233.43,235.2 1 0 -github.com/muety/wakapi/models/leaderboard.go:28.73,30.2 1 0 -github.com/muety/wakapi/models/leaderboard.go:34.56,35.103 1 0 -github.com/muety/wakapi/models/leaderboard.go:35.103,37.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:37.13,39.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:42.63,43.29 1 0 -github.com/muety/wakapi/models/leaderboard.go:43.29,45.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:48.41,49.123 1 0 -github.com/muety/wakapi/models/leaderboard.go:49.123,51.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:54.50,56.2 1 0 -github.com/muety/wakapi/models/leaderboard.go:58.65,59.95 1 0 -github.com/muety/wakapi/models/leaderboard.go:59.95,61.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:64.49,72.25 3 0 -github.com/muety/wakapi/models/leaderboard.go:83.2,83.129 1 0 -github.com/muety/wakapi/models/leaderboard.go:86.2,86.67 1 0 -github.com/muety/wakapi/models/leaderboard.go:90.2,90.79 1 0 -github.com/muety/wakapi/models/leaderboard.go:72.25,73.58 1 0 -github.com/muety/wakapi/models/leaderboard.go:76.3,77.38 2 0 -github.com/muety/wakapi/models/leaderboard.go:80.3,80.40 1 0 -github.com/muety/wakapi/models/leaderboard.go:73.58,74.12 1 0 -github.com/muety/wakapi/models/leaderboard.go:77.38,79.4 1 0 -github.com/muety/wakapi/models/leaderboard.go:83.129,85.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:86.67,88.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:90.79,92.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:95.70,96.107 1 0 -github.com/muety/wakapi/models/leaderboard.go:96.107,98.3 1 0 -github.com/muety/wakapi/models/leaderboard.go:101.45,103.25 2 0 -github.com/muety/wakapi/models/leaderboard.go:108.2,108.19 1 0 -github.com/muety/wakapi/models/leaderboard.go:103.25,104.43 1 0 -github.com/muety/wakapi/models/leaderboard.go:104.43,106.4 1 0 -github.com/muety/wakapi/models/project_label.go:14.39,16.2 1 0 -github.com/muety/wakapi/models/language_mapping.go:11.42,13.2 1 0 -github.com/muety/wakapi/models/language_mapping.go:15.51,17.2 1 0 -github.com/muety/wakapi/models/language_mapping.go:19.52,21.2 1 0 +github.com/muety/wakapi/models/heartbeat.go:34.34,36.2 1 1 +github.com/muety/wakapi/models/heartbeat.go:38.55,41.2 2 0 +github.com/muety/wakapi/models/heartbeat.go:43.43,49.80 1 0 +github.com/muety/wakapi/models/heartbeat.go:53.2,56.10 3 0 +github.com/muety/wakapi/models/heartbeat.go:49.80,51.3 1 0 +github.com/muety/wakapi/models/heartbeat.go:59.65,61.46 2 1 +github.com/muety/wakapi/models/heartbeat.go:61.46,62.108 1 1 +github.com/muety/wakapi/models/heartbeat.go:62.108,65.4 2 1 +github.com/muety/wakapi/models/heartbeat.go:69.50,70.11 1 1 +github.com/muety/wakapi/models/heartbeat.go:87.2,87.15 1 1 +github.com/muety/wakapi/models/heartbeat.go:91.2,91.12 1 1 +github.com/muety/wakapi/models/heartbeat.go:71.22,72.18 1 1 +github.com/muety/wakapi/models/heartbeat.go:73.21,74.17 1 1 +github.com/muety/wakapi/models/heartbeat.go:75.23,76.19 1 1 +github.com/muety/wakapi/models/heartbeat.go:77.17,78.26 1 1 +github.com/muety/wakapi/models/heartbeat.go:79.22,80.18 1 1 +github.com/muety/wakapi/models/heartbeat.go:81.21,82.17 1 0 +github.com/muety/wakapi/models/heartbeat.go:83.21,84.17 1 0 +github.com/muety/wakapi/models/heartbeat.go:87.15,89.3 1 1 +github.com/muety/wakapi/models/heartbeat.go:94.37,110.2 1 0 +github.com/muety/wakapi/models/heartbeat.go:118.41,120.16 2 1 +github.com/muety/wakapi/models/heartbeat.go:123.2,124.10 2 1 +github.com/muety/wakapi/models/heartbeat.go:120.16,122.3 1 0 +github.com/muety/wakapi/models/heartbeat.go:127.38,137.2 1 0 +github.com/muety/wakapi/models/models.go:3.14,5.2 0 1 github.com/muety/wakapi/models/summary.go:66.29,68.2 1 1 github.com/muety/wakapi/models/summary.go:70.35,72.2 1 0 github.com/muety/wakapi/models/summary.go:74.38,76.2 1 0 @@ -990,13 +940,59 @@ github.com/muety/wakapi/models/summary.go:368.50,372.2 1 1 github.com/muety/wakapi/models/summary.go:374.33,376.2 1 1 github.com/muety/wakapi/models/summary.go:378.43,380.2 1 1 github.com/muety/wakapi/models/summary.go:382.38,384.2 1 1 -github.com/muety/wakapi/routes/api/diagnostics.go:20.138,26.2 1 0 -github.com/muety/wakapi/routes/api/diagnostics.go:28.67,30.2 1 0 -github.com/muety/wakapi/routes/api/diagnostics.go:39.78,42.69 2 0 -github.com/muety/wakapi/routes/api/diagnostics.go:49.2,49.66 1 0 -github.com/muety/wakapi/routes/api/diagnostics.go:56.2,56.59 1 0 -github.com/muety/wakapi/routes/api/diagnostics.go:42.69,47.3 4 0 -github.com/muety/wakapi/routes/api/diagnostics.go:49.66,54.3 4 0 +github.com/muety/wakapi/models/heartbeats.go:7.31,9.2 1 0 +github.com/muety/wakapi/models/heartbeats.go:11.41,13.2 1 0 +github.com/muety/wakapi/models/heartbeats.go:15.36,17.2 1 0 +github.com/muety/wakapi/models/heartbeats.go:19.43,22.2 2 0 +github.com/muety/wakapi/models/heartbeats.go:24.41,26.18 1 0 +github.com/muety/wakapi/models/heartbeats.go:29.2,29.16 1 0 +github.com/muety/wakapi/models/heartbeats.go:26.18,28.3 1 0 +github.com/muety/wakapi/models/heartbeats.go:32.40,34.18 1 0 +github.com/muety/wakapi/models/heartbeats.go:37.2,37.24 1 0 +github.com/muety/wakapi/models/heartbeats.go:34.18,36.3 1 0 +github.com/muety/wakapi/models/language_mapping.go:11.42,13.2 1 0 +github.com/muety/wakapi/models/language_mapping.go:15.51,17.2 1 0 +github.com/muety/wakapi/models/language_mapping.go:19.52,21.2 1 0 +github.com/muety/wakapi/models/shared.go:38.52,40.2 1 0 +github.com/muety/wakapi/models/shared.go:42.52,45.16 3 0 +github.com/muety/wakapi/models/shared.go:48.2,50.12 3 0 +github.com/muety/wakapi/models/shared.go:45.16,47.3 1 0 +github.com/muety/wakapi/models/shared.go:53.52,59.22 2 0 +github.com/muety/wakapi/models/shared.go:74.2,77.12 3 0 +github.com/muety/wakapi/models/shared.go:60.14,64.17 2 0 +github.com/muety/wakapi/models/shared.go:67.17,69.8 2 0 +github.com/muety/wakapi/models/shared.go:70.10,71.64 1 0 +github.com/muety/wakapi/models/shared.go:64.17,66.4 1 0 +github.com/muety/wakapi/models/shared.go:80.51,83.2 2 0 +github.com/muety/wakapi/models/shared.go:85.45,87.2 1 1 +github.com/muety/wakapi/models/shared.go:89.37,91.2 1 0 +github.com/muety/wakapi/models/shared.go:93.35,95.2 1 1 +github.com/muety/wakapi/models/shared.go:97.34,99.2 1 0 +github.com/muety/wakapi/models/durations.go:7.30,9.2 1 0 +github.com/muety/wakapi/models/durations.go:11.40,13.2 1 0 +github.com/muety/wakapi/models/durations.go:15.35,17.2 1 0 +github.com/muety/wakapi/models/durations.go:19.45,21.22 2 0 +github.com/muety/wakapi/models/durations.go:24.2,24.14 1 0 +github.com/muety/wakapi/models/durations.go:21.22,23.3 1 0 +github.com/muety/wakapi/models/durations.go:27.39,30.2 2 0 +github.com/muety/wakapi/models/durations.go:32.39,34.18 1 0 +github.com/muety/wakapi/models/durations.go:37.2,37.16 1 0 +github.com/muety/wakapi/models/durations.go:34.18,36.3 1 0 +github.com/muety/wakapi/models/durations.go:40.38,42.18 1 0 +github.com/muety/wakapi/models/durations.go:45.2,45.24 1 0 +github.com/muety/wakapi/models/durations.go:42.18,44.3 1 0 +github.com/muety/wakapi/models/mail.go:23.44,27.2 3 0 +github.com/muety/wakapi/models/mail.go:29.44,33.2 3 0 +github.com/muety/wakapi/models/mail.go:35.34,36.18 1 0 +github.com/muety/wakapi/models/mail.go:39.2,39.21 1 0 +github.com/muety/wakapi/models/mail.go:42.2,42.23 1 0 +github.com/muety/wakapi/models/mail.go:45.2,45.10 1 0 +github.com/muety/wakapi/models/mail.go:36.18,38.3 1 0 +github.com/muety/wakapi/models/mail.go:39.21,41.3 1 0 +github.com/muety/wakapi/models/mail.go:42.23,44.3 1 0 +github.com/muety/wakapi/models/mail.go:48.32,67.2 1 0 +github.com/muety/wakapi/models/mail.go:69.41,71.2 1 0 +github.com/muety/wakapi/models/project_label.go:14.39,16.2 1 0 github.com/muety/wakapi/routes/api/health.go:15.57,17.2 1 0 github.com/muety/wakapi/routes/api/health.go:19.62,21.2 1 0 github.com/muety/wakapi/routes/api/health.go:29.72,31.41 2 0 @@ -1121,318 +1117,36 @@ github.com/muety/wakapi/routes/api/badge.go:76.66,78.3 1 0 github.com/muety/wakapi/routes/api/badge.go:79.66,81.3 1 0 github.com/muety/wakapi/routes/api/badge.go:83.101,85.3 1 1 github.com/muety/wakapi/routes/api/badge.go:92.53,97.2 4 1 -github.com/muety/wakapi/services/duration.go:18.78,24.2 2 1 -github.com/muety/wakapi/services/duration.go:26.123,29.42 2 1 -github.com/muety/wakapi/services/duration.go:35.2,36.16 2 1 -github.com/muety/wakapi/services/duration.go:43.2,48.31 4 1 -github.com/muety/wakapi/services/duration.go:99.2,101.31 2 1 -github.com/muety/wakapi/services/duration.go:114.2,114.49 1 1 -github.com/muety/wakapi/services/duration.go:118.2,118.32 1 1 -github.com/muety/wakapi/services/duration.go:29.42,30.90 1 1 -github.com/muety/wakapi/services/duration.go:30.90,32.4 1 1 -github.com/muety/wakapi/services/duration.go:36.16,38.3 1 0 -github.com/muety/wakapi/services/duration.go:48.31,49.42 1 1 -github.com/muety/wakapi/services/duration.go:53.3,54.34 2 1 -github.com/muety/wakapi/services/duration.go:58.3,58.62 1 1 -github.com/muety/wakapi/services/duration.go:62.3,62.20 1 1 -github.com/muety/wakapi/services/duration.go:67.3,77.15 3 1 -github.com/muety/wakapi/services/duration.go:80.3,86.84 2 1 -github.com/muety/wakapi/services/duration.go:96.3,96.10 1 1 -github.com/muety/wakapi/services/duration.go:49.42,50.12 1 1 -github.com/muety/wakapi/services/duration.go:54.34,56.4 1 1 -github.com/muety/wakapi/services/duration.go:58.62,60.4 1 1 -github.com/muety/wakapi/services/duration.go:62.20,64.12 2 1 -github.com/muety/wakapi/services/duration.go:77.15,79.4 1 0 -github.com/muety/wakapi/services/duration.go:86.84,88.41 2 1 -github.com/muety/wakapi/services/duration.go:91.4,91.15 1 1 -github.com/muety/wakapi/services/duration.go:88.41,90.5 1 1 -github.com/muety/wakapi/services/duration.go:92.9,94.4 1 1 -github.com/muety/wakapi/services/duration.go:101.31,102.26 1 1 -github.com/muety/wakapi/services/duration.go:102.26,107.23 1 1 -github.com/muety/wakapi/services/duration.go:110.4,110.36 1 1 -github.com/muety/wakapi/services/duration.go:107.23,109.5 1 1 -github.com/muety/wakapi/services/duration.go:114.49,116.3 1 1 -github.com/muety/wakapi/services/language_mapping.go:18.118,24.2 1 0 -github.com/muety/wakapi/services/language_mapping.go:26.86,28.2 1 0 -github.com/muety/wakapi/services/language_mapping.go:30.96,31.53 1 0 -github.com/muety/wakapi/services/language_mapping.go:35.2,36.16 2 0 -github.com/muety/wakapi/services/language_mapping.go:39.2,40.22 2 0 -github.com/muety/wakapi/services/language_mapping.go:31.53,33.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:36.16,38.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:43.92,46.16 3 0 -github.com/muety/wakapi/services/language_mapping.go:50.2,50.33 1 0 -github.com/muety/wakapi/services/language_mapping.go:53.2,53.22 1 0 -github.com/muety/wakapi/services/language_mapping.go:46.16,48.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:50.33,52.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:56.109,58.16 2 0 -github.com/muety/wakapi/services/language_mapping.go:62.2,63.20 2 0 -github.com/muety/wakapi/services/language_mapping.go:58.16,60.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:66.82,67.26 1 0 -github.com/muety/wakapi/services/language_mapping.go:70.2,72.12 3 0 -github.com/muety/wakapi/services/language_mapping.go:67.26,69.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:75.74,78.2 1 0 -github.com/muety/wakapi/services/user.go:26.99,36.33 3 0 -github.com/muety/wakapi/services/user.go:57.2,57.12 1 0 -github.com/muety/wakapi/services/user.go:36.33,37.31 1 0 -github.com/muety/wakapi/services/user.go:37.31,43.73 4 0 -github.com/muety/wakapi/services/user.go:47.4,47.24 1 0 -github.com/muety/wakapi/services/user.go:43.73,45.5 1 0 -github.com/muety/wakapi/services/user.go:47.24,48.80 1 0 -github.com/muety/wakapi/services/user.go:48.80,50.6 1 0 -github.com/muety/wakapi/services/user.go:50.11,52.6 1 0 -github.com/muety/wakapi/services/user.go:60.74,61.40 1 0 -github.com/muety/wakapi/services/user.go:65.2,66.16 2 0 -github.com/muety/wakapi/services/user.go:70.2,71.15 2 0 -github.com/muety/wakapi/services/user.go:61.40,63.3 1 0 -github.com/muety/wakapi/services/user.go:66.16,68.3 1 0 -github.com/muety/wakapi/services/user.go:74.72,75.37 1 0 -github.com/muety/wakapi/services/user.go:79.2,80.16 2 0 -github.com/muety/wakapi/services/user.go:84.2,85.15 2 0 -github.com/muety/wakapi/services/user.go:75.37,77.3 1 0 -github.com/muety/wakapi/services/user.go:80.16,82.3 1 0 -github.com/muety/wakapi/services/user.go:88.76,90.2 1 0 -github.com/muety/wakapi/services/user.go:92.86,94.2 1 0 -github.com/muety/wakapi/services/user.go:96.92,98.2 1 0 -github.com/muety/wakapi/services/user.go:100.58,102.2 1 0 -github.com/muety/wakapi/services/user.go:104.71,106.2 1 0 -github.com/muety/wakapi/services/user.go:108.86,110.16 2 0 -github.com/muety/wakapi/services/user.go:113.2,113.112 1 0 -github.com/muety/wakapi/services/user.go:110.16,112.3 1 0 -github.com/muety/wakapi/services/user.go:113.112,115.3 1 0 -github.com/muety/wakapi/services/user.go:118.86,120.2 1 0 -github.com/muety/wakapi/services/user.go:122.94,124.2 1 0 -github.com/muety/wakapi/services/user.go:126.71,128.12 2 0 -github.com/muety/wakapi/services/user.go:132.2,133.42 2 0 -github.com/muety/wakapi/services/user.go:137.2,138.16 2 0 -github.com/muety/wakapi/services/user.go:142.2,143.21 2 0 -github.com/muety/wakapi/services/user.go:128.12,130.3 1 0 -github.com/muety/wakapi/services/user.go:133.42,135.3 1 0 -github.com/muety/wakapi/services/user.go:138.16,140.3 1 0 -github.com/muety/wakapi/services/user.go:146.48,148.2 1 0 -github.com/muety/wakapi/services/user.go:150.102,160.95 2 0 -github.com/muety/wakapi/services/user.go:166.2,166.38 1 0 -github.com/muety/wakapi/services/user.go:160.95,162.3 1 0 -github.com/muety/wakapi/services/user.go:162.8,164.3 1 0 -github.com/muety/wakapi/services/user.go:169.73,173.2 3 0 -github.com/muety/wakapi/services/user.go:175.78,179.2 3 0 -github.com/muety/wakapi/services/user.go:181.122,184.35 2 0 -github.com/muety/wakapi/services/user.go:190.2,190.35 1 0 -github.com/muety/wakapi/services/user.go:194.2,194.18 1 0 -github.com/muety/wakapi/services/user.go:184.35,185.89 1 0 -github.com/muety/wakapi/services/user.go:185.89,187.4 1 0 -github.com/muety/wakapi/services/user.go:190.35,192.3 1 0 -github.com/muety/wakapi/services/user.go:197.85,199.2 1 0 -github.com/muety/wakapi/services/user.go:201.57,209.2 5 0 -github.com/muety/wakapi/services/user.go:211.38,213.2 1 0 -github.com/muety/wakapi/services/user.go:215.55,217.2 1 0 -github.com/muety/wakapi/services/user.go:219.57,224.2 1 0 -github.com/muety/wakapi/services/user.go:226.57,231.2 1 0 -github.com/muety/wakapi/services/aggregation.go:31.142,41.2 1 0 -github.com/muety/wakapi/services/aggregation.go:50.43,53.52 2 0 -github.com/muety/wakapi/services/aggregation.go:53.52,54.80 1 0 -github.com/muety/wakapi/services/aggregation.go:54.80,56.4 1 0 -github.com/muety/wakapi/services/aggregation.go:57.58,59.3 1 0 -github.com/muety/wakapi/services/aggregation.go:62.92,63.47 1 0 -github.com/muety/wakapi/services/aggregation.go:66.2,72.16 4 0 -github.com/muety/wakapi/services/aggregation.go:78.2,79.16 2 0 -github.com/muety/wakapi/services/aggregation.go:85.2,86.44 2 0 -github.com/muety/wakapi/services/aggregation.go:91.2,93.12 3 0 -github.com/muety/wakapi/services/aggregation.go:105.2,105.41 1 0 -github.com/muety/wakapi/services/aggregation.go:123.2,123.12 1 0 -github.com/muety/wakapi/services/aggregation.go:63.47,65.3 1 0 -github.com/muety/wakapi/services/aggregation.go:72.16,75.3 2 0 -github.com/muety/wakapi/services/aggregation.go:79.16,82.3 2 0 -github.com/muety/wakapi/services/aggregation.go:86.44,88.3 1 0 -github.com/muety/wakapi/services/aggregation.go:93.12,94.28 1 0 -github.com/muety/wakapi/services/aggregation.go:94.28,96.47 2 0 -github.com/muety/wakapi/services/aggregation.go:96.47,98.5 1 0 -github.com/muety/wakapi/services/aggregation.go:98.19,100.5 1 0 -github.com/muety/wakapi/services/aggregation.go:105.41,106.71 1 0 -github.com/muety/wakapi/services/aggregation.go:110.3,110.21 1 0 -github.com/muety/wakapi/services/aggregation.go:106.71,107.12 1 0 -github.com/muety/wakapi/services/aggregation.go:110.21,114.4 1 0 -github.com/muety/wakapi/services/aggregation.go:114.9,114.62 1 0 -github.com/muety/wakapi/services/aggregation.go:114.62,118.4 1 0 -github.com/muety/wakapi/services/aggregation.go:126.60,127.115 1 0 -github.com/muety/wakapi/services/aggregation.go:127.115,129.3 1 0 -github.com/muety/wakapi/services/aggregation.go:129.8,131.60 2 0 -github.com/muety/wakapi/services/aggregation.go:131.60,133.4 1 0 -github.com/muety/wakapi/services/aggregation.go:137.83,152.41 5 0 -github.com/muety/wakapi/services/aggregation.go:152.41,162.3 3 0 -github.com/muety/wakapi/services/aggregation.go:165.83,168.27 3 0 -github.com/muety/wakapi/services/aggregation.go:173.2,174.12 2 0 -github.com/muety/wakapi/services/aggregation.go:168.27,169.34 1 0 -github.com/muety/wakapi/services/aggregation.go:169.34,171.4 1 0 -github.com/muety/wakapi/services/aggregation.go:177.79,180.27 3 0 -github.com/muety/wakapi/services/aggregation.go:180.27,182.3 1 0 -github.com/muety/wakapi/services/aggregation.go:185.34,188.2 2 0 -github.com/muety/wakapi/services/alias.go:19.77,24.2 1 1 -github.com/muety/wakapi/services/alias.go:28.60,29.43 1 1 -github.com/muety/wakapi/services/alias.go:32.2,32.14 1 1 -github.com/muety/wakapi/services/alias.go:29.43,31.3 1 1 -github.com/muety/wakapi/services/alias.go:35.62,37.16 2 1 -github.com/muety/wakapi/services/alias.go:40.2,40.12 1 1 -github.com/muety/wakapi/services/alias.go:37.16,39.3 1 1 -github.com/muety/wakapi/services/alias.go:43.59,44.51 1 1 -github.com/muety/wakapi/services/alias.go:44.51,46.3 1 0 -github.com/muety/wakapi/services/alias.go:49.76,50.32 1 0 -github.com/muety/wakapi/services/alias.go:53.2,53.49 1 0 -github.com/muety/wakapi/services/alias.go:50.32,52.3 1 0 -github.com/muety/wakapi/services/alias.go:53.49,55.3 1 0 -github.com/muety/wakapi/services/alias.go:55.8,57.3 1 0 -github.com/muety/wakapi/services/alias.go:60.102,61.38 1 0 -github.com/muety/wakapi/services/alias.go:64.2,64.39 1 0 -github.com/muety/wakapi/services/alias.go:61.38,63.3 1 0 -github.com/muety/wakapi/services/alias.go:67.113,68.38 1 0 -github.com/muety/wakapi/services/alias.go:71.2,71.39 1 0 -github.com/muety/wakapi/services/alias.go:68.38,70.3 1 0 -github.com/muety/wakapi/services/alias.go:74.108,75.32 1 1 -github.com/muety/wakapi/services/alias.go:79.2,79.49 1 1 -github.com/muety/wakapi/services/alias.go:87.2,87.19 1 1 -github.com/muety/wakapi/services/alias.go:75.32,77.3 1 1 -github.com/muety/wakapi/services/alias.go:79.49,80.47 1 1 -github.com/muety/wakapi/services/alias.go:80.47,81.49 1 1 -github.com/muety/wakapi/services/alias.go:81.49,83.5 1 1 -github.com/muety/wakapi/services/alias.go:90.77,92.16 2 0 -github.com/muety/wakapi/services/alias.go:96.2,100.20 3 0 -github.com/muety/wakapi/services/alias.go:92.16,94.3 1 0 -github.com/muety/wakapi/services/alias.go:103.60,104.24 1 0 -github.com/muety/wakapi/services/alias.go:107.2,110.16 2 0 -github.com/muety/wakapi/services/alias.go:114.2,116.12 2 0 -github.com/muety/wakapi/services/alias.go:104.24,106.3 1 0 -github.com/muety/wakapi/services/alias.go:110.16,112.3 1 0 -github.com/muety/wakapi/services/alias.go:119.69,123.28 3 0 -github.com/muety/wakapi/services/alias.go:131.2,134.16 2 0 -github.com/muety/wakapi/services/alias.go:140.2,140.31 1 0 -github.com/muety/wakapi/services/alias.go:144.2,144.12 1 0 -github.com/muety/wakapi/services/alias.go:123.28,124.21 1 0 -github.com/muety/wakapi/services/alias.go:127.3,128.16 2 0 -github.com/muety/wakapi/services/alias.go:124.21,126.4 1 0 -github.com/muety/wakapi/services/alias.go:134.16,135.29 1 0 -github.com/muety/wakapi/services/alias.go:135.29,137.4 1 0 -github.com/muety/wakapi/services/alias.go:140.31,142.3 1 0 -github.com/muety/wakapi/services/alias.go:147.74,148.14 1 0 -github.com/muety/wakapi/services/alias.go:148.14,149.57 1 0 -github.com/muety/wakapi/services/alias.go:149.57,153.4 3 0 -github.com/muety/wakapi/services/alias.go:154.8,155.57 1 0 -github.com/muety/wakapi/services/alias.go:155.57,157.48 2 0 -github.com/muety/wakapi/services/alias.go:162.4,162.52 1 0 -github.com/muety/wakapi/services/alias.go:157.48,158.26 1 0 -github.com/muety/wakapi/services/alias.go:158.26,160.6 1 0 -github.com/muety/wakapi/services/alias.go:167.116,168.32 1 0 -github.com/muety/wakapi/services/alias.go:171.2,171.49 1 0 -github.com/muety/wakapi/services/alias.go:168.32,170.3 1 0 -github.com/muety/wakapi/services/alias.go:171.49,173.47 2 0 -github.com/muety/wakapi/services/alias.go:178.3,178.30 1 0 -github.com/muety/wakapi/services/alias.go:173.47,174.16 1 0 -github.com/muety/wakapi/services/alias.go:174.16,176.5 1 0 -github.com/muety/wakapi/services/alias.go:179.8,181.3 1 0 -github.com/muety/wakapi/services/misc.go:44.188,56.2 1 0 -github.com/muety/wakapi/services/misc.go:58.36,60.95 2 0 -github.com/muety/wakapi/services/misc.go:64.2,65.111 2 0 -github.com/muety/wakapi/services/misc.go:69.2,69.128 1 0 -github.com/muety/wakapi/services/misc.go:77.2,77.33 1 0 -github.com/muety/wakapi/services/misc.go:82.2,82.33 1 0 -github.com/muety/wakapi/services/misc.go:87.2,87.170 1 0 -github.com/muety/wakapi/services/misc.go:60.95,62.3 1 0 -github.com/muety/wakapi/services/misc.go:65.111,67.3 1 0 -github.com/muety/wakapi/services/misc.go:69.128,71.125 2 0 -github.com/muety/wakapi/services/misc.go:71.125,73.4 1 0 -github.com/muety/wakapi/services/misc.go:77.33,78.71 1 0 -github.com/muety/wakapi/services/misc.go:78.71,80.4 1 0 -github.com/muety/wakapi/services/misc.go:82.33,83.80 1 0 -github.com/muety/wakapi/services/misc.go:83.80,85.4 1 0 -github.com/muety/wakapi/services/misc.go:87.170,88.83 1 0 -github.com/muety/wakapi/services/misc.go:88.83,90.4 1 0 -github.com/muety/wakapi/services/misc.go:94.42,96.36 2 0 -github.com/muety/wakapi/services/misc.go:99.2,102.16 3 0 -github.com/muety/wakapi/services/misc.go:107.2,111.26 4 0 -github.com/muety/wakapi/services/misc.go:123.2,123.30 1 0 -github.com/muety/wakapi/services/misc.go:96.36,98.3 1 0 -github.com/muety/wakapi/services/misc.go:102.16,105.3 2 0 -github.com/muety/wakapi/services/misc.go:111.26,113.46 2 0 -github.com/muety/wakapi/services/misc.go:113.46,116.4 2 0 -github.com/muety/wakapi/services/misc.go:116.18,119.4 2 0 -github.com/muety/wakapi/services/misc.go:123.30,124.58 1 0 -github.com/muety/wakapi/services/misc.go:124.58,128.19 1 0 -github.com/muety/wakapi/services/misc.go:132.4,135.19 1 0 -github.com/muety/wakapi/services/misc.go:128.19,130.5 1 0 -github.com/muety/wakapi/services/misc.go:135.19,137.5 1 0 -github.com/muety/wakapi/services/misc.go:138.9,140.4 1 0 -github.com/muety/wakapi/services/misc.go:144.51,147.45 2 0 -github.com/muety/wakapi/services/misc.go:147.45,148.41 1 0 -github.com/muety/wakapi/services/misc.go:152.3,155.17 3 0 -github.com/muety/wakapi/services/misc.go:160.3,160.33 1 0 -github.com/muety/wakapi/services/misc.go:148.41,151.4 2 0 -github.com/muety/wakapi/services/misc.go:155.17,158.4 2 0 -github.com/muety/wakapi/services/misc.go:160.33,161.31 1 0 -github.com/muety/wakapi/services/misc.go:165.4,169.19 2 0 -github.com/muety/wakapi/services/misc.go:161.31,162.13 1 0 -github.com/muety/wakapi/services/misc.go:169.19,171.5 1 0 -github.com/muety/wakapi/services/misc.go:173.17,175.3 1 0 -github.com/muety/wakapi/services/misc.go:186.54,187.82 1 0 -github.com/muety/wakapi/services/misc.go:191.2,195.16 4 0 -github.com/muety/wakapi/services/misc.go:200.2,201.104 2 0 -github.com/muety/wakapi/services/misc.go:210.2,210.26 1 0 -github.com/muety/wakapi/services/misc.go:187.82,189.3 1 0 -github.com/muety/wakapi/services/misc.go:195.16,198.3 2 0 -github.com/muety/wakapi/services/misc.go:201.104,202.122 1 0 -github.com/muety/wakapi/services/misc.go:202.122,204.4 1 0 -github.com/muety/wakapi/services/misc.go:205.8,208.3 2 0 -github.com/muety/wakapi/services/misc.go:210.26,211.49 1 0 -github.com/muety/wakapi/services/misc.go:215.3,216.65 2 0 -github.com/muety/wakapi/services/misc.go:230.3,230.137 1 0 -github.com/muety/wakapi/services/misc.go:234.3,235.89 2 0 -github.com/muety/wakapi/services/misc.go:211.49,213.4 1 0 -github.com/muety/wakapi/services/misc.go:216.65,218.130 1 0 -github.com/muety/wakapi/services/misc.go:218.130,220.5 1 0 -github.com/muety/wakapi/services/misc.go:220.10,220.25 1 0 -github.com/muety/wakapi/services/misc.go:220.25,223.5 2 0 -github.com/muety/wakapi/services/misc.go:230.137,231.12 1 0 -github.com/muety/wakapi/services/misc.go:235.89,237.4 1 0 -github.com/muety/wakapi/services/misc.go:241.73,243.16 2 0 -github.com/muety/wakapi/services/misc.go:247.2,247.27 1 0 -github.com/muety/wakapi/services/misc.go:243.16,246.3 2 0 -github.com/muety/wakapi/services/misc.go:250.99,252.33 2 0 -github.com/muety/wakapi/services/misc.go:252.33,256.86 3 0 -github.com/muety/wakapi/services/misc.go:261.3,264.18 1 0 -github.com/muety/wakapi/services/misc.go:256.86,259.4 2 0 -github.com/muety/wakapi/services/misc.go:264.18,266.4 1 0 -github.com/muety/wakapi/services/misc.go:270.53,272.16 2 0 -github.com/muety/wakapi/services/misc.go:275.2,275.25 1 0 -github.com/muety/wakapi/services/misc.go:272.16,274.3 1 0 -github.com/muety/wakapi/services/misc.go:278.53,280.16 2 0 -github.com/muety/wakapi/services/misc.go:283.2,283.25 1 0 -github.com/muety/wakapi/services/misc.go:280.16,282.3 1 0 -github.com/muety/wakapi/services/misc.go:286.64,288.16 2 0 -github.com/muety/wakapi/services/misc.go:291.2,291.25 1 0 -github.com/muety/wakapi/services/misc.go:288.16,290.3 1 0 -github.com/muety/wakapi/services/project_label.go:21.111,28.2 1 0 -github.com/muety/wakapi/services/project_label.go:30.80,32.2 1 0 -github.com/muety/wakapi/services/project_label.go:34.90,35.51 1 0 -github.com/muety/wakapi/services/project_label.go:39.2,40.16 2 0 -github.com/muety/wakapi/services/project_label.go:43.2,44.20 2 0 -github.com/muety/wakapi/services/project_label.go:35.51,37.3 1 0 -github.com/muety/wakapi/services/project_label.go:40.16,42.3 1 0 -github.com/muety/wakapi/services/project_label.go:48.108,50.16 2 0 -github.com/muety/wakapi/services/project_label.go:53.2,53.112 1 0 -github.com/muety/wakapi/services/project_label.go:56.2,56.26 1 0 -github.com/muety/wakapi/services/project_label.go:50.16,52.3 1 0 -github.com/muety/wakapi/services/project_label.go:53.112,55.3 1 0 -github.com/muety/wakapi/services/project_label.go:60.116,62.16 2 0 -github.com/muety/wakapi/services/project_label.go:65.2,65.112 1 0 -github.com/muety/wakapi/services/project_label.go:68.2,68.26 1 0 -github.com/muety/wakapi/services/project_label.go:62.16,64.3 1 0 -github.com/muety/wakapi/services/project_label.go:65.112,67.3 1 0 -github.com/muety/wakapi/services/project_label.go:71.98,73.16 2 0 -github.com/muety/wakapi/services/project_label.go:77.2,79.20 3 0 -github.com/muety/wakapi/services/project_label.go:73.16,75.3 1 0 -github.com/muety/wakapi/services/project_label.go:82.74,83.24 1 0 -github.com/muety/wakapi/services/project_label.go:86.2,89.12 4 0 -github.com/muety/wakapi/services/project_label.go:83.24,85.3 1 0 -github.com/muety/wakapi/services/project_label.go:92.89,94.14 2 0 -github.com/muety/wakapi/services/project_label.go:97.2,100.4 1 0 -github.com/muety/wakapi/services/project_label.go:94.14,96.3 1 0 +github.com/muety/wakapi/routes/api/diagnostics.go:20.138,26.2 1 0 +github.com/muety/wakapi/routes/api/diagnostics.go:28.67,30.2 1 0 +github.com/muety/wakapi/routes/api/diagnostics.go:39.78,42.69 2 0 +github.com/muety/wakapi/routes/api/diagnostics.go:49.2,49.66 1 0 +github.com/muety/wakapi/routes/api/diagnostics.go:56.2,56.59 1 0 +github.com/muety/wakapi/routes/api/diagnostics.go:42.69,47.3 4 0 +github.com/muety/wakapi/routes/api/diagnostics.go:49.66,54.3 4 0 +github.com/muety/wakapi/services/diagnostics.go:14.101,19.2 1 0 +github.com/muety/wakapi/services/diagnostics.go:21.101,24.2 2 0 +github.com/muety/wakapi/services/housekeeping.go:20.144,29.2 1 0 +github.com/muety/wakapi/services/housekeeping.go:31.42,32.43 1 0 +github.com/muety/wakapi/services/housekeeping.go:36.2,38.47 2 0 +github.com/muety/wakapi/services/housekeeping.go:62.2,62.16 1 0 +github.com/muety/wakapi/services/housekeeping.go:32.43,34.3 1 0 +github.com/muety/wakapi/services/housekeeping.go:38.47,41.17 2 0 +github.com/muety/wakapi/services/housekeeping.go:47.3,47.27 1 0 +github.com/muety/wakapi/services/housekeeping.go:41.17,44.4 2 0 +github.com/muety/wakapi/services/housekeeping.go:47.27,49.31 1 0 +github.com/muety/wakapi/services/housekeeping.go:53.4,54.35 2 0 +github.com/muety/wakapi/services/housekeeping.go:49.31,50.13 1 0 +github.com/muety/wakapi/services/housekeeping.go:54.35,55.75 1 0 +github.com/muety/wakapi/services/housekeeping.go:55.75,57.6 1 0 +github.com/muety/wakapi/services/housekeeping.go:62.16,64.3 1 0 +github.com/muety/wakapi/services/housekeeping.go:67.94,69.36 2 0 +github.com/muety/wakapi/services/housekeeping.go:75.2,75.73 1 0 +github.com/muety/wakapi/services/housekeeping.go:80.2,81.74 2 0 +github.com/muety/wakapi/services/housekeeping.go:85.2,85.12 1 0 +github.com/muety/wakapi/services/housekeeping.go:69.36,72.3 2 0 +github.com/muety/wakapi/services/housekeeping.go:75.73,77.3 1 0 +github.com/muety/wakapi/services/housekeeping.go:81.74,83.3 1 0 github.com/muety/wakapi/services/summary.go:28.189,40.33 3 1 github.com/muety/wakapi/services/summary.go:46.2,46.12 1 1 github.com/muety/wakapi/services/summary.go:40.33,41.31 1 1 @@ -1563,6 +1277,199 @@ github.com/muety/wakapi/services/summary.go:481.3,481.24 1 1 github.com/muety/wakapi/services/summary.go:472.17,473.33 1 1 github.com/muety/wakapi/services/summary.go:473.33,475.5 1 1 github.com/muety/wakapi/services/summary.go:478.28,480.4 1 1 +github.com/muety/wakapi/services/user.go:26.99,36.33 3 0 +github.com/muety/wakapi/services/user.go:57.2,57.12 1 0 +github.com/muety/wakapi/services/user.go:36.33,37.31 1 0 +github.com/muety/wakapi/services/user.go:37.31,43.73 4 0 +github.com/muety/wakapi/services/user.go:47.4,47.24 1 0 +github.com/muety/wakapi/services/user.go:43.73,45.5 1 0 +github.com/muety/wakapi/services/user.go:47.24,48.80 1 0 +github.com/muety/wakapi/services/user.go:48.80,50.6 1 0 +github.com/muety/wakapi/services/user.go:50.11,52.6 1 0 +github.com/muety/wakapi/services/user.go:60.74,61.40 1 0 +github.com/muety/wakapi/services/user.go:65.2,66.16 2 0 +github.com/muety/wakapi/services/user.go:70.2,71.15 2 0 +github.com/muety/wakapi/services/user.go:61.40,63.3 1 0 +github.com/muety/wakapi/services/user.go:66.16,68.3 1 0 +github.com/muety/wakapi/services/user.go:74.72,75.37 1 0 +github.com/muety/wakapi/services/user.go:79.2,80.16 2 0 +github.com/muety/wakapi/services/user.go:84.2,85.15 2 0 +github.com/muety/wakapi/services/user.go:75.37,77.3 1 0 +github.com/muety/wakapi/services/user.go:80.16,82.3 1 0 +github.com/muety/wakapi/services/user.go:88.76,90.2 1 0 +github.com/muety/wakapi/services/user.go:92.86,94.2 1 0 +github.com/muety/wakapi/services/user.go:96.92,98.2 1 0 +github.com/muety/wakapi/services/user.go:100.58,102.2 1 0 +github.com/muety/wakapi/services/user.go:104.71,106.2 1 0 +github.com/muety/wakapi/services/user.go:108.86,110.16 2 0 +github.com/muety/wakapi/services/user.go:113.2,113.112 1 0 +github.com/muety/wakapi/services/user.go:110.16,112.3 1 0 +github.com/muety/wakapi/services/user.go:113.112,115.3 1 0 +github.com/muety/wakapi/services/user.go:118.86,120.2 1 0 +github.com/muety/wakapi/services/user.go:122.94,124.2 1 0 +github.com/muety/wakapi/services/user.go:126.71,128.12 2 0 +github.com/muety/wakapi/services/user.go:132.2,133.42 2 0 +github.com/muety/wakapi/services/user.go:137.2,138.16 2 0 +github.com/muety/wakapi/services/user.go:142.2,143.21 2 0 +github.com/muety/wakapi/services/user.go:128.12,130.3 1 0 +github.com/muety/wakapi/services/user.go:133.42,135.3 1 0 +github.com/muety/wakapi/services/user.go:138.16,140.3 1 0 +github.com/muety/wakapi/services/user.go:146.48,148.2 1 0 +github.com/muety/wakapi/services/user.go:150.102,160.95 2 0 +github.com/muety/wakapi/services/user.go:166.2,166.38 1 0 +github.com/muety/wakapi/services/user.go:160.95,162.3 1 0 +github.com/muety/wakapi/services/user.go:162.8,164.3 1 0 +github.com/muety/wakapi/services/user.go:169.73,173.2 3 0 +github.com/muety/wakapi/services/user.go:175.78,179.2 3 0 +github.com/muety/wakapi/services/user.go:181.122,184.35 2 0 +github.com/muety/wakapi/services/user.go:190.2,190.35 1 0 +github.com/muety/wakapi/services/user.go:194.2,194.18 1 0 +github.com/muety/wakapi/services/user.go:184.35,185.89 1 0 +github.com/muety/wakapi/services/user.go:185.89,187.4 1 0 +github.com/muety/wakapi/services/user.go:190.35,192.3 1 0 +github.com/muety/wakapi/services/user.go:197.85,199.2 1 0 +github.com/muety/wakapi/services/user.go:201.57,209.2 5 0 +github.com/muety/wakapi/services/user.go:211.38,213.2 1 0 +github.com/muety/wakapi/services/user.go:215.55,217.2 1 0 +github.com/muety/wakapi/services/user.go:219.57,224.2 1 0 +github.com/muety/wakapi/services/user.go:226.57,231.2 1 0 +github.com/muety/wakapi/services/duration.go:18.78,24.2 2 1 +github.com/muety/wakapi/services/duration.go:26.123,29.42 2 1 +github.com/muety/wakapi/services/duration.go:35.2,36.16 2 1 +github.com/muety/wakapi/services/duration.go:43.2,48.31 4 1 +github.com/muety/wakapi/services/duration.go:99.2,101.31 2 1 +github.com/muety/wakapi/services/duration.go:114.2,114.49 1 1 +github.com/muety/wakapi/services/duration.go:118.2,118.32 1 1 +github.com/muety/wakapi/services/duration.go:29.42,30.90 1 1 +github.com/muety/wakapi/services/duration.go:30.90,32.4 1 1 +github.com/muety/wakapi/services/duration.go:36.16,38.3 1 0 +github.com/muety/wakapi/services/duration.go:48.31,49.42 1 1 +github.com/muety/wakapi/services/duration.go:53.3,54.34 2 1 +github.com/muety/wakapi/services/duration.go:58.3,58.62 1 1 +github.com/muety/wakapi/services/duration.go:62.3,62.20 1 1 +github.com/muety/wakapi/services/duration.go:67.3,77.15 3 1 +github.com/muety/wakapi/services/duration.go:80.3,86.84 2 1 +github.com/muety/wakapi/services/duration.go:96.3,96.10 1 1 +github.com/muety/wakapi/services/duration.go:49.42,50.12 1 1 +github.com/muety/wakapi/services/duration.go:54.34,56.4 1 1 +github.com/muety/wakapi/services/duration.go:58.62,60.4 1 1 +github.com/muety/wakapi/services/duration.go:62.20,64.12 2 1 +github.com/muety/wakapi/services/duration.go:77.15,79.4 1 0 +github.com/muety/wakapi/services/duration.go:86.84,88.41 2 1 +github.com/muety/wakapi/services/duration.go:91.4,91.15 1 1 +github.com/muety/wakapi/services/duration.go:88.41,90.5 1 1 +github.com/muety/wakapi/services/duration.go:92.9,94.4 1 1 +github.com/muety/wakapi/services/duration.go:101.31,102.26 1 1 +github.com/muety/wakapi/services/duration.go:102.26,107.23 1 1 +github.com/muety/wakapi/services/duration.go:110.4,110.36 1 1 +github.com/muety/wakapi/services/duration.go:107.23,109.5 1 1 +github.com/muety/wakapi/services/duration.go:114.49,116.3 1 1 +github.com/muety/wakapi/services/language_mapping.go:18.118,24.2 1 0 +github.com/muety/wakapi/services/language_mapping.go:26.86,28.2 1 0 +github.com/muety/wakapi/services/language_mapping.go:30.96,31.53 1 0 +github.com/muety/wakapi/services/language_mapping.go:35.2,36.16 2 0 +github.com/muety/wakapi/services/language_mapping.go:39.2,40.22 2 0 +github.com/muety/wakapi/services/language_mapping.go:31.53,33.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:36.16,38.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:43.92,46.16 3 0 +github.com/muety/wakapi/services/language_mapping.go:50.2,50.33 1 0 +github.com/muety/wakapi/services/language_mapping.go:53.2,53.22 1 0 +github.com/muety/wakapi/services/language_mapping.go:46.16,48.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:50.33,52.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:56.109,58.16 2 0 +github.com/muety/wakapi/services/language_mapping.go:62.2,63.20 2 0 +github.com/muety/wakapi/services/language_mapping.go:58.16,60.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:66.82,67.26 1 0 +github.com/muety/wakapi/services/language_mapping.go:70.2,72.12 3 0 +github.com/muety/wakapi/services/language_mapping.go:67.26,69.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:75.74,78.2 1 0 +github.com/muety/wakapi/services/project_label.go:21.111,28.2 1 0 +github.com/muety/wakapi/services/project_label.go:30.80,32.2 1 0 +github.com/muety/wakapi/services/project_label.go:34.90,35.51 1 0 +github.com/muety/wakapi/services/project_label.go:39.2,40.16 2 0 +github.com/muety/wakapi/services/project_label.go:43.2,44.20 2 0 +github.com/muety/wakapi/services/project_label.go:35.51,37.3 1 0 +github.com/muety/wakapi/services/project_label.go:40.16,42.3 1 0 +github.com/muety/wakapi/services/project_label.go:48.108,50.16 2 0 +github.com/muety/wakapi/services/project_label.go:53.2,53.112 1 0 +github.com/muety/wakapi/services/project_label.go:56.2,56.26 1 0 +github.com/muety/wakapi/services/project_label.go:50.16,52.3 1 0 +github.com/muety/wakapi/services/project_label.go:53.112,55.3 1 0 +github.com/muety/wakapi/services/project_label.go:60.116,62.16 2 0 +github.com/muety/wakapi/services/project_label.go:65.2,65.112 1 0 +github.com/muety/wakapi/services/project_label.go:68.2,68.26 1 0 +github.com/muety/wakapi/services/project_label.go:62.16,64.3 1 0 +github.com/muety/wakapi/services/project_label.go:65.112,67.3 1 0 +github.com/muety/wakapi/services/project_label.go:71.98,73.16 2 0 +github.com/muety/wakapi/services/project_label.go:77.2,79.20 3 0 +github.com/muety/wakapi/services/project_label.go:73.16,75.3 1 0 +github.com/muety/wakapi/services/project_label.go:82.74,83.24 1 0 +github.com/muety/wakapi/services/project_label.go:86.2,89.12 4 0 +github.com/muety/wakapi/services/project_label.go:83.24,85.3 1 0 +github.com/muety/wakapi/services/project_label.go:92.89,94.14 2 0 +github.com/muety/wakapi/services/project_label.go:97.2,100.4 1 0 +github.com/muety/wakapi/services/project_label.go:94.14,96.3 1 0 +github.com/muety/wakapi/services/alias.go:19.77,24.2 1 1 +github.com/muety/wakapi/services/alias.go:28.60,29.43 1 1 +github.com/muety/wakapi/services/alias.go:32.2,32.14 1 1 +github.com/muety/wakapi/services/alias.go:29.43,31.3 1 1 +github.com/muety/wakapi/services/alias.go:35.62,37.16 2 1 +github.com/muety/wakapi/services/alias.go:40.2,40.12 1 1 +github.com/muety/wakapi/services/alias.go:37.16,39.3 1 1 +github.com/muety/wakapi/services/alias.go:43.59,44.51 1 1 +github.com/muety/wakapi/services/alias.go:44.51,46.3 1 0 +github.com/muety/wakapi/services/alias.go:49.76,50.32 1 0 +github.com/muety/wakapi/services/alias.go:53.2,53.49 1 0 +github.com/muety/wakapi/services/alias.go:50.32,52.3 1 0 +github.com/muety/wakapi/services/alias.go:53.49,55.3 1 0 +github.com/muety/wakapi/services/alias.go:55.8,57.3 1 0 +github.com/muety/wakapi/services/alias.go:60.102,61.38 1 0 +github.com/muety/wakapi/services/alias.go:64.2,64.39 1 0 +github.com/muety/wakapi/services/alias.go:61.38,63.3 1 0 +github.com/muety/wakapi/services/alias.go:67.113,68.38 1 0 +github.com/muety/wakapi/services/alias.go:71.2,71.39 1 0 +github.com/muety/wakapi/services/alias.go:68.38,70.3 1 0 +github.com/muety/wakapi/services/alias.go:74.108,75.32 1 1 +github.com/muety/wakapi/services/alias.go:79.2,79.49 1 1 +github.com/muety/wakapi/services/alias.go:87.2,87.19 1 1 +github.com/muety/wakapi/services/alias.go:75.32,77.3 1 1 +github.com/muety/wakapi/services/alias.go:79.49,80.47 1 1 +github.com/muety/wakapi/services/alias.go:80.47,81.49 1 1 +github.com/muety/wakapi/services/alias.go:81.49,83.5 1 1 +github.com/muety/wakapi/services/alias.go:90.77,92.16 2 0 +github.com/muety/wakapi/services/alias.go:96.2,100.20 3 0 +github.com/muety/wakapi/services/alias.go:92.16,94.3 1 0 +github.com/muety/wakapi/services/alias.go:103.60,104.24 1 0 +github.com/muety/wakapi/services/alias.go:107.2,110.16 2 0 +github.com/muety/wakapi/services/alias.go:114.2,116.12 2 0 +github.com/muety/wakapi/services/alias.go:104.24,106.3 1 0 +github.com/muety/wakapi/services/alias.go:110.16,112.3 1 0 +github.com/muety/wakapi/services/alias.go:119.69,123.28 3 0 +github.com/muety/wakapi/services/alias.go:131.2,134.16 2 0 +github.com/muety/wakapi/services/alias.go:140.2,140.31 1 0 +github.com/muety/wakapi/services/alias.go:144.2,144.12 1 0 +github.com/muety/wakapi/services/alias.go:123.28,124.21 1 0 +github.com/muety/wakapi/services/alias.go:127.3,128.16 2 0 +github.com/muety/wakapi/services/alias.go:124.21,126.4 1 0 +github.com/muety/wakapi/services/alias.go:134.16,135.29 1 0 +github.com/muety/wakapi/services/alias.go:135.29,137.4 1 0 +github.com/muety/wakapi/services/alias.go:140.31,142.3 1 0 +github.com/muety/wakapi/services/alias.go:147.74,148.14 1 0 +github.com/muety/wakapi/services/alias.go:148.14,149.57 1 0 +github.com/muety/wakapi/services/alias.go:149.57,153.4 3 0 +github.com/muety/wakapi/services/alias.go:154.8,155.57 1 0 +github.com/muety/wakapi/services/alias.go:155.57,157.48 2 0 +github.com/muety/wakapi/services/alias.go:162.4,162.52 1 0 +github.com/muety/wakapi/services/alias.go:157.48,158.26 1 0 +github.com/muety/wakapi/services/alias.go:158.26,160.6 1 0 +github.com/muety/wakapi/services/alias.go:167.116,168.32 1 0 +github.com/muety/wakapi/services/alias.go:171.2,171.49 1 0 +github.com/muety/wakapi/services/alias.go:168.32,170.3 1 0 +github.com/muety/wakapi/services/alias.go:171.49,173.47 2 0 +github.com/muety/wakapi/services/alias.go:178.3,178.30 1 0 +github.com/muety/wakapi/services/alias.go:173.47,174.16 1 0 +github.com/muety/wakapi/services/alias.go:174.16,176.5 1 0 +github.com/muety/wakapi/services/alias.go:179.8,181.3 1 0 github.com/muety/wakapi/services/heartbeat.go:26.141,40.33 3 0 github.com/muety/wakapi/services/heartbeat.go:48.2,48.12 1 0 github.com/muety/wakapi/services/heartbeat.go:40.33,41.31 1 0 @@ -1570,71 +1477,151 @@ github.com/muety/wakapi/services/heartbeat.go:41.31,45.4 3 0 github.com/muety/wakapi/services/heartbeat.go:51.72,54.2 2 0 github.com/muety/wakapi/services/heartbeat.go:56.80,57.26 1 0 github.com/muety/wakapi/services/heartbeat.go:61.2,65.32 3 0 -github.com/muety/wakapi/services/heartbeat.go:73.2,74.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:77.2,77.12 1 0 +github.com/muety/wakapi/services/heartbeat.go:74.2,75.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:78.2,78.12 1 0 github.com/muety/wakapi/services/heartbeat.go:57.26,59.3 1 0 github.com/muety/wakapi/services/heartbeat.go:65.32,66.31 1 0 -github.com/muety/wakapi/services/heartbeat.go:70.3,70.46 1 0 -github.com/muety/wakapi/services/heartbeat.go:66.31,69.4 2 0 -github.com/muety/wakapi/services/heartbeat.go:74.16,76.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:80.69,82.8 2 0 -github.com/muety/wakapi/services/heartbeat.go:85.2,86.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:89.2,89.19 1 0 -github.com/muety/wakapi/services/heartbeat.go:82.8,84.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:86.16,88.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:92.76,95.8 3 0 -github.com/muety/wakapi/services/heartbeat.go:98.2,99.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:102.2,102.19 1 0 -github.com/muety/wakapi/services/heartbeat.go:95.8,97.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:99.16,101.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:105.96,109.26 3 0 -github.com/muety/wakapi/services/heartbeat.go:119.2,120.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:124.2,124.28 1 0 -github.com/muety/wakapi/services/heartbeat.go:130.2,130.24 1 0 -github.com/muety/wakapi/services/heartbeat.go:109.26,112.9 3 0 -github.com/muety/wakapi/services/heartbeat.go:112.9,114.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:114.9,116.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:120.16,122.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:124.28,128.3 3 0 -github.com/muety/wakapi/services/heartbeat.go:133.111,135.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:138.2,138.43 1 0 -github.com/muety/wakapi/services/heartbeat.go:135.16,137.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:141.145,143.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:146.2,146.43 1 0 -github.com/muety/wakapi/services/heartbeat.go:143.16,145.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:149.92,151.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:153.116,155.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:157.78,159.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:161.104,163.54 2 0 -github.com/muety/wakapi/services/heartbeat.go:169.2,170.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:174.2,175.28 2 0 -github.com/muety/wakapi/services/heartbeat.go:181.2,182.22 2 0 -github.com/muety/wakapi/services/heartbeat.go:163.54,167.3 3 0 -github.com/muety/wakapi/services/heartbeat.go:170.16,172.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:175.28,176.33 1 0 -github.com/muety/wakapi/services/heartbeat.go:176.33,178.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:185.62,188.2 2 0 -github.com/muety/wakapi/services/heartbeat.go:190.68,193.2 2 0 -github.com/muety/wakapi/services/heartbeat.go:195.87,198.2 2 0 -github.com/muety/wakapi/services/heartbeat.go:200.116,202.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:206.2,206.28 1 0 -github.com/muety/wakapi/services/heartbeat.go:210.2,210.24 1 0 -github.com/muety/wakapi/services/heartbeat.go:202.16,204.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:206.28,208.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:213.96,215.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:217.107,219.55 2 0 -github.com/muety/wakapi/services/heartbeat.go:219.55,225.36 4 0 -github.com/muety/wakapi/services/heartbeat.go:225.36,230.4 2 0 -github.com/muety/wakapi/services/heartbeat.go:234.85,242.2 7 0 -github.com/muety/wakapi/services/heartbeat.go:244.74,245.32 1 0 -github.com/muety/wakapi/services/heartbeat.go:245.32,250.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:253.72,255.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:257.58,259.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:261.60,263.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:265.94,267.48 2 0 -github.com/muety/wakapi/services/heartbeat.go:273.2,273.18 1 0 -github.com/muety/wakapi/services/heartbeat.go:267.48,269.18 2 0 -github.com/muety/wakapi/services/heartbeat.go:269.18,271.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:71.3,71.46 1 0 +github.com/muety/wakapi/services/heartbeat.go:66.31,70.4 3 0 +github.com/muety/wakapi/services/heartbeat.go:75.16,77.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:81.69,83.8 2 0 +github.com/muety/wakapi/services/heartbeat.go:86.2,87.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:90.2,90.19 1 0 +github.com/muety/wakapi/services/heartbeat.go:83.8,85.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:87.16,89.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:93.76,96.8 3 0 +github.com/muety/wakapi/services/heartbeat.go:99.2,100.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:103.2,103.19 1 0 +github.com/muety/wakapi/services/heartbeat.go:96.8,98.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:100.16,102.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:106.96,110.26 3 0 +github.com/muety/wakapi/services/heartbeat.go:120.2,121.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:125.2,125.28 1 0 +github.com/muety/wakapi/services/heartbeat.go:131.2,131.24 1 0 +github.com/muety/wakapi/services/heartbeat.go:110.26,113.9 3 0 +github.com/muety/wakapi/services/heartbeat.go:113.9,115.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:115.9,117.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:121.16,123.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:125.28,129.3 3 0 +github.com/muety/wakapi/services/heartbeat.go:134.111,136.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:139.2,139.43 1 0 +github.com/muety/wakapi/services/heartbeat.go:136.16,138.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:142.145,144.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:147.2,147.43 1 0 +github.com/muety/wakapi/services/heartbeat.go:144.16,146.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:150.92,152.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:154.116,156.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:158.78,160.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:162.104,164.54 2 0 +github.com/muety/wakapi/services/heartbeat.go:170.2,171.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:175.2,176.28 2 0 +github.com/muety/wakapi/services/heartbeat.go:182.2,183.22 2 0 +github.com/muety/wakapi/services/heartbeat.go:164.54,168.3 3 0 +github.com/muety/wakapi/services/heartbeat.go:171.16,173.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:176.28,177.33 1 0 +github.com/muety/wakapi/services/heartbeat.go:177.33,179.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:186.62,189.2 2 0 +github.com/muety/wakapi/services/heartbeat.go:191.68,194.2 2 0 +github.com/muety/wakapi/services/heartbeat.go:196.87,199.2 2 0 +github.com/muety/wakapi/services/heartbeat.go:201.116,203.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:207.2,207.28 1 0 +github.com/muety/wakapi/services/heartbeat.go:211.2,211.24 1 0 +github.com/muety/wakapi/services/heartbeat.go:203.16,205.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:207.28,209.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:214.96,216.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:218.107,220.55 2 0 +github.com/muety/wakapi/services/heartbeat.go:220.55,226.36 4 0 +github.com/muety/wakapi/services/heartbeat.go:226.36,231.4 2 0 +github.com/muety/wakapi/services/heartbeat.go:235.85,243.2 7 0 +github.com/muety/wakapi/services/heartbeat.go:245.74,246.32 1 0 +github.com/muety/wakapi/services/heartbeat.go:246.32,251.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:254.72,256.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:258.58,260.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:262.60,264.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:266.94,268.48 2 0 +github.com/muety/wakapi/services/heartbeat.go:274.2,274.18 1 0 +github.com/muety/wakapi/services/heartbeat.go:268.48,270.18 2 0 +github.com/muety/wakapi/services/heartbeat.go:270.18,272.4 1 0 +github.com/muety/wakapi/services/misc.go:44.188,56.2 1 0 +github.com/muety/wakapi/services/misc.go:58.36,60.95 2 0 +github.com/muety/wakapi/services/misc.go:64.2,65.111 2 0 +github.com/muety/wakapi/services/misc.go:69.2,69.128 1 0 +github.com/muety/wakapi/services/misc.go:77.2,77.33 1 0 +github.com/muety/wakapi/services/misc.go:82.2,82.33 1 0 +github.com/muety/wakapi/services/misc.go:87.2,87.170 1 0 +github.com/muety/wakapi/services/misc.go:60.95,62.3 1 0 +github.com/muety/wakapi/services/misc.go:65.111,67.3 1 0 +github.com/muety/wakapi/services/misc.go:69.128,71.125 2 0 +github.com/muety/wakapi/services/misc.go:71.125,73.4 1 0 +github.com/muety/wakapi/services/misc.go:77.33,78.71 1 0 +github.com/muety/wakapi/services/misc.go:78.71,80.4 1 0 +github.com/muety/wakapi/services/misc.go:82.33,83.80 1 0 +github.com/muety/wakapi/services/misc.go:83.80,85.4 1 0 +github.com/muety/wakapi/services/misc.go:87.170,88.83 1 0 +github.com/muety/wakapi/services/misc.go:88.83,90.4 1 0 +github.com/muety/wakapi/services/misc.go:94.42,96.36 2 0 +github.com/muety/wakapi/services/misc.go:99.2,102.16 3 0 +github.com/muety/wakapi/services/misc.go:107.2,111.26 4 0 +github.com/muety/wakapi/services/misc.go:123.2,123.30 1 0 +github.com/muety/wakapi/services/misc.go:96.36,98.3 1 0 +github.com/muety/wakapi/services/misc.go:102.16,105.3 2 0 +github.com/muety/wakapi/services/misc.go:111.26,113.46 2 0 +github.com/muety/wakapi/services/misc.go:113.46,116.4 2 0 +github.com/muety/wakapi/services/misc.go:116.18,119.4 2 0 +github.com/muety/wakapi/services/misc.go:123.30,124.58 1 0 +github.com/muety/wakapi/services/misc.go:124.58,128.19 1 0 +github.com/muety/wakapi/services/misc.go:132.4,135.19 1 0 +github.com/muety/wakapi/services/misc.go:128.19,130.5 1 0 +github.com/muety/wakapi/services/misc.go:135.19,137.5 1 0 +github.com/muety/wakapi/services/misc.go:138.9,140.4 1 0 +github.com/muety/wakapi/services/misc.go:144.51,147.45 2 0 +github.com/muety/wakapi/services/misc.go:147.45,148.41 1 0 +github.com/muety/wakapi/services/misc.go:152.3,155.17 3 0 +github.com/muety/wakapi/services/misc.go:160.3,160.33 1 0 +github.com/muety/wakapi/services/misc.go:148.41,151.4 2 0 +github.com/muety/wakapi/services/misc.go:155.17,158.4 2 0 +github.com/muety/wakapi/services/misc.go:160.33,161.31 1 0 +github.com/muety/wakapi/services/misc.go:165.4,169.19 2 0 +github.com/muety/wakapi/services/misc.go:161.31,162.13 1 0 +github.com/muety/wakapi/services/misc.go:169.19,171.5 1 0 +github.com/muety/wakapi/services/misc.go:173.17,175.3 1 0 +github.com/muety/wakapi/services/misc.go:186.54,187.82 1 0 +github.com/muety/wakapi/services/misc.go:191.2,195.16 4 0 +github.com/muety/wakapi/services/misc.go:200.2,201.104 2 0 +github.com/muety/wakapi/services/misc.go:210.2,210.26 1 0 +github.com/muety/wakapi/services/misc.go:187.82,189.3 1 0 +github.com/muety/wakapi/services/misc.go:195.16,198.3 2 0 +github.com/muety/wakapi/services/misc.go:201.104,202.122 1 0 +github.com/muety/wakapi/services/misc.go:202.122,204.4 1 0 +github.com/muety/wakapi/services/misc.go:205.8,208.3 2 0 +github.com/muety/wakapi/services/misc.go:210.26,211.49 1 0 +github.com/muety/wakapi/services/misc.go:215.3,216.65 2 0 +github.com/muety/wakapi/services/misc.go:230.3,230.137 1 0 +github.com/muety/wakapi/services/misc.go:234.3,235.89 2 0 +github.com/muety/wakapi/services/misc.go:211.49,213.4 1 0 +github.com/muety/wakapi/services/misc.go:216.65,218.130 1 0 +github.com/muety/wakapi/services/misc.go:218.130,220.5 1 0 +github.com/muety/wakapi/services/misc.go:220.10,220.25 1 0 +github.com/muety/wakapi/services/misc.go:220.25,223.5 2 0 +github.com/muety/wakapi/services/misc.go:230.137,231.12 1 0 +github.com/muety/wakapi/services/misc.go:235.89,237.4 1 0 +github.com/muety/wakapi/services/misc.go:241.73,243.16 2 0 +github.com/muety/wakapi/services/misc.go:247.2,247.27 1 0 +github.com/muety/wakapi/services/misc.go:243.16,246.3 2 0 +github.com/muety/wakapi/services/misc.go:250.99,252.33 2 0 +github.com/muety/wakapi/services/misc.go:252.33,256.86 3 0 +github.com/muety/wakapi/services/misc.go:261.3,264.18 1 0 +github.com/muety/wakapi/services/misc.go:256.86,259.4 2 0 +github.com/muety/wakapi/services/misc.go:264.18,266.4 1 0 +github.com/muety/wakapi/services/misc.go:270.53,272.16 2 0 +github.com/muety/wakapi/services/misc.go:275.2,275.25 1 0 +github.com/muety/wakapi/services/misc.go:272.16,274.3 1 0 +github.com/muety/wakapi/services/misc.go:278.53,280.16 2 0 +github.com/muety/wakapi/services/misc.go:283.2,283.25 1 0 +github.com/muety/wakapi/services/misc.go:280.16,282.3 1 0 +github.com/muety/wakapi/services/misc.go:286.64,288.16 2 0 +github.com/muety/wakapi/services/misc.go:291.2,291.25 1 0 +github.com/muety/wakapi/services/misc.go:288.16,290.3 1 0 github.com/muety/wakapi/services/report.go:33.122,46.2 2 0 github.com/muety/wakapi/services/report.go:48.38,51.45 2 0 github.com/muety/wakapi/services/report.go:69.2,69.49 1 0 @@ -1663,29 +1650,45 @@ github.com/muety/wakapi/services/report.go:115.40,118.17 3 0 github.com/muety/wakapi/services/report.go:122.3,124.30 3 0 github.com/muety/wakapi/services/report.go:118.17,120.9 2 0 github.com/muety/wakapi/services/report.go:135.65,138.3 2 0 -github.com/muety/wakapi/services/diagnostics.go:14.101,19.2 1 0 -github.com/muety/wakapi/services/diagnostics.go:21.101,24.2 2 0 -github.com/muety/wakapi/services/housekeeping.go:20.144,29.2 1 0 -github.com/muety/wakapi/services/housekeeping.go:31.42,32.43 1 0 -github.com/muety/wakapi/services/housekeeping.go:36.2,38.47 2 0 -github.com/muety/wakapi/services/housekeeping.go:62.2,62.16 1 0 -github.com/muety/wakapi/services/housekeeping.go:32.43,34.3 1 0 -github.com/muety/wakapi/services/housekeeping.go:38.47,41.17 2 0 -github.com/muety/wakapi/services/housekeeping.go:47.3,47.27 1 0 -github.com/muety/wakapi/services/housekeeping.go:41.17,44.4 2 0 -github.com/muety/wakapi/services/housekeeping.go:47.27,49.31 1 0 -github.com/muety/wakapi/services/housekeeping.go:53.4,54.35 2 0 -github.com/muety/wakapi/services/housekeeping.go:49.31,50.13 1 0 -github.com/muety/wakapi/services/housekeeping.go:54.35,55.75 1 0 -github.com/muety/wakapi/services/housekeeping.go:55.75,57.6 1 0 -github.com/muety/wakapi/services/housekeeping.go:62.16,64.3 1 0 -github.com/muety/wakapi/services/housekeeping.go:67.94,69.36 2 0 -github.com/muety/wakapi/services/housekeeping.go:75.2,75.73 1 0 -github.com/muety/wakapi/services/housekeeping.go:80.2,81.74 2 0 -github.com/muety/wakapi/services/housekeeping.go:85.2,85.12 1 0 -github.com/muety/wakapi/services/housekeeping.go:69.36,72.3 2 0 -github.com/muety/wakapi/services/housekeeping.go:75.73,77.3 1 0 -github.com/muety/wakapi/services/housekeeping.go:81.74,83.3 1 0 +github.com/muety/wakapi/services/aggregation.go:31.142,41.2 1 0 +github.com/muety/wakapi/services/aggregation.go:50.43,53.52 2 0 +github.com/muety/wakapi/services/aggregation.go:53.52,54.80 1 0 +github.com/muety/wakapi/services/aggregation.go:54.80,56.4 1 0 +github.com/muety/wakapi/services/aggregation.go:57.58,59.3 1 0 +github.com/muety/wakapi/services/aggregation.go:62.92,63.47 1 0 +github.com/muety/wakapi/services/aggregation.go:66.2,72.16 4 0 +github.com/muety/wakapi/services/aggregation.go:78.2,79.16 2 0 +github.com/muety/wakapi/services/aggregation.go:85.2,86.44 2 0 +github.com/muety/wakapi/services/aggregation.go:91.2,93.12 3 0 +github.com/muety/wakapi/services/aggregation.go:105.2,105.41 1 0 +github.com/muety/wakapi/services/aggregation.go:123.2,123.12 1 0 +github.com/muety/wakapi/services/aggregation.go:63.47,65.3 1 0 +github.com/muety/wakapi/services/aggregation.go:72.16,75.3 2 0 +github.com/muety/wakapi/services/aggregation.go:79.16,82.3 2 0 +github.com/muety/wakapi/services/aggregation.go:86.44,88.3 1 0 +github.com/muety/wakapi/services/aggregation.go:93.12,94.28 1 0 +github.com/muety/wakapi/services/aggregation.go:94.28,96.47 2 0 +github.com/muety/wakapi/services/aggregation.go:96.47,98.5 1 0 +github.com/muety/wakapi/services/aggregation.go:98.19,100.5 1 0 +github.com/muety/wakapi/services/aggregation.go:105.41,106.71 1 0 +github.com/muety/wakapi/services/aggregation.go:110.3,110.21 1 0 +github.com/muety/wakapi/services/aggregation.go:106.71,107.12 1 0 +github.com/muety/wakapi/services/aggregation.go:110.21,114.4 1 0 +github.com/muety/wakapi/services/aggregation.go:114.9,114.62 1 0 +github.com/muety/wakapi/services/aggregation.go:114.62,118.4 1 0 +github.com/muety/wakapi/services/aggregation.go:126.60,127.115 1 0 +github.com/muety/wakapi/services/aggregation.go:127.115,129.3 1 0 +github.com/muety/wakapi/services/aggregation.go:129.8,131.60 2 0 +github.com/muety/wakapi/services/aggregation.go:131.60,133.4 1 0 +github.com/muety/wakapi/services/aggregation.go:137.83,152.41 5 0 +github.com/muety/wakapi/services/aggregation.go:152.41,162.3 3 0 +github.com/muety/wakapi/services/aggregation.go:165.83,168.27 3 0 +github.com/muety/wakapi/services/aggregation.go:173.2,174.12 2 0 +github.com/muety/wakapi/services/aggregation.go:168.27,169.34 1 0 +github.com/muety/wakapi/services/aggregation.go:169.34,171.4 1 0 +github.com/muety/wakapi/services/aggregation.go:177.79,180.27 3 0 +github.com/muety/wakapi/services/aggregation.go:180.27,182.3 1 0 +github.com/muety/wakapi/services/aggregation.go:185.34,188.2 2 0 github.com/muety/wakapi/services/key_value.go:14.89,19.2 1 0 github.com/muety/wakapi/services/key_value.go:21.83,23.2 1 0 github.com/muety/wakapi/services/key_value.go:25.90,27.2 1 0 diff --git a/models/heartbeat.go b/models/heartbeat.go index f92f724..48d42db 100644 --- a/models/heartbeat.go +++ b/models/heartbeat.go @@ -2,6 +2,7 @@ package models import ( "fmt" + "github.com/duke-git/lancet/v2/strutil" "github.com/emvi/logbuch" "github.com/mitchellh/hashstructure/v2" "strings" @@ -39,6 +40,22 @@ func (h *Heartbeat) Timely(maxAge time.Duration) bool { return now.Sub(h.Time.T()) <= maxAge && h.Time.T().Sub(now) < 1*time.Hour } +func (h *Heartbeat) Sanitize() *Heartbeat { + // wakatime has a special keyword that indicates to use the most recent project for a given heartbeat + // in chrome, the browser extension sends this keyword for (most?) heartbeats + // presumably the idea behind this is that if you're coding, your browsing activity will likely also relate to that coding project + // but i don't really like this, i'd rather have all browsing activity under the "unknown" project (as the case with firefox, for whatever reason) + // see https://github.com/wakatime/browser-wakatime/pull/206 + if (h.Type == "url" || h.Type == "domain") && h.Project == "<>" { + h.Project = "" + } + + h.OperatingSystem = strutil.Capitalize(h.OperatingSystem) + h.Editor = strutil.Capitalize(h.Editor) + + return h +} + func (h *Heartbeat) Augment(languageMappings map[string]string) { maxPrec := -1 // precision / mapping complexity -> more concrete ones shall take precedence for ending, value := range languageMappings { diff --git a/routes/routes.go b/routes/routes.go index 43a6b02..5f45399 100644 --- a/routes/routes.go +++ b/routes/routes.go @@ -1,6 +1,7 @@ package routes import ( + "github.com/duke-git/lancet/v2/strutil" "github.com/muety/wakapi/helpers" "html/template" "net/http" @@ -34,7 +35,7 @@ func DefaultTemplateFuncs() template.FuncMap { "title": strings.Title, "join": strings.Join, "add": add, - "capitalize": utils.Capitalize, + "capitalize": strutil.Capitalize, "lower": strings.ToLower, "toRunes": utils.ToRunes, "localTZOffset": utils.LocalTZOffset, diff --git a/services/heartbeat.go b/services/heartbeat.go index 435dfbe..94d58bf 100644 --- a/services/heartbeat.go +++ b/services/heartbeat.go @@ -64,6 +64,7 @@ func (srv *HeartbeatService) InsertBatch(heartbeats []*models.Heartbeat) error { filteredHeartbeats := make([]*models.Heartbeat, 0, len(heartbeats)) for _, hb := range heartbeats { if !hashes.Contain(hb.Hash) { + hb = hb.Sanitize() filteredHeartbeats = append(filteredHeartbeats, hb) hashes.Add(hb.Hash) } diff --git a/utils/collection_test.go b/utils/collection_test.go index f4a0d9a..5517f32 100644 --- a/utils/collection_test.go +++ b/utils/collection_test.go @@ -55,6 +55,12 @@ func TestCommon_ParseUserAgent(t *testing.T) { "chrome", nil, }, + { + "Chrome/114.0.0.0 linux_x86-64 chrome-wakatime/3.0.17", + "linux", + "chrome", + nil, + }, } for _, test := range tests { diff --git a/utils/http.go b/utils/http.go index 3b4afce..19dba80 100644 --- a/utils/http.go +++ b/utils/http.go @@ -78,7 +78,7 @@ func ParsePageParamsWithDefault(r *http.Request, page, size int) *PageParams { } func ParseUserAgent(ua string) (string, string, error) { - re := regexp.MustCompile(`(?iU)^(?:(?:wakatime|chrome|firefox)\/(?:v?[\d+.]+|unset)\s)?(?:\((\w+)-.*\)\s.+\s)?([^\/\s]+)-wakatime\/.+$`) + re := regexp.MustCompile(`(?iU)^(?:(?:wakatime|chrome|firefox)\/(?:v?[\d+.]+|unset)\s)?(?:\(?(\w+)[-_].*\)?.+\s)?([^\/\s]+)-wakatime\/.+$`) groups := re.FindAllStringSubmatch(ua, -1) if len(groups) == 0 || len(groups[0]) != 3 { return "", "", errors.New("failed to parse user agent string") diff --git a/utils/strings.go b/utils/strings.go index ef78ffc..aba3955 100644 --- a/utils/strings.go +++ b/utils/strings.go @@ -1,14 +1,9 @@ package utils import ( - "fmt" "strings" ) -func Capitalize(s string) string { - return fmt.Sprintf("%s%s", strings.ToUpper(s[:1]), s[1:]) -} - func SplitMulti(s string, delimiters ...string) []string { return strings.FieldsFunc(s, func(r rune) bool { for _, d := range delimiters {