From adcd7b35aec3dd0d5cb8283d0fac5347ae6cea86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferdinand=20M=C3=BCtsch?= Date: Wed, 15 Dec 2021 12:52:24 +0100 Subject: [PATCH] fix: adapt tests --- coverage/coverage.out | 1202 +++++++++++++++++++------------------- main.go | 4 - repositories/user.go | 12 +- services/summary_test.go | 10 +- testing/data.sql | 14 +- testing/schema.sql | 178 ++---- 6 files changed, 679 insertions(+), 741 deletions(-) diff --git a/coverage/coverage.out b/coverage/coverage.out index 12cb393..0361bb2 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,80 +1,9 @@ mode: set -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/summary.go:74.29,76.2 1 1 -github.com/muety/wakapi/models/summary.go:78.35,80.2 1 0 -github.com/muety/wakapi/models/summary.go:82.37,90.2 7 1 -github.com/muety/wakapi/models/summary.go:92.35,94.2 1 1 -github.com/muety/wakapi/models/summary.go:96.57,105.2 1 1 -github.com/muety/wakapi/models/summary.go:107.64,109.2 1 0 -github.com/muety/wakapi/models/summary.go:122.33,127.26 4 1 -github.com/muety/wakapi/models/summary.go:134.2,134.37 1 1 -github.com/muety/wakapi/models/summary.go:139.2,140.16 2 1 -github.com/muety/wakapi/models/summary.go:143.2,143.33 1 1 -github.com/muety/wakapi/models/summary.go:127.26,128.30 1 1 -github.com/muety/wakapi/models/summary.go:128.30,130.4 1 1 -github.com/muety/wakapi/models/summary.go:134.37,136.3 1 0 -github.com/muety/wakapi/models/summary.go:140.16,142.3 1 0 -github.com/muety/wakapi/models/summary.go:143.33,145.3 1 1 -github.com/muety/wakapi/models/summary.go:149.56,155.28 5 1 -github.com/muety/wakapi/models/summary.go:159.2,160.42 2 1 -github.com/muety/wakapi/models/summary.go:167.2,168.15 2 1 -github.com/muety/wakapi/models/summary.go:155.28,157.3 1 1 -github.com/muety/wakapi/models/summary.go:160.42,161.22 1 0 -github.com/muety/wakapi/models/summary.go:161.22,163.9 2 0 -github.com/muety/wakapi/models/summary.go:168.15,169.28 1 1 -github.com/muety/wakapi/models/summary.go:169.28,171.4 1 0 -github.com/muety/wakapi/models/summary.go:171.9,177.4 1 1 -github.com/muety/wakapi/models/summary.go:181.45,186.16 4 0 -github.com/muety/wakapi/models/summary.go:189.2,189.39 1 0 -github.com/muety/wakapi/models/summary.go:193.2,193.30 1 0 -github.com/muety/wakapi/models/summary.go:186.16,188.3 1 0 -github.com/muety/wakapi/models/summary.go:189.39,191.3 1 0 -github.com/muety/wakapi/models/summary.go:196.73,198.55 2 1 -github.com/muety/wakapi/models/summary.go:203.2,203.16 1 1 -github.com/muety/wakapi/models/summary.go:198.55,199.31 1 1 -github.com/muety/wakapi/models/summary.go:199.31,201.4 1 1 -github.com/muety/wakapi/models/summary.go:206.88,208.55 2 1 -github.com/muety/wakapi/models/summary.go:216.2,216.16 1 1 -github.com/muety/wakapi/models/summary.go:208.55,209.31 1 1 -github.com/muety/wakapi/models/summary.go:209.31,210.23 1 1 -github.com/muety/wakapi/models/summary.go:213.4,213.46 1 1 -github.com/muety/wakapi/models/summary.go:210.23,211.13 1 1 -github.com/muety/wakapi/models/summary.go:219.70,221.8 2 1 -github.com/muety/wakapi/models/summary.go:224.2,224.10 1 1 -github.com/muety/wakapi/models/summary.go:221.8,223.3 1 1 -github.com/muety/wakapi/models/summary.go:227.71,228.63 1 1 -github.com/muety/wakapi/models/summary.go:268.2,275.10 7 1 -github.com/muety/wakapi/models/summary.go:228.63,231.45 2 1 -github.com/muety/wakapi/models/summary.go:240.3,240.31 1 1 -github.com/muety/wakapi/models/summary.go:247.3,247.31 1 1 -github.com/muety/wakapi/models/summary.go:264.3,264.16 1 1 -github.com/muety/wakapi/models/summary.go:231.45,232.32 1 1 -github.com/muety/wakapi/models/summary.go:237.4,237.14 1 1 -github.com/muety/wakapi/models/summary.go:232.32,233.24 1 1 -github.com/muety/wakapi/models/summary.go:233.24,235.6 1 1 -github.com/muety/wakapi/models/summary.go:240.31,242.60 1 1 -github.com/muety/wakapi/models/summary.go:242.60,244.5 1 1 -github.com/muety/wakapi/models/summary.go:247.31,249.60 1 1 -github.com/muety/wakapi/models/summary.go:249.60,250.55 1 1 -github.com/muety/wakapi/models/summary.go:250.55,252.6 1 1 -github.com/muety/wakapi/models/summary.go:252.11,260.6 1 1 -github.com/muety/wakapi/models/summary.go:278.57,279.30 1 1 -github.com/muety/wakapi/models/summary.go:284.2,284.43 1 0 -github.com/muety/wakapi/models/summary.go:279.30,280.28 1 1 -github.com/muety/wakapi/models/summary.go:280.28,282.4 1 1 -github.com/muety/wakapi/models/summary.go:287.50,291.2 1 1 -github.com/muety/wakapi/models/summary.go:293.33,295.2 1 1 -github.com/muety/wakapi/models/summary.go:297.43,299.2 1 1 -github.com/muety/wakapi/models/summary.go:301.38,303.2 1 1 +github.com/muety/wakapi/models/alias.go:12.32,14.2 1 0 +github.com/muety/wakapi/models/alias.go:16.37,17.35 1 0 +github.com/muety/wakapi/models/alias.go:22.2,22.14 1 0 +github.com/muety/wakapi/models/alias.go:17.35,18.18 1 0 +github.com/muety/wakapi/models/alias.go:18.18,20.4 1 0 github.com/muety/wakapi/models/filters.go:17.56,18.16 1 0 github.com/muety/wakapi/models/filters.go:32.2,32.19 1 0 github.com/muety/wakapi/models/filters.go:19.22,20.32 1 0 @@ -96,6 +25,10 @@ github.com/muety/wakapi/models/filters.go:44.8,44.28 1 1 github.com/muety/wakapi/models/filters.go:44.28,46.3 1 0 github.com/muety/wakapi/models/filters.go:46.8,46.26 1 1 github.com/muety/wakapi/models/filters.go:46.26,48.3 1 0 +github.com/muety/wakapi/models/mail.go:19.44,23.2 3 0 +github.com/muety/wakapi/models/mail.go:25.44,29.2 3 0 +github.com/muety/wakapi/models/mail.go:31.32,44.2 1 0 +github.com/muety/wakapi/models/mail.go:46.41,48.2 1 0 github.com/muety/wakapi/models/heartbeat.go:33.34,35.2 1 1 github.com/muety/wakapi/models/heartbeat.go:37.65,39.46 2 1 github.com/muety/wakapi/models/heartbeat.go:39.46,40.108 1 1 @@ -113,10 +46,10 @@ github.com/muety/wakapi/models/heartbeat.go:68.37,84.2 1 0 github.com/muety/wakapi/models/heartbeat.go:92.41,94.16 2 0 github.com/muety/wakapi/models/heartbeat.go:97.2,98.10 2 0 github.com/muety/wakapi/models/heartbeat.go:94.16,96.3 1 0 -github.com/muety/wakapi/models/mail.go:19.44,23.2 3 0 -github.com/muety/wakapi/models/mail.go:25.44,29.2 3 0 -github.com/muety/wakapi/models/mail.go:31.32,44.2 1 0 -github.com/muety/wakapi/models/mail.go:46.41,48.2 1 0 +github.com/muety/wakapi/models/interval.go:39.47,40.23 1 0 +github.com/muety/wakapi/models/interval.go:45.2,45.14 1 0 +github.com/muety/wakapi/models/interval.go:40.23,41.13 1 0 +github.com/muety/wakapi/models/interval.go:41.13,43.4 1 0 github.com/muety/wakapi/models/mail_address.go:15.13,18.2 2 1 github.com/muety/wakapi/models/mail_address.go:24.38,26.2 1 0 github.com/muety/wakapi/models/mail_address.go:28.35,30.21 2 1 @@ -136,19 +69,6 @@ github.com/muety/wakapi/models/mail_address.go:65.2,65.13 1 1 github.com/muety/wakapi/models/mail_address.go:60.22,61.17 1 1 github.com/muety/wakapi/models/mail_address.go:61.17,63.4 1 1 github.com/muety/wakapi/models/models.go:3.14,5.2 0 1 -github.com/muety/wakapi/models/alias.go:12.32,14.2 1 0 -github.com/muety/wakapi/models/alias.go:16.37,17.35 1 0 -github.com/muety/wakapi/models/alias.go:22.2,22.14 1 0 -github.com/muety/wakapi/models/alias.go:17.35,18.18 1 0 -github.com/muety/wakapi/models/alias.go:18.18,20.4 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/project_label.go:11.39,13.2 1 0 -github.com/muety/wakapi/models/interval.go:39.47,40.23 1 0 -github.com/muety/wakapi/models/interval.go:45.2,45.14 1 0 -github.com/muety/wakapi/models/interval.go:40.23,41.13 1 0 -github.com/muety/wakapi/models/interval.go:41.13,43.4 1 0 github.com/muety/wakapi/models/shared.go:35.52,37.2 1 0 github.com/muety/wakapi/models/shared.go:39.52,42.16 3 0 github.com/muety/wakapi/models/shared.go:45.2,47.12 3 0 @@ -164,21 +84,211 @@ github.com/muety/wakapi/models/shared.go:82.45,84.2 1 0 github.com/muety/wakapi/models/shared.go:86.37,88.2 1 0 github.com/muety/wakapi/models/shared.go:90.35,92.2 1 0 github.com/muety/wakapi/models/shared.go:94.34,96.2 1 0 -github.com/muety/wakapi/models/user.go:8.13,10.2 1 1 -github.com/muety/wakapi/models/user.go:79.36,80.22 1 1 -github.com/muety/wakapi/models/user.go:83.2,84.16 2 1 -github.com/muety/wakapi/models/user.go:87.2,87.11 1 1 -github.com/muety/wakapi/models/user.go:80.22,82.3 1 1 -github.com/muety/wakapi/models/user.go:84.16,86.3 1 0 -github.com/muety/wakapi/models/user.go:90.41,93.2 2 1 -github.com/muety/wakapi/models/user.go:95.43,98.2 1 0 -github.com/muety/wakapi/models/user.go:100.45,103.2 1 0 -github.com/muety/wakapi/models/user.go:105.33,110.2 1 0 -github.com/muety/wakapi/models/user.go:112.41,114.2 1 0 -github.com/muety/wakapi/models/user.go:116.45,118.2 1 0 -github.com/muety/wakapi/models/user.go:120.45,122.2 1 0 -github.com/muety/wakapi/models/user.go:124.39,126.2 1 0 -github.com/muety/wakapi/models/user.go:128.39,131.2 2 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/summary.go:75.29,77.2 1 1 +github.com/muety/wakapi/models/summary.go:79.35,81.2 1 0 +github.com/muety/wakapi/models/summary.go:83.37,91.2 7 1 +github.com/muety/wakapi/models/summary.go:93.35,95.2 1 1 +github.com/muety/wakapi/models/summary.go:97.57,106.2 1 1 +github.com/muety/wakapi/models/summary.go:108.64,110.2 1 0 +github.com/muety/wakapi/models/summary.go:123.33,128.26 4 1 +github.com/muety/wakapi/models/summary.go:135.2,135.37 1 1 +github.com/muety/wakapi/models/summary.go:140.2,141.16 2 1 +github.com/muety/wakapi/models/summary.go:144.2,144.33 1 1 +github.com/muety/wakapi/models/summary.go:128.26,129.30 1 1 +github.com/muety/wakapi/models/summary.go:129.30,131.4 1 1 +github.com/muety/wakapi/models/summary.go:135.37,137.3 1 0 +github.com/muety/wakapi/models/summary.go:141.16,143.3 1 0 +github.com/muety/wakapi/models/summary.go:144.33,146.3 1 1 +github.com/muety/wakapi/models/summary.go:150.56,156.28 5 1 +github.com/muety/wakapi/models/summary.go:160.2,161.42 2 1 +github.com/muety/wakapi/models/summary.go:168.2,169.15 2 1 +github.com/muety/wakapi/models/summary.go:156.28,158.3 1 1 +github.com/muety/wakapi/models/summary.go:161.42,162.22 1 0 +github.com/muety/wakapi/models/summary.go:162.22,164.9 2 0 +github.com/muety/wakapi/models/summary.go:169.15,170.28 1 1 +github.com/muety/wakapi/models/summary.go:170.28,172.4 1 0 +github.com/muety/wakapi/models/summary.go:172.9,178.4 1 1 +github.com/muety/wakapi/models/summary.go:182.45,187.16 4 0 +github.com/muety/wakapi/models/summary.go:190.2,190.39 1 0 +github.com/muety/wakapi/models/summary.go:194.2,194.30 1 0 +github.com/muety/wakapi/models/summary.go:187.16,189.3 1 0 +github.com/muety/wakapi/models/summary.go:190.39,192.3 1 0 +github.com/muety/wakapi/models/summary.go:197.73,199.55 2 1 +github.com/muety/wakapi/models/summary.go:204.2,204.16 1 1 +github.com/muety/wakapi/models/summary.go:199.55,200.31 1 1 +github.com/muety/wakapi/models/summary.go:200.31,202.4 1 1 +github.com/muety/wakapi/models/summary.go:207.88,209.55 2 1 +github.com/muety/wakapi/models/summary.go:217.2,217.16 1 1 +github.com/muety/wakapi/models/summary.go:209.55,210.31 1 1 +github.com/muety/wakapi/models/summary.go:210.31,211.23 1 1 +github.com/muety/wakapi/models/summary.go:214.4,214.46 1 1 +github.com/muety/wakapi/models/summary.go:211.23,212.13 1 1 +github.com/muety/wakapi/models/summary.go:220.70,222.8 2 1 +github.com/muety/wakapi/models/summary.go:225.2,225.10 1 1 +github.com/muety/wakapi/models/summary.go:222.8,224.3 1 1 +github.com/muety/wakapi/models/summary.go:228.71,229.63 1 1 +github.com/muety/wakapi/models/summary.go:269.2,276.10 7 1 +github.com/muety/wakapi/models/summary.go:229.63,232.45 2 1 +github.com/muety/wakapi/models/summary.go:241.3,241.31 1 1 +github.com/muety/wakapi/models/summary.go:248.3,248.31 1 1 +github.com/muety/wakapi/models/summary.go:265.3,265.16 1 1 +github.com/muety/wakapi/models/summary.go:232.45,233.32 1 1 +github.com/muety/wakapi/models/summary.go:238.4,238.14 1 1 +github.com/muety/wakapi/models/summary.go:233.32,234.24 1 1 +github.com/muety/wakapi/models/summary.go:234.24,236.6 1 1 +github.com/muety/wakapi/models/summary.go:241.31,243.60 1 1 +github.com/muety/wakapi/models/summary.go:243.60,245.5 1 1 +github.com/muety/wakapi/models/summary.go:248.31,250.60 1 1 +github.com/muety/wakapi/models/summary.go:250.60,251.55 1 1 +github.com/muety/wakapi/models/summary.go:251.55,253.6 1 1 +github.com/muety/wakapi/models/summary.go:253.11,261.6 1 1 +github.com/muety/wakapi/models/summary.go:279.57,280.30 1 1 +github.com/muety/wakapi/models/summary.go:285.2,285.43 1 0 +github.com/muety/wakapi/models/summary.go:280.30,281.28 1 1 +github.com/muety/wakapi/models/summary.go:281.28,283.4 1 1 +github.com/muety/wakapi/models/summary.go:288.50,292.2 1 1 +github.com/muety/wakapi/models/summary.go:294.33,296.2 1 1 +github.com/muety/wakapi/models/summary.go:298.43,300.2 1 1 +github.com/muety/wakapi/models/summary.go:302.38,304.2 1 1 +github.com/muety/wakapi/models/user.go:11.13,13.2 1 1 +github.com/muety/wakapi/models/user.go:82.36,83.22 1 1 +github.com/muety/wakapi/models/user.go:86.2,87.16 2 1 +github.com/muety/wakapi/models/user.go:90.2,90.11 1 1 +github.com/muety/wakapi/models/user.go:83.22,85.3 1 1 +github.com/muety/wakapi/models/user.go:87.16,89.3 1 0 +github.com/muety/wakapi/models/user.go:93.41,96.2 2 1 +github.com/muety/wakapi/models/user.go:98.53,101.54 3 0 +github.com/muety/wakapi/models/user.go:104.2,104.51 1 0 +github.com/muety/wakapi/models/user.go:107.2,107.20 1 0 +github.com/muety/wakapi/models/user.go:101.54,103.3 1 0 +github.com/muety/wakapi/models/user.go:104.51,106.3 1 0 +github.com/muety/wakapi/models/user.go:110.43,113.2 1 0 +github.com/muety/wakapi/models/user.go:115.45,118.2 1 0 +github.com/muety/wakapi/models/user.go:120.33,125.2 1 0 +github.com/muety/wakapi/models/user.go:127.41,129.2 1 0 +github.com/muety/wakapi/models/user.go:131.45,133.2 1 0 +github.com/muety/wakapi/models/user.go:135.45,137.2 1 0 +github.com/muety/wakapi/models/user.go:139.39,141.2 1 0 +github.com/muety/wakapi/models/user.go:143.39,146.2 2 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/project_label.go:11.39,13.2 1 0 +github.com/muety/wakapi/config/utils.go:5.78,7.22 2 0 +github.com/muety/wakapi/config/utils.go:13.2,13.11 1 0 +github.com/muety/wakapi/config/utils.go:7.22,8.18 1 0 +github.com/muety/wakapi/config/utils.go:11.3,11.12 1 0 +github.com/muety/wakapi/config/utils.go:8.18,10.4 1 0 +github.com/muety/wakapi/config/config.go:153.70,155.2 1 0 +github.com/muety/wakapi/config/config.go:157.65,159.2 1 0 +github.com/muety/wakapi/config/config.go:161.82,171.2 1 0 +github.com/muety/wakapi/config/config.go:173.31,175.2 1 0 +github.com/muety/wakapi/config/config.go:177.32,179.2 1 0 +github.com/muety/wakapi/config/config.go:181.74,182.19 1 0 +github.com/muety/wakapi/config/config.go:183.10,184.34 1 0 +github.com/muety/wakapi/config/config.go:184.34,185.90 1 0 +github.com/muety/wakapi/config/config.go:188.4,188.100 1 0 +github.com/muety/wakapi/config/config.go:191.4,191.91 1 0 +github.com/muety/wakapi/config/config.go:194.4,194.95 1 0 +github.com/muety/wakapi/config/config.go:197.4,197.93 1 0 +github.com/muety/wakapi/config/config.go:200.4,200.97 1 0 +github.com/muety/wakapi/config/config.go:203.4,203.101 1 0 +github.com/muety/wakapi/config/config.go:206.4,206.98 1 0 +github.com/muety/wakapi/config/config.go:209.4,209.97 1 0 +github.com/muety/wakapi/config/config.go:212.4,212.14 1 0 +github.com/muety/wakapi/config/config.go:185.90,187.5 1 0 +github.com/muety/wakapi/config/config.go:188.100,190.5 1 0 +github.com/muety/wakapi/config/config.go:191.91,193.5 1 0 +github.com/muety/wakapi/config/config.go:194.95,196.5 1 0 +github.com/muety/wakapi/config/config.go:197.93,199.5 1 0 +github.com/muety/wakapi/config/config.go:200.97,202.5 1 0 +github.com/muety/wakapi/config/config.go:203.101,205.5 1 0 +github.com/muety/wakapi/config/config.go:206.98,208.5 1 0 +github.com/muety/wakapi/config/config.go:209.97,211.5 1 0 +github.com/muety/wakapi/config/config.go:217.60,219.2 1 0 +github.com/muety/wakapi/config/config.go:221.59,223.2 1 0 +github.com/muety/wakapi/config/config.go:225.57,227.2 1 0 +github.com/muety/wakapi/config/config.go:229.53,231.2 1 0 +github.com/muety/wakapi/config/config.go:233.55,236.2 2 0 +github.com/muety/wakapi/config/config.go:238.50,240.2 1 0 +github.com/muety/wakapi/config/config.go:242.36,244.2 1 0 +github.com/muety/wakapi/config/config.go:246.35,248.2 1 0 +github.com/muety/wakapi/config/config.go:250.38,252.2 1 0 +github.com/muety/wakapi/config/config.go:254.46,256.2 1 0 +github.com/muety/wakapi/config/config.go:258.43,260.2 1 0 +github.com/muety/wakapi/config/config.go:262.29,264.2 1 1 +github.com/muety/wakapi/config/config.go:266.48,277.16 2 0 +github.com/muety/wakapi/config/config.go:281.2,282.53 2 0 +github.com/muety/wakapi/config/config.go:286.2,286.15 1 0 +github.com/muety/wakapi/config/config.go:277.16,279.3 1 0 +github.com/muety/wakapi/config/config.go:282.53,284.3 1 0 +github.com/muety/wakapi/config/config.go:289.38,290.43 1 0 +github.com/muety/wakapi/config/config.go:293.2,293.15 1 0 +github.com/muety/wakapi/config/config.go:290.43,292.3 1 0 +github.com/muety/wakapi/config/config.go:296.45,297.27 1 0 +github.com/muety/wakapi/config/config.go:300.2,300.24 1 0 +github.com/muety/wakapi/config/config.go:303.2,303.25 1 0 +github.com/muety/wakapi/config/config.go:306.2,306.15 1 0 +github.com/muety/wakapi/config/config.go:297.27,299.3 1 0 +github.com/muety/wakapi/config/config.go:300.24,302.3 1 0 +github.com/muety/wakapi/config/config.go:303.25,305.3 1 0 +github.com/muety/wakapi/config/config.go:309.77,310.29 1 0 +github.com/muety/wakapi/config/config.go:315.2,315.19 1 0 +github.com/muety/wakapi/config/config.go:310.29,311.18 1 0 +github.com/muety/wakapi/config/config.go:311.18,313.4 1 0 +github.com/muety/wakapi/config/config.go:318.42,319.28 1 0 +github.com/muety/wakapi/config/config.go:335.2,335.20 1 0 +github.com/muety/wakapi/config/config.go:320.52,321.21 1 0 +github.com/muety/wakapi/config/config.go:322.53,323.22 1 0 +github.com/muety/wakapi/config/config.go:324.55,325.24 1 0 +github.com/muety/wakapi/config/config.go:326.54,327.23 1 0 +github.com/muety/wakapi/config/config.go:328.52,329.21 1 0 +github.com/muety/wakapi/config/config.go:330.54,331.23 1 0 +github.com/muety/wakapi/config/config.go:332.52,333.21 1 0 +github.com/muety/wakapi/config/config.go:338.26,340.2 1 0 +github.com/muety/wakapi/config/config.go:342.20,344.2 1 0 +github.com/muety/wakapi/config/config.go:346.35,351.96 3 0 +github.com/muety/wakapi/config/config.go:355.2,364.52 6 0 +github.com/muety/wakapi/config/config.go:368.2,368.47 1 0 +github.com/muety/wakapi/config/config.go:374.2,374.29 1 0 +github.com/muety/wakapi/config/config.go:380.2,380.106 1 0 +github.com/muety/wakapi/config/config.go:383.2,383.28 1 0 +github.com/muety/wakapi/config/config.go:386.2,386.51 1 0 +github.com/muety/wakapi/config/config.go:390.2,390.94 1 0 +github.com/muety/wakapi/config/config.go:393.2,393.81 1 0 +github.com/muety/wakapi/config/config.go:396.2,396.75 1 0 +github.com/muety/wakapi/config/config.go:400.2,401.14 2 0 +github.com/muety/wakapi/config/config.go:351.96,353.3 1 0 +github.com/muety/wakapi/config/config.go:364.52,366.3 1 0 +github.com/muety/wakapi/config/config.go:368.47,369.14 1 0 +github.com/muety/wakapi/config/config.go:369.14,371.4 1 0 +github.com/muety/wakapi/config/config.go:374.29,377.3 2 0 +github.com/muety/wakapi/config/config.go:380.106,382.3 1 0 +github.com/muety/wakapi/config/config.go:383.28,385.3 1 0 +github.com/muety/wakapi/config/config.go:386.51,389.3 2 0 +github.com/muety/wakapi/config/config.go:390.94,392.3 1 0 +github.com/muety/wakapi/config/config.go:393.81,395.3 1 0 +github.com/muety/wakapi/config/config.go:396.75,398.3 1 0 +github.com/muety/wakapi/config/db.go:39.50,40.19 1 0 +github.com/muety/wakapi/config/db.go:53.2,53.12 1 0 +github.com/muety/wakapi/config/db.go:41.23,45.5 1 0 +github.com/muety/wakapi/config/db.go:46.26,49.5 1 0 +github.com/muety/wakapi/config/db.go:50.24,51.48 1 0 +github.com/muety/wakapi/config/db.go:56.53,66.2 1 1 +github.com/muety/wakapi/config/db.go:68.56,70.16 2 1 +github.com/muety/wakapi/config/db.go:74.2,81.3 1 1 +github.com/muety/wakapi/config/db.go:70.16,72.3 1 0 +github.com/muety/wakapi/config/db.go:84.54,86.2 1 1 github.com/muety/wakapi/config/eventbus.go:26.13,28.2 1 1 github.com/muety/wakapi/config/eventbus.go:30.26,32.2 1 0 github.com/muety/wakapi/config/fs.go:9.56,10.19 1 0 @@ -217,249 +327,48 @@ github.com/muety/wakapi/config/sentry.go:142.17,144.3 1 0 github.com/muety/wakapi/config/sentry.go:147.49,151.51 2 0 github.com/muety/wakapi/config/sentry.go:154.2,154.12 1 0 github.com/muety/wakapi/config/sentry.go:151.51,153.3 1 0 -github.com/muety/wakapi/config/utils.go:5.78,7.22 2 0 -github.com/muety/wakapi/config/utils.go:13.2,13.11 1 0 -github.com/muety/wakapi/config/utils.go:7.22,8.18 1 0 -github.com/muety/wakapi/config/utils.go:11.3,11.12 1 0 -github.com/muety/wakapi/config/utils.go:8.18,10.4 1 0 -github.com/muety/wakapi/config/config.go:152.70,154.2 1 0 -github.com/muety/wakapi/config/config.go:156.65,158.2 1 0 -github.com/muety/wakapi/config/config.go:160.82,170.2 1 0 -github.com/muety/wakapi/config/config.go:172.31,174.2 1 0 -github.com/muety/wakapi/config/config.go:176.32,178.2 1 0 -github.com/muety/wakapi/config/config.go:180.74,181.19 1 0 -github.com/muety/wakapi/config/config.go:182.10,183.34 1 0 -github.com/muety/wakapi/config/config.go:183.34,184.90 1 0 -github.com/muety/wakapi/config/config.go:187.4,187.100 1 0 -github.com/muety/wakapi/config/config.go:190.4,190.91 1 0 -github.com/muety/wakapi/config/config.go:193.4,193.95 1 0 -github.com/muety/wakapi/config/config.go:196.4,196.93 1 0 -github.com/muety/wakapi/config/config.go:199.4,199.97 1 0 -github.com/muety/wakapi/config/config.go:202.4,202.101 1 0 -github.com/muety/wakapi/config/config.go:205.4,205.98 1 0 -github.com/muety/wakapi/config/config.go:208.4,208.97 1 0 -github.com/muety/wakapi/config/config.go:211.4,211.14 1 0 -github.com/muety/wakapi/config/config.go:184.90,186.5 1 0 -github.com/muety/wakapi/config/config.go:187.100,189.5 1 0 -github.com/muety/wakapi/config/config.go:190.91,192.5 1 0 -github.com/muety/wakapi/config/config.go:193.95,195.5 1 0 -github.com/muety/wakapi/config/config.go:196.93,198.5 1 0 -github.com/muety/wakapi/config/config.go:199.97,201.5 1 0 -github.com/muety/wakapi/config/config.go:202.101,204.5 1 0 -github.com/muety/wakapi/config/config.go:205.98,207.5 1 0 -github.com/muety/wakapi/config/config.go:208.97,210.5 1 0 -github.com/muety/wakapi/config/config.go:216.60,218.2 1 0 -github.com/muety/wakapi/config/config.go:220.59,222.2 1 0 -github.com/muety/wakapi/config/config.go:224.57,226.2 1 0 -github.com/muety/wakapi/config/config.go:228.53,230.2 1 0 -github.com/muety/wakapi/config/config.go:232.55,235.2 2 0 -github.com/muety/wakapi/config/config.go:237.50,239.2 1 0 -github.com/muety/wakapi/config/config.go:241.46,243.2 1 0 -github.com/muety/wakapi/config/config.go:245.43,247.2 1 0 -github.com/muety/wakapi/config/config.go:249.29,251.2 1 1 -github.com/muety/wakapi/config/config.go:253.48,264.16 2 0 -github.com/muety/wakapi/config/config.go:268.2,269.53 2 0 -github.com/muety/wakapi/config/config.go:273.2,273.15 1 0 -github.com/muety/wakapi/config/config.go:264.16,266.3 1 0 -github.com/muety/wakapi/config/config.go:269.53,271.3 1 0 -github.com/muety/wakapi/config/config.go:276.38,277.43 1 0 -github.com/muety/wakapi/config/config.go:280.2,280.15 1 0 -github.com/muety/wakapi/config/config.go:277.43,279.3 1 0 -github.com/muety/wakapi/config/config.go:283.45,284.27 1 0 -github.com/muety/wakapi/config/config.go:287.2,287.15 1 0 -github.com/muety/wakapi/config/config.go:284.27,286.3 1 0 -github.com/muety/wakapi/config/config.go:290.77,291.29 1 0 -github.com/muety/wakapi/config/config.go:296.2,296.19 1 0 -github.com/muety/wakapi/config/config.go:291.29,292.18 1 0 -github.com/muety/wakapi/config/config.go:292.18,294.4 1 0 -github.com/muety/wakapi/config/config.go:299.42,300.28 1 0 -github.com/muety/wakapi/config/config.go:316.2,316.20 1 0 -github.com/muety/wakapi/config/config.go:301.52,302.21 1 0 -github.com/muety/wakapi/config/config.go:303.53,304.22 1 0 -github.com/muety/wakapi/config/config.go:305.55,306.24 1 0 -github.com/muety/wakapi/config/config.go:307.54,308.23 1 0 -github.com/muety/wakapi/config/config.go:309.52,310.21 1 0 -github.com/muety/wakapi/config/config.go:311.54,312.23 1 0 -github.com/muety/wakapi/config/config.go:313.52,314.21 1 0 -github.com/muety/wakapi/config/config.go:319.26,321.2 1 0 -github.com/muety/wakapi/config/config.go:323.20,325.2 1 0 -github.com/muety/wakapi/config/config.go:327.35,332.96 3 0 -github.com/muety/wakapi/config/config.go:336.2,345.52 6 0 -github.com/muety/wakapi/config/config.go:349.2,349.47 1 0 -github.com/muety/wakapi/config/config.go:355.2,355.29 1 0 -github.com/muety/wakapi/config/config.go:361.2,361.106 1 0 -github.com/muety/wakapi/config/config.go:364.2,364.28 1 0 -github.com/muety/wakapi/config/config.go:367.2,367.94 1 0 -github.com/muety/wakapi/config/config.go:370.2,370.81 1 0 -github.com/muety/wakapi/config/config.go:373.2,373.75 1 0 -github.com/muety/wakapi/config/config.go:377.2,378.14 2 0 -github.com/muety/wakapi/config/config.go:332.96,334.3 1 0 -github.com/muety/wakapi/config/config.go:345.52,347.3 1 0 -github.com/muety/wakapi/config/config.go:349.47,350.14 1 0 -github.com/muety/wakapi/config/config.go:350.14,352.4 1 0 -github.com/muety/wakapi/config/config.go:355.29,358.3 2 0 -github.com/muety/wakapi/config/config.go:361.106,363.3 1 0 -github.com/muety/wakapi/config/config.go:364.28,366.3 1 0 -github.com/muety/wakapi/config/config.go:367.94,369.3 1 0 -github.com/muety/wakapi/config/config.go:370.81,372.3 1 0 -github.com/muety/wakapi/config/config.go:373.75,375.3 1 0 -github.com/muety/wakapi/config/db.go:39.50,40.19 1 0 -github.com/muety/wakapi/config/db.go:53.2,53.12 1 0 -github.com/muety/wakapi/config/db.go:41.23,45.5 1 0 -github.com/muety/wakapi/config/db.go:46.26,49.5 1 0 -github.com/muety/wakapi/config/db.go:50.24,51.48 1 0 -github.com/muety/wakapi/config/db.go:56.53,66.2 1 1 -github.com/muety/wakapi/config/db.go:68.56,70.16 2 1 -github.com/muety/wakapi/config/db.go:74.2,81.3 1 1 -github.com/muety/wakapi/config/db.go:70.16,72.3 1 0 -github.com/muety/wakapi/config/db.go:84.54,86.2 1 1 -github.com/muety/wakapi/utils/date.go:8.43,10.2 1 1 -github.com/muety/wakapi/utils/date.go:12.48,14.2 1 0 -github.com/muety/wakapi/utils/date.go:16.41,18.21 2 1 -github.com/muety/wakapi/utils/date.go:21.2,21.23 1 1 -github.com/muety/wakapi/utils/date.go:18.21,20.3 1 0 -github.com/muety/wakapi/utils/date.go:24.46,26.2 1 0 -github.com/muety/wakapi/utils/date.go:28.51,30.2 1 0 -github.com/muety/wakapi/utils/date.go:32.44,35.2 2 1 -github.com/muety/wakapi/utils/date.go:37.52,39.2 1 0 -github.com/muety/wakapi/utils/date.go:41.45,43.2 1 0 -github.com/muety/wakapi/utils/date.go:45.51,47.2 1 0 -github.com/muety/wakapi/utils/date.go:49.44,51.2 1 0 -github.com/muety/wakapi/utils/date.go:54.42,56.2 1 1 -github.com/muety/wakapi/utils/date.go:59.46,61.2 1 0 -github.com/muety/wakapi/utils/date.go:64.41,66.21 2 1 -github.com/muety/wakapi/utils/date.go:69.2,69.36 1 1 -github.com/muety/wakapi/utils/date.go:66.21,68.3 1 1 -github.com/muety/wakapi/utils/date.go:73.63,75.2 1 0 -github.com/muety/wakapi/utils/date.go:78.62,84.2 5 0 -github.com/muety/wakapi/utils/date.go:87.67,90.33 2 1 -github.com/muety/wakapi/utils/date.go:99.2,99.18 1 1 -github.com/muety/wakapi/utils/date.go:90.33,92.19 2 1 -github.com/muety/wakapi/utils/date.go:95.3,96.10 2 1 -github.com/muety/wakapi/utils/date.go:92.19,94.4 1 1 -github.com/muety/wakapi/utils/date.go:102.50,108.2 5 0 -github.com/muety/wakapi/utils/date.go:111.79,114.36 3 1 -github.com/muety/wakapi/utils/date.go:118.2,118.21 1 1 -github.com/muety/wakapi/utils/date.go:122.2,122.21 1 1 -github.com/muety/wakapi/utils/date.go:126.2,126.13 1 1 -github.com/muety/wakapi/utils/date.go:114.36,117.3 2 0 -github.com/muety/wakapi/utils/date.go:118.21,121.3 2 1 -github.com/muety/wakapi/utils/date.go:122.21,125.3 2 1 -github.com/muety/wakapi/utils/filesystem.go:14.68,16.16 2 0 -github.com/muety/wakapi/utils/filesystem.go:20.2,21.15 2 0 -github.com/muety/wakapi/utils/filesystem.go:33.2,33.15 1 0 -github.com/muety/wakapi/utils/filesystem.go:16.16,18.3 1 0 -github.com/muety/wakapi/utils/filesystem.go:21.15,23.47 2 0 -github.com/muety/wakapi/utils/filesystem.go:23.47,25.23 2 0 -github.com/muety/wakapi/utils/filesystem.go:29.4,29.19 1 0 -github.com/muety/wakapi/utils/filesystem.go:25.23,27.5 1 0 -github.com/muety/wakapi/utils/summary.go:10.66,11.40 1 0 -github.com/muety/wakapi/utils/summary.go:16.2,16.48 1 0 -github.com/muety/wakapi/utils/summary.go:11.40,12.27 1 0 -github.com/muety/wakapi/utils/summary.go:12.27,14.4 1 0 -github.com/muety/wakapi/utils/summary.go:19.88,22.2 2 0 -github.com/muety/wakapi/utils/summary.go:24.95,26.16 2 0 -github.com/muety/wakapi/utils/summary.go:29.2,29.38 1 0 -github.com/muety/wakapi/utils/summary.go:26.16,28.3 1 0 -github.com/muety/wakapi/utils/summary.go:32.105,36.18 3 0 -github.com/muety/wakapi/utils/summary.go:71.2,71.22 1 0 -github.com/muety/wakapi/utils/summary.go:37.28,38.26 1 0 -github.com/muety/wakapi/utils/summary.go:39.32,41.24 2 0 -github.com/muety/wakapi/utils/summary.go:42.31,43.29 1 0 -github.com/muety/wakapi/utils/summary.go:44.31,46.27 2 0 -github.com/muety/wakapi/utils/summary.go:47.32,48.30 1 0 -github.com/muety/wakapi/utils/summary.go:49.32,51.28 2 0 -github.com/muety/wakapi/utils/summary.go:52.31,53.29 1 0 -github.com/muety/wakapi/utils/summary.go:54.32,55.31 1 0 -github.com/muety/wakapi/utils/summary.go:56.41,58.42 2 0 -github.com/muety/wakapi/utils/summary.go:59.33,60.32 1 0 -github.com/muety/wakapi/utils/summary.go:61.33,62.32 1 0 -github.com/muety/wakapi/utils/summary.go:63.35,64.32 1 0 -github.com/muety/wakapi/utils/summary.go:65.26,66.21 1 0 -github.com/muety/wakapi/utils/summary.go:67.10,68.39 1 0 -github.com/muety/wakapi/utils/summary.go:74.73,81.56 5 0 -github.com/muety/wakapi/utils/summary.go:97.2,104.8 2 0 -github.com/muety/wakapi/utils/summary.go:81.56,83.3 1 0 -github.com/muety/wakapi/utils/summary.go:83.8,83.54 1 0 -github.com/muety/wakapi/utils/summary.go:83.54,85.3 1 0 -github.com/muety/wakapi/utils/summary.go:85.8,87.17 2 0 -github.com/muety/wakapi/utils/summary.go:91.3,92.17 2 0 -github.com/muety/wakapi/utils/summary.go:87.17,89.4 1 0 -github.com/muety/wakapi/utils/summary.go:92.17,94.4 1 0 -github.com/muety/wakapi/utils/summary.go:107.48,111.51 2 0 -github.com/muety/wakapi/utils/summary.go:114.2,114.12 1 0 -github.com/muety/wakapi/utils/summary.go:111.51,113.3 1 0 -github.com/muety/wakapi/utils/common.go:18.73,19.58 1 0 -github.com/muety/wakapi/utils/common.go:22.2,22.87 1 0 -github.com/muety/wakapi/utils/common.go:25.2,25.64 1 0 -github.com/muety/wakapi/utils/common.go:19.58,21.3 1 0 -github.com/muety/wakapi/utils/common.go:22.87,24.3 1 0 -github.com/muety/wakapi/utils/common.go:28.40,30.2 1 0 -github.com/muety/wakapi/utils/common.go:32.44,34.2 1 0 -github.com/muety/wakapi/utils/common.go:36.49,38.2 1 0 -github.com/muety/wakapi/utils/common.go:40.45,42.2 1 0 -github.com/muety/wakapi/utils/common.go:44.24,46.2 1 0 -github.com/muety/wakapi/utils/common.go:48.56,51.45 3 1 -github.com/muety/wakapi/utils/common.go:54.2,54.40 1 1 -github.com/muety/wakapi/utils/common.go:51.45,53.3 1 1 -github.com/muety/wakapi/utils/http.go:9.90,12.58 3 0 -github.com/muety/wakapi/utils/http.go:12.58,14.3 1 0 -github.com/muety/wakapi/utils/set.go:3.51,5.26 2 0 -github.com/muety/wakapi/utils/set.go:8.2,8.12 1 0 -github.com/muety/wakapi/utils/set.go:5.26,7.3 1 0 -github.com/muety/wakapi/utils/set.go:11.49,13.21 2 0 -github.com/muety/wakapi/utils/set.go:16.2,16.14 1 0 -github.com/muety/wakapi/utils/set.go:13.21,15.3 1 0 -github.com/muety/wakapi/utils/strings.go:8.34,10.2 1 0 -github.com/muety/wakapi/utils/strings.go:12.77,13.29 1 0 -github.com/muety/wakapi/utils/strings.go:18.2,18.19 1 0 -github.com/muety/wakapi/utils/strings.go:13.29,14.18 1 0 -github.com/muety/wakapi/utils/strings.go:14.18,16.4 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/auth.go:16.79,18.54 2 0 -github.com/muety/wakapi/utils/auth.go:22.2,24.16 3 0 -github.com/muety/wakapi/utils/auth.go:28.2,30.45 3 0 -github.com/muety/wakapi/utils/auth.go:33.2,34.32 2 0 -github.com/muety/wakapi/utils/auth.go:18.54,20.3 1 0 -github.com/muety/wakapi/utils/auth.go:24.16,26.3 1 0 -github.com/muety/wakapi/utils/auth.go:30.45,32.3 1 0 -github.com/muety/wakapi/utils/auth.go:37.65,39.85 2 0 -github.com/muety/wakapi/utils/auth.go:43.2,44.30 2 0 -github.com/muety/wakapi/utils/auth.go:39.85,41.3 1 0 -github.com/muety/wakapi/utils/auth.go:47.94,49.16 2 0 -github.com/muety/wakapi/utils/auth.go:53.2,53.107 1 0 -github.com/muety/wakapi/utils/auth.go:57.2,57.22 1 0 -github.com/muety/wakapi/utils/auth.go:49.16,51.3 1 0 -github.com/muety/wakapi/utils/auth.go:53.107,55.3 1 0 -github.com/muety/wakapi/utils/auth.go:60.56,64.2 3 0 -github.com/muety/wakapi/utils/auth.go:66.55,69.16 3 0 -github.com/muety/wakapi/utils/auth.go:72.2,72.16 1 0 -github.com/muety/wakapi/utils/auth.go:69.16,71.3 1 0 -github.com/muety/wakapi/utils/collection.go:3.59,5.22 2 0 -github.com/muety/wakapi/utils/collection.go:8.2,8.15 1 0 -github.com/muety/wakapi/utils/collection.go:5.22,7.3 1 0 -github.com/muety/wakapi/utils/color.go:8.90,10.32 2 0 -github.com/muety/wakapi/utils/color.go:15.2,15.15 1 0 -github.com/muety/wakapi/utils/color.go:10.32,11.50 1 0 -github.com/muety/wakapi/utils/color.go:11.50,13.4 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:30.91,36.2 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:38.90,41.2 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:43.90,46.2 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:48.71,49.71 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:49.71,51.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:54.107,58.16 3 0 +github.com/muety/wakapi/middlewares/authenticate.go:61.2,61.16 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:65.2,65.31 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:81.2,82.12 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:58.16,60.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:61.16,63.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:65.31,66.31 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:71.3,71.29 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:78.3,78.9 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:66.31,69.4 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:71.29,74.4 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:74.9,77.4 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:85.70,86.39 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:91.2,91.14 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:86.39,87.60 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:87.60,89.4 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:94.98,96.16 2 1 +github.com/muety/wakapi/middlewares/authenticate.go:100.2,103.16 4 1 +github.com/muety/wakapi/middlewares/authenticate.go:106.2,106.18 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:96.16,98.3 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:103.16,105.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:109.97,113.19 4 1 +github.com/muety/wakapi/middlewares/authenticate.go:116.2,117.16 2 1 +github.com/muety/wakapi/middlewares/authenticate.go:120.2,120.18 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:113.19,115.3 1 1 +github.com/muety/wakapi/middlewares/authenticate.go:117.16,119.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:123.92,125.16 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:129.2,130.16 2 0 +github.com/muety/wakapi/middlewares/authenticate.go:137.2,137.18 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:125.16,127.3 1 0 +github.com/muety/wakapi/middlewares/authenticate.go:130.16,132.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/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 @@ -508,48 +417,240 @@ 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/middlewares/authenticate.go:30.91,36.2 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:38.90,41.2 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:43.90,46.2 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:48.71,49.71 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:49.71,51.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:54.107,58.16 3 0 -github.com/muety/wakapi/middlewares/authenticate.go:61.2,61.16 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:65.2,65.31 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:81.2,82.12 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:58.16,60.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:61.16,63.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:65.31,66.31 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:71.3,71.29 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:78.3,78.9 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:66.31,69.4 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:71.29,74.4 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:74.9,77.4 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:85.70,86.39 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:91.2,91.14 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:86.39,87.60 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:87.60,89.4 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:94.98,96.16 2 1 -github.com/muety/wakapi/middlewares/authenticate.go:100.2,103.16 4 1 -github.com/muety/wakapi/middlewares/authenticate.go:106.2,106.18 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:96.16,98.3 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:103.16,105.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:109.97,113.19 4 1 -github.com/muety/wakapi/middlewares/authenticate.go:116.2,117.16 2 1 -github.com/muety/wakapi/middlewares/authenticate.go:120.2,120.18 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:113.19,115.3 1 1 -github.com/muety/wakapi/middlewares/authenticate.go:117.16,119.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:123.92,125.16 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:129.2,130.16 2 0 -github.com/muety/wakapi/middlewares/authenticate.go:137.2,137.18 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:125.16,127.3 1 0 -github.com/muety/wakapi/middlewares/authenticate.go:130.16,132.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/utils/collection.go:3.59,5.22 2 0 +github.com/muety/wakapi/utils/collection.go:8.2,8.15 1 0 +github.com/muety/wakapi/utils/collection.go:5.22,7.3 1 0 +github.com/muety/wakapi/utils/color.go:8.90,10.32 2 0 +github.com/muety/wakapi/utils/color.go:15.2,15.15 1 0 +github.com/muety/wakapi/utils/color.go:10.32,11.50 1 0 +github.com/muety/wakapi/utils/color.go:11.50,13.4 1 0 +github.com/muety/wakapi/utils/common.go:18.73,19.58 1 0 +github.com/muety/wakapi/utils/common.go:22.2,22.87 1 0 +github.com/muety/wakapi/utils/common.go:25.2,25.64 1 0 +github.com/muety/wakapi/utils/common.go:19.58,21.3 1 0 +github.com/muety/wakapi/utils/common.go:22.87,24.3 1 0 +github.com/muety/wakapi/utils/common.go:28.40,30.2 1 0 +github.com/muety/wakapi/utils/common.go:32.44,34.2 1 0 +github.com/muety/wakapi/utils/common.go:36.49,38.2 1 0 +github.com/muety/wakapi/utils/common.go:40.45,42.2 1 0 +github.com/muety/wakapi/utils/common.go:44.24,46.2 1 0 +github.com/muety/wakapi/utils/common.go:48.56,51.45 3 1 +github.com/muety/wakapi/utils/common.go:54.2,54.40 1 1 +github.com/muety/wakapi/utils/common.go:51.45,53.3 1 1 +github.com/muety/wakapi/utils/filesystem.go:14.68,16.16 2 0 +github.com/muety/wakapi/utils/filesystem.go:20.2,21.15 2 0 +github.com/muety/wakapi/utils/filesystem.go:33.2,33.15 1 0 +github.com/muety/wakapi/utils/filesystem.go:16.16,18.3 1 0 +github.com/muety/wakapi/utils/filesystem.go:21.15,23.47 2 0 +github.com/muety/wakapi/utils/filesystem.go:23.47,25.23 2 0 +github.com/muety/wakapi/utils/filesystem.go:29.4,29.19 1 0 +github.com/muety/wakapi/utils/filesystem.go:25.23,27.5 1 0 +github.com/muety/wakapi/utils/set.go:3.51,5.26 2 0 +github.com/muety/wakapi/utils/set.go:8.2,8.12 1 0 +github.com/muety/wakapi/utils/set.go:5.26,7.3 1 0 +github.com/muety/wakapi/utils/set.go:11.49,13.21 2 0 +github.com/muety/wakapi/utils/set.go:16.2,16.14 1 0 +github.com/muety/wakapi/utils/set.go:13.21,15.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/utils/auth.go:16.79,18.54 2 0 +github.com/muety/wakapi/utils/auth.go:22.2,24.16 3 0 +github.com/muety/wakapi/utils/auth.go:28.2,30.45 3 0 +github.com/muety/wakapi/utils/auth.go:33.2,34.32 2 0 +github.com/muety/wakapi/utils/auth.go:18.54,20.3 1 0 +github.com/muety/wakapi/utils/auth.go:24.16,26.3 1 0 +github.com/muety/wakapi/utils/auth.go:30.45,32.3 1 0 +github.com/muety/wakapi/utils/auth.go:37.65,39.85 2 0 +github.com/muety/wakapi/utils/auth.go:43.2,44.30 2 0 +github.com/muety/wakapi/utils/auth.go:39.85,41.3 1 0 +github.com/muety/wakapi/utils/auth.go:47.94,49.16 2 0 +github.com/muety/wakapi/utils/auth.go:53.2,53.107 1 0 +github.com/muety/wakapi/utils/auth.go:57.2,57.22 1 0 +github.com/muety/wakapi/utils/auth.go:49.16,51.3 1 0 +github.com/muety/wakapi/utils/auth.go:53.107,55.3 1 0 +github.com/muety/wakapi/utils/auth.go:60.56,64.2 3 0 +github.com/muety/wakapi/utils/auth.go:66.55,69.16 3 0 +github.com/muety/wakapi/utils/auth.go:72.2,72.16 1 0 +github.com/muety/wakapi/utils/auth.go:69.16,71.3 1 0 +github.com/muety/wakapi/utils/db.go:8.34,9.37 1 0 +github.com/muety/wakapi/utils/db.go:17.2,18.14 2 0 +github.com/muety/wakapi/utils/db.go:9.37,11.110 2 0 +github.com/muety/wakapi/utils/db.go:15.3,15.20 1 0 +github.com/muety/wakapi/utils/db.go:11.110,14.4 2 0 +github.com/muety/wakapi/utils/db.go:21.39,22.37 1 0 +github.com/muety/wakapi/utils/db.go:30.2,31.14 2 0 +github.com/muety/wakapi/utils/db.go:22.37,24.119 2 0 +github.com/muety/wakapi/utils/db.go:28.3,28.20 1 0 +github.com/muety/wakapi/utils/db.go:24.119,27.4 2 0 +github.com/muety/wakapi/utils/http.go:9.90,12.58 3 0 +github.com/muety/wakapi/utils/http.go:12.58,14.3 1 0 +github.com/muety/wakapi/utils/strings.go:8.34,10.2 1 0 +github.com/muety/wakapi/utils/strings.go:12.77,13.29 1 0 +github.com/muety/wakapi/utils/strings.go:18.2,18.19 1 0 +github.com/muety/wakapi/utils/strings.go:13.29,14.18 1 0 +github.com/muety/wakapi/utils/strings.go:14.18,16.4 1 0 +github.com/muety/wakapi/utils/summary.go:10.66,11.40 1 0 +github.com/muety/wakapi/utils/summary.go:16.2,16.48 1 0 +github.com/muety/wakapi/utils/summary.go:11.40,12.27 1 0 +github.com/muety/wakapi/utils/summary.go:12.27,14.4 1 0 +github.com/muety/wakapi/utils/summary.go:19.88,22.2 2 0 +github.com/muety/wakapi/utils/summary.go:24.95,26.16 2 0 +github.com/muety/wakapi/utils/summary.go:29.2,29.38 1 0 +github.com/muety/wakapi/utils/summary.go:26.16,28.3 1 0 +github.com/muety/wakapi/utils/summary.go:32.105,36.18 3 0 +github.com/muety/wakapi/utils/summary.go:71.2,71.22 1 0 +github.com/muety/wakapi/utils/summary.go:37.28,38.26 1 0 +github.com/muety/wakapi/utils/summary.go:39.32,41.24 2 0 +github.com/muety/wakapi/utils/summary.go:42.31,43.29 1 0 +github.com/muety/wakapi/utils/summary.go:44.31,46.27 2 0 +github.com/muety/wakapi/utils/summary.go:47.32,48.30 1 0 +github.com/muety/wakapi/utils/summary.go:49.32,51.28 2 0 +github.com/muety/wakapi/utils/summary.go:52.31,53.29 1 0 +github.com/muety/wakapi/utils/summary.go:54.32,55.31 1 0 +github.com/muety/wakapi/utils/summary.go:56.41,58.42 2 0 +github.com/muety/wakapi/utils/summary.go:59.33,60.32 1 0 +github.com/muety/wakapi/utils/summary.go:61.33,62.32 1 0 +github.com/muety/wakapi/utils/summary.go:63.35,64.32 1 0 +github.com/muety/wakapi/utils/summary.go:65.26,66.21 1 0 +github.com/muety/wakapi/utils/summary.go:67.10,68.39 1 0 +github.com/muety/wakapi/utils/summary.go:74.73,81.56 5 0 +github.com/muety/wakapi/utils/summary.go:97.2,104.8 2 0 +github.com/muety/wakapi/utils/summary.go:81.56,83.3 1 0 +github.com/muety/wakapi/utils/summary.go:83.8,83.54 1 0 +github.com/muety/wakapi/utils/summary.go:83.54,85.3 1 0 +github.com/muety/wakapi/utils/summary.go:85.8,87.17 2 0 +github.com/muety/wakapi/utils/summary.go:91.3,92.17 2 0 +github.com/muety/wakapi/utils/summary.go:87.17,89.4 1 0 +github.com/muety/wakapi/utils/summary.go:92.17,94.4 1 0 +github.com/muety/wakapi/utils/summary.go:107.48,111.51 2 0 +github.com/muety/wakapi/utils/summary.go:114.2,114.12 1 0 +github.com/muety/wakapi/utils/summary.go:111.51,113.3 1 0 +github.com/muety/wakapi/utils/date.go:8.43,10.2 1 1 +github.com/muety/wakapi/utils/date.go:12.48,14.2 1 0 +github.com/muety/wakapi/utils/date.go:16.41,18.21 2 1 +github.com/muety/wakapi/utils/date.go:21.2,21.23 1 1 +github.com/muety/wakapi/utils/date.go:18.21,20.3 1 0 +github.com/muety/wakapi/utils/date.go:24.46,26.2 1 0 +github.com/muety/wakapi/utils/date.go:28.51,30.2 1 0 +github.com/muety/wakapi/utils/date.go:32.44,35.2 2 1 +github.com/muety/wakapi/utils/date.go:37.52,39.2 1 0 +github.com/muety/wakapi/utils/date.go:41.45,43.2 1 0 +github.com/muety/wakapi/utils/date.go:45.51,47.2 1 0 +github.com/muety/wakapi/utils/date.go:49.44,51.2 1 0 +github.com/muety/wakapi/utils/date.go:54.42,56.2 1 1 +github.com/muety/wakapi/utils/date.go:59.46,61.2 1 0 +github.com/muety/wakapi/utils/date.go:64.41,66.21 2 1 +github.com/muety/wakapi/utils/date.go:69.2,69.36 1 1 +github.com/muety/wakapi/utils/date.go:66.21,68.3 1 1 +github.com/muety/wakapi/utils/date.go:73.63,75.2 1 0 +github.com/muety/wakapi/utils/date.go:78.62,84.2 5 0 +github.com/muety/wakapi/utils/date.go:87.67,90.33 2 1 +github.com/muety/wakapi/utils/date.go:99.2,99.18 1 1 +github.com/muety/wakapi/utils/date.go:90.33,92.19 2 1 +github.com/muety/wakapi/utils/date.go:95.3,96.10 2 1 +github.com/muety/wakapi/utils/date.go:92.19,94.4 1 1 +github.com/muety/wakapi/utils/date.go:102.50,108.2 5 0 +github.com/muety/wakapi/utils/date.go:111.79,114.36 3 1 +github.com/muety/wakapi/utils/date.go:118.2,118.21 1 1 +github.com/muety/wakapi/utils/date.go:122.2,122.21 1 1 +github.com/muety/wakapi/utils/date.go:126.2,126.13 1 1 +github.com/muety/wakapi/utils/date.go:114.36,117.3 2 0 +github.com/muety/wakapi/utils/date.go:118.21,121.3 2 1 +github.com/muety/wakapi/utils/date.go:122.21,125.3 2 1 +github.com/muety/wakapi/services/alias.go:17.77,22.2 1 1 +github.com/muety/wakapi/services/alias.go:26.60,27.43 1 1 +github.com/muety/wakapi/services/alias.go:30.2,30.14 1 1 +github.com/muety/wakapi/services/alias.go:27.43,29.3 1 1 +github.com/muety/wakapi/services/alias.go:33.62,35.16 2 1 +github.com/muety/wakapi/services/alias.go:38.2,38.12 1 1 +github.com/muety/wakapi/services/alias.go:35.16,37.3 1 1 +github.com/muety/wakapi/services/alias.go:41.76,43.16 2 0 +github.com/muety/wakapi/services/alias.go:46.2,46.21 1 0 +github.com/muety/wakapi/services/alias.go:43.16,45.3 1 0 +github.com/muety/wakapi/services/alias.go:49.113,51.16 2 0 +github.com/muety/wakapi/services/alias.go:54.2,54.21 1 0 +github.com/muety/wakapi/services/alias.go:51.16,53.3 1 0 +github.com/muety/wakapi/services/alias.go:57.108,58.32 1 1 +github.com/muety/wakapi/services/alias.go:64.2,65.46 2 1 +github.com/muety/wakapi/services/alias.go:70.2,70.19 1 1 +github.com/muety/wakapi/services/alias.go:58.32,59.52 1 1 +github.com/muety/wakapi/services/alias.go:59.52,61.4 1 1 +github.com/muety/wakapi/services/alias.go:65.46,66.48 1 1 +github.com/muety/wakapi/services/alias.go:66.48,68.4 1 1 +github.com/muety/wakapi/services/alias.go:73.77,75.16 2 0 +github.com/muety/wakapi/services/alias.go:78.2,79.20 2 0 +github.com/muety/wakapi/services/alias.go:75.16,77.3 1 0 +github.com/muety/wakapi/services/alias.go:82.60,83.24 1 0 +github.com/muety/wakapi/services/alias.go:86.2,88.12 3 0 +github.com/muety/wakapi/services/alias.go:83.24,85.3 1 0 +github.com/muety/wakapi/services/alias.go:91.69,94.28 3 0 +github.com/muety/wakapi/services/alias.go:102.2,104.31 2 0 +github.com/muety/wakapi/services/alias.go:108.2,108.12 1 0 +github.com/muety/wakapi/services/alias.go:94.28,95.21 1 0 +github.com/muety/wakapi/services/alias.go:98.3,99.16 2 0 +github.com/muety/wakapi/services/alias.go:95.21,97.4 1 0 +github.com/muety/wakapi/services/alias.go:104.31,106.3 1 0 +github.com/muety/wakapi/services/alias.go:111.52,112.51 1 0 +github.com/muety/wakapi/services/alias.go:112.51,114.3 1 0 +github.com/muety/wakapi/services/diagnostics.go:14.101,19.2 1 0 +github.com/muety/wakapi/services/diagnostics.go:21.101,23.2 1 0 +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/misc.go:21.126,28.2 1 0 +github.com/muety/wakapi/services/misc.go:40.50,42.48 1 0 +github.com/muety/wakapi/services/misc.go:46.2,48.19 3 0 +github.com/muety/wakapi/services/misc.go:42.48,44.3 1 0 +github.com/muety/wakapi/services/misc.go:51.51,53.16 2 0 +github.com/muety/wakapi/services/misc.go:57.2,60.26 3 0 +github.com/muety/wakapi/services/misc.go:66.2,68.40 2 0 +github.com/muety/wakapi/services/misc.go:73.2,75.33 3 0 +github.com/muety/wakapi/services/misc.go:79.2,84.17 2 0 +github.com/muety/wakapi/services/misc.go:88.2,91.17 1 0 +github.com/muety/wakapi/services/misc.go:95.2,95.12 1 0 +github.com/muety/wakapi/services/misc.go:53.16,55.3 1 0 +github.com/muety/wakapi/services/misc.go:60.26,65.3 1 0 +github.com/muety/wakapi/services/misc.go:68.40,70.3 1 0 +github.com/muety/wakapi/services/misc.go:75.33,78.3 2 0 +github.com/muety/wakapi/services/misc.go:84.17,86.3 1 0 +github.com/muety/wakapi/services/misc.go:91.17,93.3 1 0 +github.com/muety/wakapi/services/misc.go:98.116,99.24 1 0 +github.com/muety/wakapi/services/misc.go:99.24,100.151 1 0 +github.com/muety/wakapi/services/misc.go:100.151,102.4 1 0 +github.com/muety/wakapi/services/misc.go:102.9,107.4 1 0 github.com/muety/wakapi/services/summary.go:32.191,44.33 3 1 github.com/muety/wakapi/services/summary.go:55.2,55.12 1 1 github.com/muety/wakapi/services/summary.go:44.33,45.31 1 1 @@ -662,165 +763,6 @@ github.com/muety/wakapi/services/summary.go:413.59,415.2 1 1 github.com/muety/wakapi/services/summary.go:417.63,418.37 1 0 github.com/muety/wakapi/services/summary.go:418.37,419.36 1 0 github.com/muety/wakapi/services/summary.go:419.36,421.4 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 -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,61.32 3 0 -github.com/muety/wakapi/services/heartbeat.go:69.2,70.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:73.2,73.12 1 0 -github.com/muety/wakapi/services/heartbeat.go:61.32,62.36 1 0 -github.com/muety/wakapi/services/heartbeat.go:66.3,66.46 1 0 -github.com/muety/wakapi/services/heartbeat.go:62.36,65.4 2 0 -github.com/muety/wakapi/services/heartbeat.go:70.16,72.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:76.53,78.8 2 0 -github.com/muety/wakapi/services/heartbeat.go:81.2,82.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:85.2,85.19 1 0 -github.com/muety/wakapi/services/heartbeat.go:78.8,80.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:82.16,84.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:88.76,91.8 3 0 -github.com/muety/wakapi/services/heartbeat.go:94.2,95.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:98.2,98.19 1 0 -github.com/muety/wakapi/services/heartbeat.go:91.8,93.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:95.16,97.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:101.96,105.26 3 0 -github.com/muety/wakapi/services/heartbeat.go:115.2,116.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:120.2,120.28 1 0 -github.com/muety/wakapi/services/heartbeat.go:126.2,126.24 1 0 -github.com/muety/wakapi/services/heartbeat.go:105.26,108.9 3 0 -github.com/muety/wakapi/services/heartbeat.go:108.9,110.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:110.9,112.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:116.16,118.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:120.28,124.3 3 0 -github.com/muety/wakapi/services/heartbeat.go:129.111,131.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:134.2,134.43 1 0 -github.com/muety/wakapi/services/heartbeat.go:131.16,133.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:137.92,139.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:141.116,143.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:145.78,147.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:149.104,151.54 2 0 -github.com/muety/wakapi/services/heartbeat.go:157.2,158.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:162.2,163.28 2 0 -github.com/muety/wakapi/services/heartbeat.go:169.2,170.22 2 0 -github.com/muety/wakapi/services/heartbeat.go:151.54,155.3 3 0 -github.com/muety/wakapi/services/heartbeat.go:158.16,160.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:163.28,164.33 1 0 -github.com/muety/wakapi/services/heartbeat.go:164.33,166.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:173.62,175.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:177.116,179.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:183.2,183.28 1 0 -github.com/muety/wakapi/services/heartbeat.go:187.2,187.24 1 0 -github.com/muety/wakapi/services/heartbeat.go:179.16,181.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:183.28,185.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:190.96,192.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:194.107,196.55 2 0 -github.com/muety/wakapi/services/heartbeat.go:196.55,202.41 4 0 -github.com/muety/wakapi/services/heartbeat.go:202.41,207.4 2 0 -github.com/muety/wakapi/services/heartbeat.go:211.85,217.2 5 0 -github.com/muety/wakapi/services/heartbeat.go:219.74,220.32 1 0 -github.com/muety/wakapi/services/heartbeat.go:220.32,225.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:228.72,230.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:232.58,234.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:236.60,238.2 1 0 -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:20.111,27.2 1 0 -github.com/muety/wakapi/services/project_label.go:29.80,31.2 1 0 -github.com/muety/wakapi/services/project_label.go:33.90,34.51 1 0 -github.com/muety/wakapi/services/project_label.go:38.2,39.16 2 0 -github.com/muety/wakapi/services/project_label.go:42.2,43.20 2 0 -github.com/muety/wakapi/services/project_label.go:34.51,36.3 1 0 -github.com/muety/wakapi/services/project_label.go:39.16,41.3 1 0 -github.com/muety/wakapi/services/project_label.go:46.108,49.16 3 0 -github.com/muety/wakapi/services/project_label.go:53.2,53.31 1 0 -github.com/muety/wakapi/services/project_label.go:60.2,60.29 1 0 -github.com/muety/wakapi/services/project_label.go:49.16,51.3 1 0 -github.com/muety/wakapi/services/project_label.go:53.31,54.50 1 0 -github.com/muety/wakapi/services/project_label.go:54.50,56.4 1 0 -github.com/muety/wakapi/services/project_label.go:56.9,58.4 1 0 -github.com/muety/wakapi/services/project_label.go:63.116,66.16 3 0 -github.com/muety/wakapi/services/project_label.go:70.2,70.31 1 0 -github.com/muety/wakapi/services/project_label.go:77.2,77.29 1 0 -github.com/muety/wakapi/services/project_label.go:66.16,68.3 1 0 -github.com/muety/wakapi/services/project_label.go:70.31,71.45 1 0 -github.com/muety/wakapi/services/project_label.go:71.45,73.4 1 0 -github.com/muety/wakapi/services/project_label.go:73.9,75.4 1 0 -github.com/muety/wakapi/services/project_label.go:80.98,82.16 2 0 -github.com/muety/wakapi/services/project_label.go:86.2,88.20 3 0 -github.com/muety/wakapi/services/project_label.go:82.16,84.3 1 0 -github.com/muety/wakapi/services/project_label.go:91.74,92.24 1 0 -github.com/muety/wakapi/services/project_label.go:95.2,98.12 4 0 -github.com/muety/wakapi/services/project_label.go:92.24,94.3 1 0 -github.com/muety/wakapi/services/project_label.go:101.89,103.14 2 0 -github.com/muety/wakapi/services/project_label.go:106.2,109.4 1 0 -github.com/muety/wakapi/services/project_label.go:103.14,105.3 1 0 -github.com/muety/wakapi/services/misc.go:21.126,28.2 1 0 -github.com/muety/wakapi/services/misc.go:40.50,42.48 1 0 -github.com/muety/wakapi/services/misc.go:46.2,48.19 3 0 -github.com/muety/wakapi/services/misc.go:42.48,44.3 1 0 -github.com/muety/wakapi/services/misc.go:51.51,53.16 2 0 -github.com/muety/wakapi/services/misc.go:57.2,60.26 3 0 -github.com/muety/wakapi/services/misc.go:66.2,68.40 2 0 -github.com/muety/wakapi/services/misc.go:73.2,75.33 3 0 -github.com/muety/wakapi/services/misc.go:79.2,84.17 2 0 -github.com/muety/wakapi/services/misc.go:88.2,91.17 1 0 -github.com/muety/wakapi/services/misc.go:95.2,95.12 1 0 -github.com/muety/wakapi/services/misc.go:53.16,55.3 1 0 -github.com/muety/wakapi/services/misc.go:60.26,65.3 1 0 -github.com/muety/wakapi/services/misc.go:68.40,70.3 1 0 -github.com/muety/wakapi/services/misc.go:75.33,78.3 2 0 -github.com/muety/wakapi/services/misc.go:84.17,86.3 1 0 -github.com/muety/wakapi/services/misc.go:91.17,93.3 1 0 -github.com/muety/wakapi/services/misc.go:98.116,99.24 1 0 -github.com/muety/wakapi/services/misc.go:99.24,100.151 1 0 -github.com/muety/wakapi/services/misc.go:100.151,102.4 1 0 -github.com/muety/wakapi/services/misc.go:102.9,107.4 1 0 -github.com/muety/wakapi/services/report.go:30.122,44.33 4 0 -github.com/muety/wakapi/services/report.go:50.2,50.12 1 0 -github.com/muety/wakapi/services/report.go:44.33,45.31 1 0 -github.com/muety/wakapi/services/report.go:45.31,47.4 1 0 -github.com/muety/wakapi/services/report.go:53.38,57.16 3 0 -github.com/muety/wakapi/services/report.go:61.2,62.26 2 0 -github.com/muety/wakapi/services/report.go:57.16,59.3 1 0 -github.com/muety/wakapi/services/report.go:62.26,64.3 1 0 -github.com/muety/wakapi/services/report.go:69.61,74.22 3 0 -github.com/muety/wakapi/services/report.go:80.2,80.61 1 0 -github.com/muety/wakapi/services/report.go:94.2,94.24 1 0 -github.com/muety/wakapi/services/report.go:74.22,77.3 2 0 -github.com/muety/wakapi/services/report.go:80.61,89.47 3 0 -github.com/muety/wakapi/services/report.go:89.47,91.4 1 0 -github.com/muety/wakapi/services/report.go:97.80,98.22 1 0 -github.com/muety/wakapi/services/report.go:102.2,102.29 1 0 -github.com/muety/wakapi/services/report.go:107.2,111.16 4 0 -github.com/muety/wakapi/services/report.go:116.2,123.65 2 0 -github.com/muety/wakapi/services/report.go:128.2,129.12 2 0 -github.com/muety/wakapi/services/report.go:98.22,100.3 1 0 -github.com/muety/wakapi/services/report.go:102.29,105.3 2 0 -github.com/muety/wakapi/services/report.go:111.16,114.3 2 0 -github.com/muety/wakapi/services/report.go:123.65,126.3 2 0 -github.com/muety/wakapi/services/report.go:132.63,133.41 1 0 -github.com/muety/wakapi/services/report.go:140.2,140.12 1 0 -github.com/muety/wakapi/services/report.go:133.41,134.30 1 0 -github.com/muety/wakapi/services/report.go:134.30,135.16 1 0 -github.com/muety/wakapi/services/report.go:135.16,137.5 1 0 github.com/muety/wakapi/services/user.go:24.99,34.33 3 0 github.com/muety/wakapi/services/user.go:55.2,55.12 1 0 github.com/muety/wakapi/services/user.go:34.33,35.31 1 0 @@ -917,43 +859,67 @@ github.com/muety/wakapi/services/aggregation.go:176.27,178.3 1 0 github.com/muety/wakapi/services/aggregation.go:181.83,196.41 5 0 github.com/muety/wakapi/services/aggregation.go:196.41,206.3 3 0 github.com/muety/wakapi/services/aggregation.go:209.34,212.2 2 0 -github.com/muety/wakapi/services/alias.go:17.77,22.2 1 1 -github.com/muety/wakapi/services/alias.go:26.60,27.43 1 1 -github.com/muety/wakapi/services/alias.go:30.2,30.14 1 1 -github.com/muety/wakapi/services/alias.go:27.43,29.3 1 1 -github.com/muety/wakapi/services/alias.go:33.62,35.16 2 1 -github.com/muety/wakapi/services/alias.go:38.2,38.12 1 1 -github.com/muety/wakapi/services/alias.go:35.16,37.3 1 1 -github.com/muety/wakapi/services/alias.go:41.76,43.16 2 0 -github.com/muety/wakapi/services/alias.go:46.2,46.21 1 0 -github.com/muety/wakapi/services/alias.go:43.16,45.3 1 0 -github.com/muety/wakapi/services/alias.go:49.113,51.16 2 0 -github.com/muety/wakapi/services/alias.go:54.2,54.21 1 0 -github.com/muety/wakapi/services/alias.go:51.16,53.3 1 0 -github.com/muety/wakapi/services/alias.go:57.108,58.32 1 1 -github.com/muety/wakapi/services/alias.go:64.2,65.46 2 1 -github.com/muety/wakapi/services/alias.go:70.2,70.19 1 1 -github.com/muety/wakapi/services/alias.go:58.32,59.52 1 1 -github.com/muety/wakapi/services/alias.go:59.52,61.4 1 1 -github.com/muety/wakapi/services/alias.go:65.46,66.48 1 1 -github.com/muety/wakapi/services/alias.go:66.48,68.4 1 1 -github.com/muety/wakapi/services/alias.go:73.77,75.16 2 0 -github.com/muety/wakapi/services/alias.go:78.2,79.20 2 0 -github.com/muety/wakapi/services/alias.go:75.16,77.3 1 0 -github.com/muety/wakapi/services/alias.go:82.60,83.24 1 0 -github.com/muety/wakapi/services/alias.go:86.2,88.12 3 0 -github.com/muety/wakapi/services/alias.go:83.24,85.3 1 0 -github.com/muety/wakapi/services/alias.go:91.69,94.28 3 0 -github.com/muety/wakapi/services/alias.go:102.2,104.31 2 0 -github.com/muety/wakapi/services/alias.go:108.2,108.12 1 0 -github.com/muety/wakapi/services/alias.go:94.28,95.21 1 0 -github.com/muety/wakapi/services/alias.go:98.3,99.16 2 0 -github.com/muety/wakapi/services/alias.go:95.21,97.4 1 0 -github.com/muety/wakapi/services/alias.go:104.31,106.3 1 0 -github.com/muety/wakapi/services/alias.go:111.52,112.51 1 0 -github.com/muety/wakapi/services/alias.go:112.51,114.3 1 0 -github.com/muety/wakapi/services/diagnostics.go:14.101,19.2 1 0 -github.com/muety/wakapi/services/diagnostics.go:21.101,23.2 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 +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,61.32 3 0 +github.com/muety/wakapi/services/heartbeat.go:69.2,70.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:73.2,73.12 1 0 +github.com/muety/wakapi/services/heartbeat.go:61.32,62.36 1 0 +github.com/muety/wakapi/services/heartbeat.go:66.3,66.46 1 0 +github.com/muety/wakapi/services/heartbeat.go:62.36,65.4 2 0 +github.com/muety/wakapi/services/heartbeat.go:70.16,72.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:76.53,78.8 2 0 +github.com/muety/wakapi/services/heartbeat.go:81.2,82.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:85.2,85.19 1 0 +github.com/muety/wakapi/services/heartbeat.go:78.8,80.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:82.16,84.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:88.76,91.8 3 0 +github.com/muety/wakapi/services/heartbeat.go:94.2,95.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:98.2,98.19 1 0 +github.com/muety/wakapi/services/heartbeat.go:91.8,93.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:95.16,97.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:101.96,105.26 3 0 +github.com/muety/wakapi/services/heartbeat.go:115.2,116.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:120.2,120.28 1 0 +github.com/muety/wakapi/services/heartbeat.go:126.2,126.24 1 0 +github.com/muety/wakapi/services/heartbeat.go:105.26,108.9 3 0 +github.com/muety/wakapi/services/heartbeat.go:108.9,110.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:110.9,112.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:116.16,118.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:120.28,124.3 3 0 +github.com/muety/wakapi/services/heartbeat.go:129.111,131.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:134.2,134.43 1 0 +github.com/muety/wakapi/services/heartbeat.go:131.16,133.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:137.92,139.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:141.116,143.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:145.78,147.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:149.104,151.54 2 0 +github.com/muety/wakapi/services/heartbeat.go:157.2,158.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:162.2,163.28 2 0 +github.com/muety/wakapi/services/heartbeat.go:169.2,170.22 2 0 +github.com/muety/wakapi/services/heartbeat.go:151.54,155.3 3 0 +github.com/muety/wakapi/services/heartbeat.go:158.16,160.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:163.28,164.33 1 0 +github.com/muety/wakapi/services/heartbeat.go:164.33,166.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:173.62,175.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:177.116,179.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:183.2,183.28 1 0 +github.com/muety/wakapi/services/heartbeat.go:187.2,187.24 1 0 +github.com/muety/wakapi/services/heartbeat.go:179.16,181.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:183.28,185.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:190.96,192.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:194.107,196.55 2 0 +github.com/muety/wakapi/services/heartbeat.go:196.55,202.41 4 0 +github.com/muety/wakapi/services/heartbeat.go:202.41,207.4 2 0 +github.com/muety/wakapi/services/heartbeat.go:211.85,217.2 5 0 +github.com/muety/wakapi/services/heartbeat.go:219.74,220.32 1 0 +github.com/muety/wakapi/services/heartbeat.go:220.32,225.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:228.72,230.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:232.58,234.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:236.60,238.2 1 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.78,27.16 2 0 @@ -961,3 +927,61 @@ github.com/muety/wakapi/services/key_value.go:33.2,33.11 1 0 github.com/muety/wakapi/services/key_value.go:27.16,32.3 1 0 github.com/muety/wakapi/services/key_value.go:36.72,38.2 1 0 github.com/muety/wakapi/services/key_value.go:40.60,42.2 1 0 +github.com/muety/wakapi/services/project_label.go:20.111,27.2 1 0 +github.com/muety/wakapi/services/project_label.go:29.80,31.2 1 0 +github.com/muety/wakapi/services/project_label.go:33.90,34.51 1 0 +github.com/muety/wakapi/services/project_label.go:38.2,39.16 2 0 +github.com/muety/wakapi/services/project_label.go:42.2,43.20 2 0 +github.com/muety/wakapi/services/project_label.go:34.51,36.3 1 0 +github.com/muety/wakapi/services/project_label.go:39.16,41.3 1 0 +github.com/muety/wakapi/services/project_label.go:46.108,49.16 3 0 +github.com/muety/wakapi/services/project_label.go:53.2,53.31 1 0 +github.com/muety/wakapi/services/project_label.go:60.2,60.29 1 0 +github.com/muety/wakapi/services/project_label.go:49.16,51.3 1 0 +github.com/muety/wakapi/services/project_label.go:53.31,54.50 1 0 +github.com/muety/wakapi/services/project_label.go:54.50,56.4 1 0 +github.com/muety/wakapi/services/project_label.go:56.9,58.4 1 0 +github.com/muety/wakapi/services/project_label.go:63.116,66.16 3 0 +github.com/muety/wakapi/services/project_label.go:70.2,70.31 1 0 +github.com/muety/wakapi/services/project_label.go:77.2,77.29 1 0 +github.com/muety/wakapi/services/project_label.go:66.16,68.3 1 0 +github.com/muety/wakapi/services/project_label.go:70.31,71.45 1 0 +github.com/muety/wakapi/services/project_label.go:71.45,73.4 1 0 +github.com/muety/wakapi/services/project_label.go:73.9,75.4 1 0 +github.com/muety/wakapi/services/project_label.go:80.98,82.16 2 0 +github.com/muety/wakapi/services/project_label.go:86.2,88.20 3 0 +github.com/muety/wakapi/services/project_label.go:82.16,84.3 1 0 +github.com/muety/wakapi/services/project_label.go:91.74,92.24 1 0 +github.com/muety/wakapi/services/project_label.go:95.2,98.12 4 0 +github.com/muety/wakapi/services/project_label.go:92.24,94.3 1 0 +github.com/muety/wakapi/services/project_label.go:101.89,103.14 2 0 +github.com/muety/wakapi/services/project_label.go:106.2,109.4 1 0 +github.com/muety/wakapi/services/project_label.go:103.14,105.3 1 0 +github.com/muety/wakapi/services/report.go:30.122,44.33 4 0 +github.com/muety/wakapi/services/report.go:50.2,50.12 1 0 +github.com/muety/wakapi/services/report.go:44.33,45.31 1 0 +github.com/muety/wakapi/services/report.go:45.31,47.4 1 0 +github.com/muety/wakapi/services/report.go:53.38,57.16 3 0 +github.com/muety/wakapi/services/report.go:61.2,62.26 2 0 +github.com/muety/wakapi/services/report.go:57.16,59.3 1 0 +github.com/muety/wakapi/services/report.go:62.26,64.3 1 0 +github.com/muety/wakapi/services/report.go:69.61,74.22 3 0 +github.com/muety/wakapi/services/report.go:80.2,80.61 1 0 +github.com/muety/wakapi/services/report.go:94.2,94.24 1 0 +github.com/muety/wakapi/services/report.go:74.22,77.3 2 0 +github.com/muety/wakapi/services/report.go:80.61,89.47 3 0 +github.com/muety/wakapi/services/report.go:89.47,91.4 1 0 +github.com/muety/wakapi/services/report.go:97.80,98.22 1 0 +github.com/muety/wakapi/services/report.go:102.2,102.29 1 0 +github.com/muety/wakapi/services/report.go:107.2,111.16 4 0 +github.com/muety/wakapi/services/report.go:116.2,123.65 2 0 +github.com/muety/wakapi/services/report.go:128.2,129.12 2 0 +github.com/muety/wakapi/services/report.go:98.22,100.3 1 0 +github.com/muety/wakapi/services/report.go:102.29,105.3 2 0 +github.com/muety/wakapi/services/report.go:111.16,114.3 2 0 +github.com/muety/wakapi/services/report.go:123.65,126.3 2 0 +github.com/muety/wakapi/services/report.go:132.63,133.41 1 0 +github.com/muety/wakapi/services/report.go:140.2,140.12 1 0 +github.com/muety/wakapi/services/report.go:133.41,134.30 1 0 +github.com/muety/wakapi/services/report.go:134.30,135.16 1 0 +github.com/muety/wakapi/services/report.go:135.16,137.5 1 0 diff --git a/main.go b/main.go index 5d3a420..489385b 100644 --- a/main.go +++ b/main.go @@ -120,10 +120,6 @@ func main() { db, err = gorm.Open(config.Db.GetDialector(), &gorm.Config{Logger: gormLogger}) if config.Db.IsSQLite() { db.Exec("PRAGMA foreign_keys = ON;") - if !utils.IsCleanDB(db) && !utils.HasConstraints(db) { - db.DisableForeignKeyConstraintWhenMigrating = true - logbuch.Warn("using existing sqlite database without foreign key constraints and no ability to migrate, functionality may be limited") - } } if config.IsDev() { diff --git a/repositories/user.go b/repositories/user.go index abc833c..cb9fa00 100644 --- a/repositories/user.go +++ b/repositories/user.go @@ -126,16 +126,16 @@ func (r *UserRepository) Count() (int64, error) { } func (r *UserRepository) InsertOrGet(user *models.User) (*models.User, bool, error) { - result := r.db.FirstOrCreate(user, &models.User{ID: user.ID}) + if u, err := r.GetById(user.ID); err == nil && u != nil && u.ID != "" { + return u, false, nil + } + + result := r.db.Create(user) if err := result.Error; err != nil { return nil, false, err } - if result.RowsAffected == 1 { - return user, true, nil - } - - return user, false, nil + return user, true, nil } func (r *UserRepository) Update(user *models.User) (*models.User, error) { diff --git a/services/summary_test.go b/services/summary_test.go index 9e04ff4..78800cd 100644 --- a/services/summary_test.go +++ b/services/summary_test.go @@ -50,7 +50,7 @@ func (suite *SummaryServiceTestSuite) SetupSuite() { suite.TestStartTime = time.Unix(0, MinUnixTime1) suite.TestHeartbeats = []*models.Heartbeat{ { - ID: uint(rand.Uint32()), + ID: rand.Uint64(), UserID: TestUserId, Project: TestProject1, Language: TestLanguageGo, @@ -60,7 +60,7 @@ func (suite *SummaryServiceTestSuite) SetupSuite() { Time: models.CustomTime(suite.TestStartTime), }, { - ID: uint(rand.Uint32()), + ID: rand.Uint64(), UserID: TestUserId, Project: TestProject1, Language: TestLanguageGo, @@ -70,7 +70,7 @@ func (suite *SummaryServiceTestSuite) SetupSuite() { Time: models.CustomTime(suite.TestStartTime.Add(30 * time.Second)), }, { - ID: uint(rand.Uint32()), + ID: rand.Uint64(), UserID: TestUserId, Project: TestProject1, Language: TestLanguageGo, @@ -375,7 +375,7 @@ func (suite *SummaryServiceTestSuite) TestSummaryService_Aliased() { heartbeats := filter(from, to, suite.TestHeartbeats) heartbeats = append(heartbeats, &models.Heartbeat{ - ID: uint(rand.Uint32()), + ID: rand.Uint64(), UserID: TestUserId, Project: TestProject2, Language: TestLanguageGo, @@ -414,7 +414,7 @@ func (suite *SummaryServiceTestSuite) TestSummaryService_Aliased_ProjectLabels() heartbeats := filter(from, to, suite.TestHeartbeats) heartbeats = append(heartbeats, &models.Heartbeat{ - ID: uint(rand.Uint32()), + ID: rand.Uint64(), UserID: TestUserId, Project: TestProject2, Language: TestLanguageGo, diff --git a/testing/data.sql b/testing/data.sql index 62ff744..30be7c5 100644 --- a/testing/data.sql +++ b/testing/data.sql @@ -1,3 +1,15 @@ +BEGIN TRANSACTION; +INSERT INTO "key_string_values" VALUES ('20210213-add_has_data_field','done'); +INSERT INTO "key_string_values" VALUES ('20210221-add_created_date_column','done'); +INSERT INTO "key_string_values" VALUES ('imprint','no content here'); +INSERT INTO "key_string_values" VALUES ('20210411-add_imprint_content','done'); +INSERT INTO "key_string_values" VALUES ('20210806-remove_persisted_project_labels','done'); +INSERT INTO "key_string_values" VALUES ('20211215-migrate_id_to_bigint-add_has_data_field','done'); +INSERT INTO "key_string_values" VALUES ('latest_total_time','0s'); +INSERT INTO "key_string_values" VALUES ('latest_total_users','0'); +COMMIT; + + BEGIN TRANSACTION; INSERT INTO "users" ("id", "api_key", "email", "location", "password", "created_at", "last_logged_in_at", "share_data_max_days", "share_editors", "share_languages", "share_projects", "share_oss", @@ -11,4 +23,4 @@ INSERT INTO "users" ("id", "api_key", "email", "location", "password", "created_ VALUES ('writeuser', 'f7aa255c-8647-4d0b-b90f-621c58fd580f', '', 'Europe/Berlin', '$2a$10$93CAptdjLGRtc1D3xrZJcu8B/YBAPSjCZOHZRId.xpyrsLAeHOoA.', '2021-05-28 12:34:56', '2021-05-28 14:35:05.118+02:00', 7, 0, 0, 1, 0, 0, 0, 1, '', '', 0); -COMMIT; +COMMIT; \ No newline at end of file diff --git a/testing/schema.sql b/testing/schema.sql index 0cd564c..9cd5f74 100644 --- a/testing/schema.sql +++ b/testing/schema.sql @@ -1,147 +1,53 @@ +-- Created with SQLite DB Browser through: +-- File -> Export -> to SQL file +-- with options: +-- Overwrite, Keep original CREATE + BEGIN TRANSACTION; -DROP TABLE IF EXISTS "users"; -CREATE TABLE IF NOT EXISTS "users" ( - "id" text, - "api_key" text UNIQUE, - "email" text, - "password" text, - "created_at" timestamp DEFAULT CURRENT_TIMESTAMP, - "last_logged_in_at" timestamp DEFAULT CURRENT_TIMESTAMP, - "share_data_max_days" integer DEFAULT 0, - "share_editors" numeric DEFAULT false, - "share_languages" numeric DEFAULT false, - "share_projects" numeric DEFAULT false, - "share_oss" numeric DEFAULT false, - "share_machines" numeric DEFAULT false, - "is_admin" numeric DEFAULT false, - "has_data" numeric DEFAULT false, - "wakatime_api_key" text, - "reset_token" text, - "location" text, - "reports_weekly" numeric DEFAULT false, - PRIMARY KEY("id") -); -DROP TABLE IF EXISTS "key_string_values"; -CREATE TABLE IF NOT EXISTS "key_string_values" ( - "key" text, - "value" text, - PRIMARY KEY("key") -); -DROP TABLE IF EXISTS "summary_items"; -CREATE TABLE IF NOT EXISTS "summary_items" ( - "id" integer, - "summary_id" integer, - "type" integer, - "key" text, - "total" integer, - CONSTRAINT "fk_summaries_languages" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "fk_summary_items_summary" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "fk_summaries_machines" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "fk_summaries_projects" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "fk_summaries_operating_systems" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "fk_summaries_editors" FOREIGN KEY("summary_id") REFERENCES "summaries"("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY("id") -); DROP TABLE IF EXISTS "aliases"; -CREATE TABLE IF NOT EXISTS "aliases" ( - "id" integer, - "type" integer NOT NULL, - "user_id" text NOT NULL, - "key" text NOT NULL, - "value" text NOT NULL, - CONSTRAINT "fk_aliases_user" FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY("id") -); +CREATE TABLE `aliases` (`id` integer,`type` integer NOT NULL,`user_id` text NOT NULL,`key` text NOT NULL,`value` text NOT NULL,PRIMARY KEY (`id`),CONSTRAINT `fk_aliases_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "diagnostics"; +CREATE TABLE `diagnostics` (`id` integer,`user_id` text NOT NULL,`platform` text,`architecture` text,`plugin` text,`cli_version` text,`logs` text,`stack_trace` text,PRIMARY KEY (`id`),CONSTRAINT `fk_diagnostics_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); DROP TABLE IF EXISTS "heartbeats"; -CREATE TABLE IF NOT EXISTS "heartbeats" ( - "id" integer, - "user_id" text NOT NULL, - "entity" text NOT NULL, - "type" text, - "category" text, - "project" text, - "branch" text, - "language" text, - "is_write" numeric, - "editor" text, - "operating_system" text, - "machine" text, - "time" timestamp, - "hash" varchar(17), - "origin" text, - "origin_id" text, - "created_at" timestamp, - CONSTRAINT "fk_heartbeats_user" FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY("id") -); -DROP TABLE IF EXISTS "summaries"; -CREATE TABLE IF NOT EXISTS "summaries" ( - "id" integer, - "user_id" text NOT NULL, - "from_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - "to_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "fk_summaries_user" FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY("id") -); +CREATE TABLE `heartbeats` (`id` integer,`user_id` text NOT NULL,`entity` text NOT NULL,`type` text,`category` text,`project` text,`branch` text,`language` text,`is_write` numeric,`editor` text,`operating_system` text,`machine` text,`user_agent` text,`time` timestamp,`hash` varchar(17),`origin` text,`origin_id` text,`created_at` timestamp,PRIMARY KEY (`id`),CONSTRAINT `fk_heartbeats_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "key_string_values"; +CREATE TABLE `key_string_values` (`key` text,`value` text,PRIMARY KEY (`key`)); DROP TABLE IF EXISTS "language_mappings"; -CREATE TABLE IF NOT EXISTS "language_mappings" ( - "id" integer, - "user_id" text NOT NULL, - "extension" varchar(16), - "language" varchar(64), - CONSTRAINT "fk_language_mappings_user" FOREIGN KEY("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY("id") -); -DROP INDEX IF EXISTS "idx_user_email"; -CREATE INDEX IF NOT EXISTS "idx_user_email" ON "users" ( - "email" -); -DROP INDEX IF EXISTS "idx_type"; -CREATE INDEX IF NOT EXISTS "idx_type" ON "summary_items" ( - "type" -); +CREATE TABLE `language_mappings` (`id` integer,`user_id` text NOT NULL,`extension` varchar(16),`language` varchar(64),PRIMARY KEY (`id`),CONSTRAINT `fk_language_mappings_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "project_labels"; +CREATE TABLE `project_labels` (`id` integer,`user_id` text NOT NULL,`project_key` text,`label` varchar(64),PRIMARY KEY (`id`),CONSTRAINT `fk_project_labels_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "summaries"; +CREATE TABLE "summaries" (`id` integer,`user_id` text NOT NULL,`from_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`to_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),CONSTRAINT `fk_summaries_user` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "summary_items"; +CREATE TABLE `summary_items` (`id` integer,`summary_id` integer,`type` integer,`key` text,`total` integer,PRIMARY KEY (`id`),CONSTRAINT `fk_summaries_editors` FOREIGN KEY (`summary_id`) REFERENCES `summaries`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `fk_summaries_operating_systems` FOREIGN KEY (`summary_id`) REFERENCES `summaries`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `fk_summaries_machines` FOREIGN KEY (`summary_id`) REFERENCES `summaries`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `fk_summaries_projects` FOREIGN KEY (`summary_id`) REFERENCES `summaries`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `fk_summaries_languages` FOREIGN KEY (`summary_id`) REFERENCES `summaries`(`id`) ON DELETE CASCADE ON UPDATE CASCADE); +DROP TABLE IF EXISTS "users"; +CREATE TABLE `users` (`id` text,`api_key` text UNIQUE,`email` text,`location` text,`password` text,`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,`last_logged_in_at` timestamp DEFAULT CURRENT_TIMESTAMP,`share_data_max_days` integer DEFAULT 0,`share_editors` numeric DEFAULT false,`share_languages` numeric DEFAULT false,`share_projects` numeric DEFAULT false,`share_oss` numeric DEFAULT false,`share_machines` numeric DEFAULT false,`share_labels` numeric DEFAULT false,`is_admin` numeric DEFAULT false,`has_data` numeric DEFAULT false,`wakatime_api_key` text,`reset_token` text,`reports_weekly` numeric DEFAULT false,PRIMARY KEY (`id`)); DROP INDEX IF EXISTS "idx_alias_type_key"; -CREATE INDEX IF NOT EXISTS "idx_alias_type_key" ON "aliases" ( - "type", - "key" -); +CREATE INDEX `idx_alias_type_key` ON `aliases`(`type`,`key`); DROP INDEX IF EXISTS "idx_alias_user"; -CREATE INDEX IF NOT EXISTS "idx_alias_user" ON "aliases" ( - "user_id" -); -DROP INDEX IF EXISTS "idx_time"; -CREATE INDEX IF NOT EXISTS "idx_time" ON "heartbeats" ( - "time" -); -DROP INDEX IF EXISTS "idx_heartbeats_hash"; -CREATE UNIQUE INDEX IF NOT EXISTS "idx_heartbeats_hash" ON "heartbeats" ( - "hash" -); -DROP INDEX IF EXISTS "idx_time_user"; -CREATE INDEX IF NOT EXISTS "idx_time_user" ON "heartbeats" ( - "user_id" -); +CREATE INDEX `idx_alias_user` ON `aliases`(`user_id`); +DROP INDEX IF EXISTS "idx_diagnostics_user"; +CREATE INDEX `idx_diagnostics_user` ON `diagnostics`(`user_id`); DROP INDEX IF EXISTS "idx_entity"; -CREATE INDEX IF NOT EXISTS "idx_entity" ON "heartbeats" ( - "entity" -); +CREATE INDEX `idx_entity` ON `heartbeats`(`entity`); +DROP INDEX IF EXISTS "idx_heartbeats_hash"; +CREATE UNIQUE INDEX `idx_heartbeats_hash` ON `heartbeats`(`hash`); DROP INDEX IF EXISTS "idx_language"; -CREATE INDEX IF NOT EXISTS "idx_language" ON "heartbeats" ( - "language" -); -DROP INDEX IF EXISTS "idx_time_summary_user"; -CREATE INDEX IF NOT EXISTS "idx_time_summary_user" ON "summaries" ( - "user_id", - "from_time", - "to_time" -); +CREATE INDEX `idx_language` ON `heartbeats`(`language`); DROP INDEX IF EXISTS "idx_language_mapping_composite"; -CREATE UNIQUE INDEX IF NOT EXISTS "idx_language_mapping_composite" ON "language_mappings" ( - "user_id", - "extension" -); +CREATE UNIQUE INDEX `idx_language_mapping_composite` ON `language_mappings`(`user_id`,`extension`); DROP INDEX IF EXISTS "idx_language_mapping_user"; -CREATE INDEX IF NOT EXISTS "idx_language_mapping_user" ON "language_mappings" ( - "user_id" -); +CREATE INDEX `idx_language_mapping_user` ON `language_mappings`(`user_id`); +DROP INDEX IF EXISTS "idx_project_label_user"; +CREATE INDEX `idx_project_label_user` ON `project_labels`(`user_id`); +DROP INDEX IF EXISTS "idx_time"; +CREATE INDEX `idx_time` ON `heartbeats`(`time`); +DROP INDEX IF EXISTS "idx_time_summary_user"; +CREATE INDEX `idx_time_summary_user` ON `summaries`(`user_id`,`from_time`,`to_time`); +DROP INDEX IF EXISTS "idx_time_user"; +CREATE INDEX `idx_time_user` ON `heartbeats`(`user_id`); +DROP INDEX IF EXISTS "idx_type"; +CREATE INDEX `idx_type` ON `summary_items`(`type`); +DROP INDEX IF EXISTS "idx_user_email"; +CREATE INDEX `idx_user_email` ON `users`(`email`); COMMIT;