-
Notifications
You must be signed in to change notification settings - Fork 1
/
gl-code-quality-report.json
1 lines (1 loc) · 65.7 KB
/
gl-code-quality-report.json
1
[{"description":"deadcode: `updateControllerItems` is unused","severity":"critical","fingerprint":"4DA69446E281875C8438A18EF3A2BC99","location":{"path":"models/controllers.go","lines":{"begin":280}}},{"description":"deadcode: `makeURLwPort` is unused","severity":"critical","fingerprint":"A78752EE369B9BC620C748A26D3AA2BC","location":{"path":"cmd/simulator/main.go","lines":{"begin":67}}},{"description":"errcheck: Error return value is not checked","severity":"critical","fingerprint":"C8B22118441CC4C80DCE6AB71FE5522C","location":{"path":"pkg/helper/respond.go","lines":{"begin":23}}},{"description":"errcheck: Error return value of `stl.createAndOpenProject` is not checked","severity":"critical","fingerprint":"B81A34D1E918E4615659511452541374","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":46}}},{"description":"errcheck: Error return value of `c.conn.SetReadDeadline` is not checked","severity":"critical","fingerprint":"963EB58369505CFCBAD59D0817237509","location":{"path":"pkg/hub/client.go","lines":{"begin":65}}},{"description":"errcheck: Error return value of `c.conn.SetReadDeadline` is not checked","severity":"critical","fingerprint":"AAC8A85E85580204D345A2768D1525DE","location":{"path":"pkg/hub/client.go","lines":{"begin":66}}},{"description":"errcheck: Error return value of `c.conn.SetWriteDeadline` is not checked","severity":"critical","fingerprint":"855E763A44D0ACAD552CB725D78209DD","location":{"path":"pkg/hub/client.go","lines":{"begin":96}}},{"description":"errcheck: Error return value of `c.conn.WriteMessage` is not checked","severity":"critical","fingerprint":"50D34FE4743D8E37622E0387950B0D84","location":{"path":"pkg/hub/client.go","lines":{"begin":99}}},{"description":"errcheck: Error return value of `w.Write` is not checked","severity":"critical","fingerprint":"B8CA90A641BD1AE3FCBAF6DAFE53DF27","location":{"path":"pkg/hub/client.go","lines":{"begin":107}}},{"description":"errcheck: Error return value of `w.Write` is not checked","severity":"critical","fingerprint":"1487DCB217F815F51E243AF0D2277544","location":{"path":"pkg/hub/client.go","lines":{"begin":112}}},{"description":"errcheck: Error return value of `w.Write` is not checked","severity":"critical","fingerprint":"336C93403405DAD2CD0E82D396708565","location":{"path":"pkg/hub/client.go","lines":{"begin":113}}},{"description":"errcheck: Error return value of `c.conn.SetWriteDeadline` is not checked","severity":"critical","fingerprint":"855E763A44D0ACAD552CB725D78209DD","location":{"path":"pkg/hub/client.go","lines":{"begin":120}}},{"description":"errcheck: Error return value of `c.updateControllerStatebyID` is not checked","severity":"critical","fingerprint":"87DC43BF8D9D13046352A77B9D1E0F53","location":{"path":"models/controllers.go","lines":{"begin":589}}},{"description":"errcheck: Error return value of `c.updateControllerStatebyID` is not checked","severity":"critical","fingerprint":"68BBDD15CAF5F19966E5A4EC7F97F507","location":{"path":"models/controllers.go","lines":{"begin":598}}},{"description":"errcheck: Error return value of `c.updateControllerSwitchStatebyID` is not checked","severity":"critical","fingerprint":"3B2EBB297C486D99690A2D847D6598B4","location":{"path":"models/controllers.go","lines":{"begin":635}}},{"description":"errcheck: Error return value of `c.updateControllerSwitchStatebyID` is not checked","severity":"critical","fingerprint":"B6B13BBA9BA1AD2CD64106EEAB5A37AC","location":{"path":"models/controllers.go","lines":{"begin":645}}},{"description":"errcheck: Error return value of `c.updateControllerAlertStatebyID` is not checked","severity":"critical","fingerprint":"C03D3BE348C0DB4003AA903358111139","location":{"path":"models/controllers.go","lines":{"begin":681}}},{"description":"errcheck: Error return value of `c.updateControllerAlertStatebyID` is not checked","severity":"critical","fingerprint":"5501B34ED7B7EB3D86FB49E782A82391","location":{"path":"models/controllers.go","lines":{"begin":690}}},{"description":"errcheck: Error return value of `tx.Rollback` is not checked","severity":"critical","fingerprint":"8A7D5E61DAEF610CB4820BCB66621340","location":{"path":"models/sensordata.go","lines":{"begin":66}}},{"description":"forbidigo: use of `fmt.Println` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"1944C79822625D00730D7A83A214E257","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":67}}},{"description":"forbidigo: use of `fmt.Println` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"50B21F11E6555B255A9206DA409A5E1B","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":21}}},{"description":"forbidigo: use of `fmt.Println` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"06852C2AF58BA6A987A54CA99E74997D","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":45}}},{"description":"forbidigo: use of `fmt.Printf` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"F6C8D612390EA9007F63199273587EF9","location":{"path":"cmd/streamtest/main.go","lines":{"begin":24}}},{"description":"forbidigo: use of `fmt.Printf` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"E7F775FA37D09F6EE843B3EBE543B985","location":{"path":"cmd/streamtest/main.go","lines":{"begin":49}}},{"description":"forbidigo: use of `fmt.Printf` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"C04EACBE6C0DF13942890979F63323A0","location":{"path":"cmd/streamtest/main.go","lines":{"begin":53}}},{"description":"forbidigo: use of `fmt.Print` forbidden by pattern `^(fmt\\.Print(|f|ln)|print|println)$`","severity":"critical","fingerprint":"B305B9B0623BD9F48EEF703BE6ADC5F5","location":{"path":"pkg/chart/area.go","lines":{"begin":51}}},{"description":"funlen: Function 'AreaChartDataSeries' is too long (61 \u003e 60)","severity":"critical","fingerprint":"E9A790AA5BCCB3F32853CB54EADBF5A6","location":{"path":"pkg/chart/area.go","lines":{"begin":23}}},{"description":"funlen: Function 'CheckThresholdSwitchEntries' is too long (61 \u003e 60)","severity":"critical","fingerprint":"E9D2DAD4E052575BE3A9E1676F7D366E","location":{"path":"models/controllers.go","lines":{"begin":348}}},{"description":"funlen: Function 'CheckTimeSwitchEntries' has too many statements (45 \u003e 40)","severity":"critical","fingerprint":"865A0AAC98DE847D17C1936C1ED1EE33","location":{"path":"models/controllers.go","lines":{"begin":414}}},{"description":"funlen: Function 'GetTemperatureReport' has too many statements (46 \u003e 40)","severity":"critical","fingerprint":"B56D50901D98489203AEEE52223D0534","location":{"path":"models/report.go","lines":{"begin":35}}},{"description":"funlen: Function 'New' has too many statements (45 \u003e 40)","severity":"critical","fingerprint":"84FD5AAF9839F20B77551571B0009E3E","location":{"path":"models/server.go","lines":{"begin":67}}},{"description":"funlen: Function 'InsertTestdata' is too long (69 \u003e 60)","severity":"critical","fingerprint":"7DC54E794F687DAE96E6CFE1AA63D907","location":{"path":"models/testdata.go","lines":{"begin":15}}},{"description":"funlen: Function 'TestDatasets' is too long (75 \u003e 60)","severity":"critical","fingerprint":"657B10092B84DDB4279E142C337DDF09","location":{"path":"models/datasets_test.go","lines":{"begin":23}}},{"description":"funlen: Function 'TestSensordata' is too long (86 \u003e 60)","severity":"critical","fingerprint":"6FB927776509E7380A9C39869C32640D","location":{"path":"models/sensor_test.go","lines":{"begin":23}}},{"description":"gocognit: cognitive complexity 32 of func `(*Server).StartSim` is high (\u003e 30)","severity":"critical","fingerprint":"E2F2111BBA4C4F089C1EB3D94E1F61BC","location":{"path":"models/sim.go","lines":{"begin":33}}},{"description":"gocognit: cognitive complexity 31 of func `(*Telemetry).CheckControllersTelemetry` is high (\u003e 30)","severity":"critical","fingerprint":"BD798B19D4AC9E5035B5FA69A56B13C3","location":{"path":"models/telemetry.go","lines":{"begin":177}}},{"description":"goconst: string `webcamstreamtimelapse` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"B846181DCD02BEA700B6E2365D4C866B","location":{"path":"models/controllers.go","lines":{"begin":205}}},{"description":"goconst: string `../config/exampleconfig.json` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"20B1647F5FA2646112C45254041A6A29","location":{"path":"models/datasets_test.go","lines":{"begin":17}}},{"description":"goconst: string `timeswitchrepeat` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"45A1EFCF8E198AABCF808012E5C4D140","location":{"path":"models/controllers.go","lines":{"begin":203}}},{"description":"goconst: string `off` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"F1F170565E08EEA68F69E3F88EF512D5","location":{"path":"models/controllers.go","lines":{"begin":592}}},{"description":"goconst: string `timeswitch` has 4 occurrences, make it a constant","severity":"critical","fingerprint":"BF080114F4BF1459FA1C644D949DCF64","location":{"path":"models/controllers.go","lines":{"begin":201}}},{"description":"goconst: string `thresholdswitch` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"29D39FB053B3FAA73496B1381685FFD2","location":{"path":"models/controllers.go","lines":{"begin":197}}},{"description":"goconst: string `switch` has 3 occurrences, make it a constant","severity":"critical","fingerprint":"10B5E8B61F724DCF00BD251C6F14023F","location":{"path":"models/controllers.go","lines":{"begin":199}}},{"description":"gocritic: exitAfterDefer: log.Fatalf will exit, and `defer resp.Body.Close()` will not run","severity":"critical","fingerprint":"C75AB63ACDCAB8133D268131CA259BAC","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":60}}},{"description":"gocritic: commentFormatting: put a space between `//` and comment text","severity":"critical","fingerprint":"9EBE18A0868DBC96B80271F55A36F19E","location":{"path":"pkg/helper/respond.go","lines":{"begin":21}}},{"description":"gocritic: wrapperFunc: use bytes.ReplaceAll method in `bytes.Replace(message, newline, space, -1)`","severity":"critical","fingerprint":"FFBA1AE58BA9A89B88E09528C1F3E445","location":{"path":"pkg/hub/client.go","lines":{"begin":75}}},{"description":"gocritic: captLocal: `DateFrom' should not be capitalized","severity":"critical","fingerprint":"36442D846BE73F73C26BAA6CE39A335E","location":{"path":"pkg/sensor/raw.go","lines":{"begin":38}}},{"description":"gocritic: commentFormatting: put a space between `//` and comment text","severity":"critical","fingerprint":"B1F7021A8223D0CACDB645D478B47646","location":{"path":"models/sensor.go","lines":{"begin":110}}},{"description":"gocritic: commentFormatting: put a space between `//` and comment text","severity":"critical","fingerprint":"2202BA8E42B9529203852A1A4538F3AD","location":{"path":"models/server.go","lines":{"begin":50}}},{"description":"godot: Comment should end in a period","severity":"critical","fingerprint":"DF7D5AED68E93D21D5898F1D0C945BDE","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":22}}},{"description":"godot: Comment should end in a period","severity":"critical","fingerprint":"FBE981C14613F1EBEBBC3560E8621337","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":30}}},{"description":"godot: Comment should end in a period","severity":"critical","fingerprint":"EFAE98BDCA92EB5C925615BF9119D7D9","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":39}}},{"description":"gofumpt: File is not `gofumpt`-ed","severity":"critical","fingerprint":"CC217F258C961B548E4CF5E2EF1ED6FA","location":{"path":"pkg/dataset/dataset_test.go","lines":{"begin":37}}},{"description":"gofumpt: File is not `gofumpt`-ed","severity":"critical","fingerprint":"CC217F258C961B548E4CF5E2EF1ED6FA","location":{"path":"pkg/dataset/dataset_test.go","lines":{"begin":44}}},{"description":"gofumpt: File is not `gofumpt`-ed","severity":"critical","fingerprint":"C71BFB75A8319F36FA597B12034A11F6","location":{"path":"pkg/webhooks/discord_test.go","lines":{"begin":12}}},{"description":"gosec: G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server","severity":"critical","fingerprint":"A83F5585E7ABD530A7005C06529701E0","location":{"path":"models/server.go","lines":{"begin":161}}},{"description":"gosec: G404: Use of weak random number generator (math/rand instead of crypto/rand)","severity":"critical","fingerprint":"6DFC0866DB6EF934720E2706D94D12B4","location":{"path":"models/sim.go","lines":{"begin":93}}},{"description":"gosec: G404: Use of weak random number generator (math/rand instead of crypto/rand)","severity":"critical","fingerprint":"7BF2D84F4FB448ED1D5527F8A7985C62","location":{"path":"models/sim.go","lines":{"begin":98}}},{"description":"gosec: G404: Use of weak random number generator (math/rand instead of crypto/rand)","severity":"critical","fingerprint":"BD2AAD1AB2C08859B957FB7C17614835","location":{"path":"cmd/simulator/main.go","lines":{"begin":46}}},{"description":"interfacer: `w` can be `io.Writer`","severity":"critical","fingerprint":"A3058A50D40E5DFD521F54FC4FBC4019","location":{"path":"pkg/helper/respond.go","lines":{"begin":14}}},{"description":"lll: line is 134 characters","severity":"critical","fingerprint":"C2D4FE52990A111E17C9D98F114663F9","location":{"path":"pkg/chart/area.go","lines":{"begin":77}}},{"description":"lll: line is 134 characters","severity":"critical","fingerprint":"B47366EE101CE42B2EE091D597864E94","location":{"path":"pkg/chart/line.go","lines":{"begin":62}}},{"description":"lll: line is 121 characters","severity":"critical","fingerprint":"4F1001DD4BB3CB03DBB5DC6F62795D7A","location":{"path":"models/controllers.go","lines":{"begin":174}}},{"description":"lll: line is 125 characters","severity":"critical","fingerprint":"0F7250953891C07082EADA56FFD6F6C5","location":{"path":"models/controllers.go","lines":{"begin":185}}},{"description":"lll: line is 164 characters","severity":"critical","fingerprint":"C47890DD61BE18EBF2B6CDF61944C918","location":{"path":"models/controllers.go","lines":{"begin":242}}},{"description":"lll: line is 125 characters","severity":"critical","fingerprint":"AC6CE1000E53EC6DE15F1756D0E4FE56","location":{"path":"models/controllers.go","lines":{"begin":288}}},{"description":"lll: line is 165 characters","severity":"critical","fingerprint":"2413068165167A21F00EC3577E0ED3EA","location":{"path":"models/controllers.go","lines":{"begin":289}}},{"description":"lll: line is 127 characters","severity":"critical","fingerprint":"FA7AD7536BE01878791214E451268851","location":{"path":"models/controllers.go","lines":{"begin":325}}},{"description":"lll: line is 135 characters","severity":"critical","fingerprint":"59C38133E01E13730FA693B41E8FC817","location":{"path":"models/controllers.go","lines":{"begin":346}}},{"description":"lll: line is 123 characters","severity":"critical","fingerprint":"CF615888EE1BB3F90D4A7268F5935EBB","location":{"path":"models/controllers.go","lines":{"begin":525}}},{"description":"lll: line is 126 characters","severity":"critical","fingerprint":"B0E4795B74DE4F2BE9659CD67DBE670A","location":{"path":"models/controllers.go","lines":{"begin":608}}},{"description":"lll: line is 128 characters","severity":"critical","fingerprint":"1253F6E921A63B35CC48527BD63E8094","location":{"path":"models/controllers.go","lines":{"begin":656}}},{"description":"lll: line is 161 characters","severity":"critical","fingerprint":"B26D1F91CE97BB3365CD0D5371C200B7","location":{"path":"models/sensor.go","lines":{"begin":105}}},{"description":"lll: line is 124 characters","severity":"critical","fingerprint":"E67B9DC79AD1C89C0DB68233A6EC425B","location":{"path":"models/sensordata.go","lines":{"begin":52}}},{"description":"lll: line is 388 characters","severity":"critical","fingerprint":"6763D974D91445B81BEEA0AC1493A4ED","location":{"path":"models/server.go","lines":{"begin":291}}},{"description":"lll: line is 254 characters","severity":"critical","fingerprint":"852EDF1D926D1AD44E92DAA176E16008","location":{"path":"models/testdata.go","lines":{"begin":18}}},{"description":"lll: line is 127 characters","severity":"critical","fingerprint":"126618E0D349C90EC550B8FDF3C64EC0","location":{"path":"models/testdata.go","lines":{"begin":19}}},{"description":"lll: line is 170 characters","severity":"critical","fingerprint":"7055CF1E23214A4446E24182D57D816F","location":{"path":"models/testdata.go","lines":{"begin":20}}},{"description":"lll: line is 162 characters","severity":"critical","fingerprint":"6E876B9E3FC0EF40181CAD2F7E6C1BC4","location":{"path":"models/testdata.go","lines":{"begin":21}}},{"description":"lll: line is 162 characters","severity":"critical","fingerprint":"C5FE419D5659DD2D01E6F0871590AD74","location":{"path":"models/testdata.go","lines":{"begin":22}}},{"description":"lll: line is 162 characters","severity":"critical","fingerprint":"93F319945136C21BE2DD6D9050E1D78C","location":{"path":"models/testdata.go","lines":{"begin":23}}},{"description":"lll: line is 179 characters","severity":"critical","fingerprint":"AD76A837511CDEA894453CAE6745F61A","location":{"path":"models/testdata.go","lines":{"begin":27}}},{"description":"lll: line is 127 characters","severity":"critical","fingerprint":"101F246EBC5BFC04EA78047A82555CA7","location":{"path":"models/testdata.go","lines":{"begin":28}}},{"description":"lll: line is 204 characters","severity":"critical","fingerprint":"DC0D61D9D4A8420804DF8973746841B1","location":{"path":"models/testdata.go","lines":{"begin":29}}},{"description":"lll: line is 164 characters","severity":"critical","fingerprint":"5B859AC35A49C81C6FA9E218B1EEAFC7","location":{"path":"models/testdata.go","lines":{"begin":31}}},{"description":"lll: line is 157 characters","severity":"critical","fingerprint":"12053E893793CBEF4CB8637CDFE5A7F7","location":{"path":"models/testdata.go","lines":{"begin":35}}},{"description":"lll: line is 176 characters","severity":"critical","fingerprint":"C4962FFD0F8E218332B3F783BC079B98","location":{"path":"models/testdata.go","lines":{"begin":37}}},{"description":"lll: line is 130 characters","severity":"critical","fingerprint":"CA803947022AA97774308ADE69ED759D","location":{"path":"models/testdata.go","lines":{"begin":47}}},{"description":"lll: line is 130 characters","severity":"critical","fingerprint":"51FA3164F1E61B90DFAF62B630FD9937","location":{"path":"models/testdata.go","lines":{"begin":64}}},{"description":"lll: line is 235 characters","severity":"critical","fingerprint":"4F75EE7CB2804EAEB0C6D621AC1EC5D4","location":{"path":"models/datasets_test.go","lines":{"begin":76}}},{"description":"lll: line is 136 characters","severity":"critical","fingerprint":"1DD28137116D6DE8CB00302DAA4BF971","location":{"path":"models/sensor_test.go","lines":{"begin":87}}},{"description":"lll: line is 134 characters","severity":"critical","fingerprint":"BEAE40EA92012071A2EED1DE3B801FE0","location":{"path":"cmd/simulator/main.go","lines":{"begin":33}}},{"description":"misspell: `lenght` is a misspelling of `length`","severity":"critical","fingerprint":"C19E1EE68BCC810DF95E6B1A51229876","location":{"path":"cmd/streamtest/main.go","lines":{"begin":31}}},{"description":"misspell: `lenght` is a misspelling of `length`","severity":"critical","fingerprint":"6EA2A3CC68EC653F9F259541703152C7","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":150}}},{"description":"misspell: `lenght` is a misspelling of `length`","severity":"critical","fingerprint":"40C8FCBEFED1BEFEACEF6BD3D30ECAFA","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":195}}},{"description":"nestif: `if err != nil` has complex nested blocks (complexity: 5)","severity":"critical","fingerprint":"6C5FDBBD5E02D5D164FBA8C9B1DC3FAB","location":{"path":"pkg/dataset/fields.go","lines":{"begin":73}}},{"description":"nestif: `if automigrate` has complex nested blocks (complexity: 10)","severity":"critical","fingerprint":"9D99A3A4A53F9B11CB8DA461CC862307","location":{"path":"models/server.go","lines":{"begin":89}}},{"description":"prealloc: Consider pre-allocating `csv`","severity":"critical","fingerprint":"A4C8B1E994D0097394C5C9B80C11A25F","location":{"path":"pkg/sensor/export.go","lines":{"begin":26}}},{"description":"prealloc: Consider pre-allocating `jobs`","severity":"critical","fingerprint":"B8ED6C8E118B9D225CA0BFD8D01C760D","location":{"path":"cmd/simulator/main.go","lines":{"begin":31}}},{"description":"revive: exported: func name will be used as dataset.DatasetFieldAndShowCartList by other packages, and that stutters; consider calling this FieldAndShowCartList","severity":"warning","fingerprint":"C55401D15F30AD5862909E46A8CD524D","location":{"path":"pkg/dataset/fields.go","lines":{"begin":11}}},{"description":"revive: var-naming: don't use underscores in Go names; func result dataset_id should be datasetID","severity":"warning","fingerprint":"38469CE8614028683779EA6958574BB8","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":40}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field wantDataset_id should be wantDatasetID","severity":"warning","fingerprint":"2A9F0997608D5A14DB9BBBAB27148765","location":{"path":"pkg/dataset/dataset_test.go","lines":{"begin":13}}},{"description":"revive: var-naming: don't use underscores in Go names; var gotDataset_id should be gotDatasetID","severity":"warning","fingerprint":"B4B3221049B1CC5CF42B70AD4FD0A3B9","location":{"path":"pkg/dataset/dataset_test.go","lines":{"begin":49}}},{"description":"revive: exported: type name will be used as event.EventLogMessage by other packages, and that stutters; consider calling this LogMessage","severity":"warning","fingerprint":"6B4E8E1DD3400D7C16EFBD1F398F585A","location":{"path":"pkg/event/event.go","lines":{"begin":32}}},{"description":"revive: indent-error-flow: if block ends with a return statement, so drop this else and outdent its block","severity":"warning","fingerprint":"C0AC4558286C3BBA4BE0CE4E68F60101","location":{"path":"cmd/streamtest/main.go","lines":{"begin":69}}},{"description":"revive: unreachable-code: unreachable code after this statement","severity":"warning","fingerprint":"816C801DFEA88F3836E6A4356E05D131","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":63}}},{"description":"revive: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _","severity":"warning","fingerprint":"0512B4F3149EF04CEA36F3B80AFEA4BA","location":{"path":"pkg/helper/respond_test.go","lines":{"begin":5}}},{"description":"revive: var-naming: struct field JsonConfig should be JSONConfig","severity":"warning","fingerprint":"B01E7EF65038584CE6946C83DAE595E5","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":22}}},{"description":"revive: var-naming: don't use underscores in Go names; var found_end should be foundEnd","severity":"warning","fingerprint":"E1D559AAC9EC3510620F672AD9A67106","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":170}}},{"description":"revive: var-naming: don't use underscores in Go names; var found_start should be foundStart","severity":"warning","fingerprint":"606672CD1F2959EF08D273FF611BCFBE","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":171}}},{"description":"revive: indent-error-flow: if block ends with a return statement, so drop this else and outdent its block","severity":"warning","fingerprint":"47072A61A1E27A30AE238D62FF70B126","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":204}}},{"description":"revive: receiver-naming: receiver name t should be consistent with previous receiver name telemetry for Telemetry","severity":"warning","fingerprint":"C79BEFF3A30C8E57926D3AE87E77A526","location":{"path":"models/telemetry.go","lines":{"begin":69}}},{"description":"revive: receiver-naming: receiver name t should be consistent with previous receiver name telemetry for Telemetry","severity":"warning","fingerprint":"484BB3B5D1E2663061E0541842C1E884","location":{"path":"models/telemetry.go","lines":{"begin":75}}},{"description":"revive: receiver-naming: receiver name t should be consistent with previous receiver name telemetry for Telemetry","severity":"warning","fingerprint":"8B7FB662BBE7233F1F41C91649AB017C","location":{"path":"models/telemetry.go","lines":{"begin":125}}},{"description":"revive: receiver-naming: receiver name s should be consistent with previous receiver name srv for Server","severity":"warning","fingerprint":"5AE223B73652E042FDAB79DC296DABD9","location":{"path":"models/server.go","lines":{"begin":219}}},{"description":"revive: receiver-naming: receiver name s should be consistent with previous receiver name srv for Server","severity":"warning","fingerprint":"37268CD019706C1A91C00C3EDB93359A","location":{"path":"models/server.go","lines":{"begin":228}}},{"description":"revive: receiver-naming: receiver name s should be consistent with previous receiver name srv for Server","severity":"warning","fingerprint":"5A0786F9BBF5F9812D13853908031503","location":{"path":"models/server.go","lines":{"begin":252}}},{"description":"revive: unused-parameter: parameter 'debug' seems to be unused, consider removing or renaming it as _","severity":"warning","fingerprint":"A8EE83C849A33DC8AEFB69CF432C6648","location":{"path":"models/telemetry.go","lines":{"begin":36}}},{"description":"revive: blank-imports: a blank import should be only in a main or test package, or have a comment justifying it","severity":"warning","fingerprint":"67C20DC1D14166B9FC2D304ACFCF6B62","location":{"path":"models/server.go","lines":{"begin":31}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field Sensor_id should be SensorID","severity":"warning","fingerprint":"45EE1A5D0C7A791740DEA3BC012AE034","location":{"path":"models/sim.go","lines":{"begin":109}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field Dataset_id should be DatasetID","severity":"warning","fingerprint":"CD66BF22336A1AC742D8B33BBA44DBE8","location":{"path":"models/sim.go","lines":{"begin":110}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field Full_size should be FullSize","severity":"warning","fingerprint":"6B204B37A3A34C51C8EA8008BF9EEF09","location":{"path":"models/server.go","lines":{"begin":284}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field Table_size should be TableSize","severity":"warning","fingerprint":"7B9FD94EEE32F154D3DE625DB243B556","location":{"path":"models/server.go","lines":{"begin":285}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field Index_size should be IndexSize","severity":"warning","fingerprint":"D865273D28A5ECAA0DFACC84F784CDAB","location":{"path":"models/server.go","lines":{"begin":286}}},{"description":"revive: unused-parameter: parameter 'db' seems to be unused, consider removing or renaming it as _","severity":"warning","fingerprint":"D399F5585BD41517FB91AE59CC86AD80","location":{"path":"models/controllers.go","lines":{"begin":508}}},{"description":"revive: var-naming: don't use underscores in Go names; struct field next_capture_time should be nextCaptureTime","severity":"warning","fingerprint":"05FB09326EBBB5E309BBB13A7B06E9A6","location":{"path":"models/controllers.go","lines":{"begin":31}}},{"description":"revive: var-naming: don't use ALL_CAPS in Go names; use CamelCase","severity":"warning","fingerprint":"25C508C4FEC17BE6629577B855E5E04B","location":{"path":"models/controllers.go","lines":{"begin":83}}},{"description":"revive: var-naming: don't use underscores in Go names; var returning_id should be returningID","severity":"warning","fingerprint":"298231644A1D919172C6B39CAC60F771","location":{"path":"models/controllers.go","lines":{"begin":213}}},{"description":"unconvert: unnecessary conversion","severity":"critical","fingerprint":"2463C587593131020CBC1E4312151D8D","location":{"path":"models/sim.go","lines":{"begin":34}}},{"description":"unconvert: unnecessary conversion","severity":"critical","fingerprint":"92CC8FDAF5C1E223D6E784453D1FEBD6","location":{"path":"models/telemetry.go","lines":{"begin":41}}},{"description":"whitespace: unnecessary leading newline","severity":"critical","fingerprint":"856103D14E55CAC10D6A8764A3A7764E","location":{"path":"models/controllers.go","lines":{"begin":519}}},{"description":"whitespace: unnecessary leading newline","severity":"critical","fingerprint":"7BF2CA850EADC9F48269644526C23401","location":{"path":"models/controllers.go","lines":{"begin":521}}},{"description":"wsl: return statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"28E0962BBBEFE64131636EEB11649BF1","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":19}}},{"description":"wsl: only one cuddle assignment allowed before if statement","severity":"critical","fingerprint":"DCA8A49E0E7049A719BC5A368F8CA765","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":44}}},{"description":"wsl: assignments should only be cuddled with other assignments","severity":"critical","fingerprint":"9F05F7C96CE1198D3377D15895103F0B","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":47}}},{"description":"wsl: only one cuddle assignment allowed before if statement","severity":"critical","fingerprint":"DCA8A49E0E7049A719BC5A368F8CA765","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":48}}},{"description":"wsl: return statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"36302BB5DDDF013F307C4690AD34B9B7","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":51}}},{"description":"wsl: assignments should only be cuddled with other assignments","severity":"critical","fingerprint":"27845CF1A93325E1A05BBD83AE3C23F6","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":56}}},{"description":"wsl: only one cuddle assignment allowed before if statement","severity":"critical","fingerprint":"DCA8A49E0E7049A719BC5A368F8CA765","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":61}}},{"description":"wsl: return statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"026F174B1985AE3D98F49127DD6CCA6D","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":64}}},{"description":"wsl: assignments should only be cuddled with other assignments","severity":"critical","fingerprint":"34838998C730F5E8978F72ABAB3EC543","location":{"path":"pkg/dataset/fields.go","lines":{"begin":16}}},{"description":"wsl: declarations should never be cuddled","severity":"critical","fingerprint":"6D8EDAF9D4507A4FE4A003E14D9181BA","location":{"path":"pkg/dataset/fields.go","lines":{"begin":30}}},{"description":"wsl: declarations should never be cuddled","severity":"critical","fingerprint":"6D8EDAF9D4507A4FE4A003E14D9181BA","location":{"path":"pkg/dataset/fields.go","lines":{"begin":49}}},{"description":"wsl: declarations should never be cuddled","severity":"critical","fingerprint":"0F293C8A5B09AA39A166B143AFAD6630","location":{"path":"pkg/dataset/fields.go","lines":{"begin":54}}},{"description":"wsl: append only allowed to cuddle with appended value","severity":"critical","fingerprint":"F23ED71FAAC37AEBDA3A80F4E16BDCB5","location":{"path":"pkg/dataset/fields.go","lines":{"begin":87}}},{"description":"wsl: only one cuddle assignment allowed before range statement","severity":"critical","fingerprint":"C5C8B48E00CFF4E6FA5931800679FB03","location":{"path":"pkg/dataset/fields.go","lines":{"begin":82}}},{"description":"wsl: if statements should only be cuddled with assignments","severity":"critical","fingerprint":"6BDDC5C86B3A9B3F487CEB72DC128095","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":30}}},{"description":"wsl: if statements should only be cuddled with assignments","severity":"critical","fingerprint":"65B0B5507BE1004CF5E67A48562BAA77","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":62}}},{"description":"wsl: if statements should only be cuddled with assignments","severity":"critical","fingerprint":"802BC30F27DC50C9191DBF5630FF0B74","location":{"path":"pkg/helper/respond.go","lines":{"begin":22}}},{"description":"wsl: expressions should not be cuddled with blocks","severity":"critical","fingerprint":"585669D74CC6CECCEE7BE899DE1584C7","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":149}}},{"description":"wsl: for statement without condition should never be cuddled","severity":"critical","fingerprint":"3878E1F6371011D483B263923501A098","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":142}}},{"description":"wsl: branch statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"7EFC95F7D64DE96781B7BBB88DB2358A","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":183}}},{"description":"wsl: for statements should only be cuddled with assignments used in the iteration","severity":"critical","fingerprint":"3DD581E150FDDED490F68E48C396E75F","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":173}}},{"description":"wsl: expressions should not be cuddled with blocks","severity":"critical","fingerprint":"E7C2264410E0F980510561DB02382D6B","location":{"path":"cmd/streamtest/main.go","lines":{"begin":30}}},{"description":"wsl: for statement without condition should never be cuddled","severity":"critical","fingerprint":"670EDF9E82EB9255C4AE1FADDC9B1783","location":{"path":"cmd/streamtest/main.go","lines":{"begin":21}}},{"description":"wsl: branch statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"352A84C5B5D5734E8A65840DC8EE871E","location":{"path":"cmd/streamtest/main.go","lines":{"begin":55}}},{"description":"wsl: only one cuddle assignment allowed before for statement","severity":"critical","fingerprint":"77D9D9B88FB77696119FAC8FAA0F23F2","location":{"path":"cmd/streamtest/main.go","lines":{"begin":47}}},{"description":"wsl: block should not end with a whitespace (or comment)","severity":"critical","fingerprint":"1F83D716849D5545A5986B3B71AD7341","location":{"path":"pkg/hub/client.go","lines":{"begin":79}}},{"description":"wsl: branch statements should not be cuddled if block has more than two lines","severity":"critical","fingerprint":"6F9BBF9D222D837B3D33A64268ED3901","location":{"path":"pkg/hub/client.go","lines":{"begin":73}}},{"description":"wsl: for statement without condition should never be cuddled","severity":"critical","fingerprint":"F0F1E88777EC74CD46CE92AACEDE55EA","location":{"path":"pkg/hub/client.go","lines":{"begin":67}}},{"description":"wsl: block should not end with a whitespace (or comment)","severity":"critical","fingerprint":"C5D39FCA760C9984A90F92D9A0920B39","location":{"path":"pkg/helper/time_test.go","lines":{"begin":36}}},{"description":"wsl: block should not end with a whitespace (or comment)","severity":"critical","fingerprint":"A4042A8A1B173D2162420860EEED394B","location":{"path":"pkg/sensor/export.go","lines":{"begin":21}}},{"description":"wsl: only one cuddle assignment allowed before range statement","severity":"critical","fingerprint":"B1F933A02FE709EBC9F82F3A06845756","location":{"path":"pkg/sensor/export.go","lines":{"begin":32}}},{"description":"wsl: append only allowed to cuddle with appended value","severity":"critical","fingerprint":"37A1601B34480CA6A45B2583C306B80D","location":{"path":"pkg/chart/area.go","lines":{"begin":80}}},{"description":"wsl: only one cuddle assignment allowed before range statement","severity":"critical","fingerprint":"4B0DBDF8D2CF691FB01F530A638B6F51","location":{"path":"pkg/chart/area.go","lines":{"begin":69}}},{"description":"wsl: append only allowed to cuddle with appended value","severity":"critical","fingerprint":"708EB1CCD3FF507AE3D54AD783187677","location":{"path":"pkg/chart/area.go","lines":{"begin":82}}},{"description":"wsl: for statements should only be cuddled with assignments used in the iteration","severity":"critical","fingerprint":"F2B8042003F2267FA233254A68F3FF0F","location":{"path":"pkg/chart/area.go","lines":{"begin":58}}},{"description":"wsl: only one cuddle assignment allowed before for statement","severity":"critical","fingerprint":"20C708F0E43247176411E3CAB59FF94B","location":{"path":"pkg/chart/line.go","lines":{"begin":49}}},{"description":"wsl: expressions should not be cuddled with blocks","severity":"critical","fingerprint":"D76ED038983B74C430A274FE8A63FE94","location":{"path":"models/charts.go","lines":{"begin":26}}},{"description":"wsl: only one cuddle assignment allowed before switch statement","severity":"critical","fingerprint":"B683AE44CCBF64CCA589474FEAD3E391","location":{"path":"models/controllers.go","lines":{"begin":196}}},{"description":"wsl: only one cuddle assignment allowed before switch statement","severity":"critical","fingerprint":"B683AE44CCBF64CCA589474FEAD3E391","location":{"path":"models/controllers.go","lines":{"begin":299}}},{"description":"wsl: only one cuddle assignment allowed before switch statement","severity":"critical","fingerprint":"30AC95EFB53FA396B61BA9B6BE39D14A","location":{"path":"models/controllers.go","lines":{"begin":581}}},{"description":"wsl: only cuddled expressions if assigning variable or using from line above","severity":"critical","fingerprint":"C2746AC09AC99BA7CA57F349B38AF631","location":{"path":"models/server.go","lines":{"begin":72}}},{"description":"wsl: only one cuddle assignment allowed before go statement","severity":"critical","fingerprint":"C2CF4866E4EA8CCA7DFD455C5650FBDC","location":{"path":"models/server.go","lines":{"begin":178}}},{"description":"wsl: expressions should not be cuddled with declarations or returns","severity":"critical","fingerprint":"188D936F05E22A7B9F1F35532629FEB1","location":{"path":"models/server.go","lines":{"begin":254}}},{"description":"wsl: only cuddled expressions if assigning variable or using from line above","severity":"critical","fingerprint":"E9953D328662C04D0F7D94EBD43279E9","location":{"path":"models/sim.go","lines":{"begin":35}}},{"description":"wsl: only one cuddle assignment allowed before go statement","severity":"critical","fingerprint":"47A30891A9FE1B2BF2F20C62870815B6","location":{"path":"models/sim.go","lines":{"begin":37}}},{"description":"wsl: only cuddled expressions if assigning variable or using from line above","severity":"critical","fingerprint":"45A896930C6EF6180246149944376577","location":{"path":"models/telemetry.go","lines":{"begin":42}}},{"description":"wsl: only one cuddle assignment allowed before go statement","severity":"critical","fingerprint":"9FA1EF57C6839CC5FD9C58A3E492FED0","location":{"path":"models/telemetry.go","lines":{"begin":45}}},{"description":"wsl: switch statements should only be cuddled with variables switched","severity":"critical","fingerprint":"0CDE2D069952A0321C47C8E995ECB1C4","location":{"path":"models/telemetry.go","lines":{"begin":183}}},{"description":"wsl: expressions should not be cuddled with declarations or returns","severity":"critical","fingerprint":"B1F447D879B43B7E158FB87D6A62B03A","location":{"path":"models/server_test.go","lines":{"begin":20}}},{"description":"wsl: ranges should only be cuddled with assignments used in the iteration","severity":"critical","fingerprint":"662F0A351B62D0BB53F8C19D7874C269","location":{"path":"cmd/simulator/main.go","lines":{"begin":32}}},{"description":"contextcheck: Non-inherited new context, use function like `context.WithXXX` instead","severity":"critical","fingerprint":"4E5622E31352F5948340C428443746BA","location":{"path":"models/server.go","lines":{"begin":220}}},{"description":"cyclop: calculated cyclomatic complexity for function datasetShowChartBools is 12, max is 10","severity":"critical","fingerprint":"6322120D6474B2EC7B02EB5FC903A63D","location":{"path":"pkg/dataset/fields.go","lines":{"begin":42}}},{"description":"cyclop: calculated cyclomatic complexity for function LineDataSeries is 12, max is 10","severity":"critical","fingerprint":"077E5B52F7727E7A885FFA1B5133B872","location":{"path":"pkg/chart/line.go","lines":{"begin":22}}},{"description":"cyclop: calculated cyclomatic complexity for function doSim is 11, max is 10","severity":"critical","fingerprint":"20ED5887ABF6FFD94563747ED9683AF1","location":{"path":"models/sim.go","lines":{"begin":80}}},{"description":"errorlint: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors","severity":"critical","fingerprint":"CD36D9E74A8603D47342F83DC5779E6F","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":17}}},{"description":"errorlint: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors","severity":"critical","fingerprint":"6678E6C4E096F04B852A1F6B96C32A68","location":{"path":"pkg/dataset/dataset.go","lines":{"begin":62}}},{"description":"errorlint: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors","severity":"critical","fingerprint":"57C909B74611F09E31F36FE830E50B48","location":{"path":"pkg/dataset/fields.go","lines":{"begin":28}}},{"description":"errorlint: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error","severity":"critical","fingerprint":"19114F0533924C23D5FCE5D51BE028E8","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":66}}},{"description":"errorlint: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error","severity":"critical","fingerprint":"5098BE9E529213ACB07B6E06FA586E17","location":{"path":"models/telemetry.go","lines":{"begin":142}}},{"description":"exhaustruct: HandshakeTimeout, WriteBufferPool, Subprotocols, Error, CheckOrigin, EnableCompression are missing in Upgrader","severity":"critical","fingerprint":"8BC29D2182BAEEBB1D5CE8F2177268A8","location":{"path":"pkg/hub/client.go","lines":{"begin":36}}},{"description":"exhaustruct: projectfh is missing in StreamTimelapse","severity":"critical","fingerprint":"8D79AAE552BF1515022EAB4BEFA9CB28","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":32}}},{"description":"exhaustruct: Transport, CheckRedirect, Jar are missing in Client","severity":"critical","fingerprint":"0F00E8FFEA5662436A66F00873EDF007","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":134}}},{"description":"exhaustruct: ID, SensorID, Category, Title, Description, Switch, Items, Alert, Active, CreatedAt, next_capture_time are missing in Controller","severity":"critical","fingerprint":"9AF27F2A640319A02C4E74F1A43F1B78","location":{"path":"models/controllers.go","lines":{"begin":244}}},{"description":"exhaustruct: ID, SensorID, Title, Description, Reference, IntervalSec, Fields, Types, Showcharts, Icon, CreatedAt, SensorTitle, Telemetry, Data are missing in Dataset","severity":"critical","fingerprint":"A0E1BD8A4E279538CF4310678B110F55","location":{"path":"models/datasets.go","lines":{"begin":136}}},{"description":"exhaustruct: ID, SensorID, Title, Description, Reference, IntervalSec, Fields, Types, Showcharts, Icon, CreatedAt, SensorTitle, Telemetry, Data are missing in Dataset","severity":"critical","fingerprint":"A0E1BD8A4E279538CF4310678B110F55","location":{"path":"models/datasets.go","lines":{"begin":171}}},{"description":"exhaustruct: Data is missing in TemperatureReport","severity":"critical","fingerprint":"D7BAE8DDD75D4B52F9FCADAF16F21291","location":{"path":"models/report.go","lines":{"begin":90}}},{"description":"exhaustruct: Title, Description are missing in NewDevice","severity":"critical","fingerprint":"5B3DC6CF477EA34BADAD8529023F9CA3","location":{"path":"models/sensor.go","lines":{"begin":98}}},{"description":"exhaustruct: ID, SensorID, DatasetID, Data, RecordingTime are missing in SensorData","severity":"critical","fingerprint":"1BEFFC4F446CD5FB05D45912211E0F57","location":{"path":"models/sensordata.go","lines":{"begin":28}}},{"description":"exhaustruct: datasets, sensors, controllers are missing in Telemetry","severity":"critical","fingerprint":"638F91E5595790208F04B9F8E18AE194","location":{"path":"models/telemetry.go","lines":{"begin":28}}},{"description":"forcetypeassert: type assertion must be checked","severity":"critical","fingerprint":"872540FBAAA9979335E8CEB4D5224BF2","location":{"path":"models/server.go","lines":{"begin":81}}},{"description":"forcetypeassert: type assertion must be checked","severity":"critical","fingerprint":"CABAC5E098AB0F94B8E3C94C3B8E9A6F","location":{"path":"models/server.go","lines":{"begin":128}}},{"description":"forcetypeassert: type assertion must be checked","severity":"critical","fingerprint":"E7CCF3D2F2EF03E5502DD28A5BE5CDFB","location":{"path":"models/server.go","lines":{"begin":166}}},{"description":"gochecknoglobals: suffix is a global variable","severity":"critical","fingerprint":"4515AEFEBAED02645C2FEC92F22675BF","location":{"path":"pkg/helper/human.go","lines":{"begin":11}}},{"description":"gochecknoglobals: TimeFormat is a global variable","severity":"critical","fingerprint":"5FE53BF92CFEB5F7EB4EA8E2C845E94C","location":{"path":"pkg/helper/time.go","lines":{"begin":8}}},{"description":"gochecknoglobals: TimeFormat is a global variable","severity":"critical","fingerprint":"DD528A2D5383970F16BC88941E7E2569","location":{"path":"pkg/sensor/export.go","lines":{"begin":12}}},{"description":"gochecknoglobals: newline is a global variable","severity":"critical","fingerprint":"94B73F518DB5F45CBEF1D7C94AA86F9D","location":{"path":"pkg/hub/client.go","lines":{"begin":32}}},{"description":"gochecknoglobals: space is a global variable","severity":"critical","fingerprint":"88B509731E9A7FA34996F92AB65C478B","location":{"path":"pkg/hub/client.go","lines":{"begin":33}}},{"description":"gochecknoglobals: SwitchDefaultValues is a global variable","severity":"critical","fingerprint":"64E9818469BB405D448A9C28F11426AC","location":{"path":"models/controllers.go","lines":{"begin":36}}},{"description":"gochecknoglobals: ThresholdswitchDefaultValues is a global variable","severity":"critical","fingerprint":"9A250BA746DCDFED38C4B6082DAFD73D","location":{"path":"models/controllers.go","lines":{"begin":42}}},{"description":"gochecknoglobals: TimesSwitchDefaultValues is a global variable","severity":"critical","fingerprint":"AF76CB217020C8B0DE30878E43897956","location":{"path":"models/controllers.go","lines":{"begin":52}}},{"description":"gochecknoglobals: TimesSwitchRepeatDefaultValues is a global variable","severity":"critical","fingerprint":"F385F809720BAC469D61FCBE91B98DA7","location":{"path":"models/controllers.go","lines":{"begin":62}}},{"description":"gochecknoglobals: WebcamStreamTimelapseDefaultValues is a global variable","severity":"critical","fingerprint":"FB4E7A4B1D47E2EE92E9F5D194552803","location":{"path":"models/controllers.go","lines":{"begin":73}}},{"description":"gochecknoglobals: SernsorEvent is a global variable","severity":"critical","fingerprint":"B5E2FE3981B4A40CC5AB66766DDA3FFE","location":{"path":"models/server.go","lines":{"begin":37}}},{"description":"gochecknoglobals: DatasetEvent is a global variable","severity":"critical","fingerprint":"748D1D34C42874741BC97CF3D113D7C5","location":{"path":"models/server.go","lines":{"begin":38}}},{"description":"gochecknoglobals: ControllerEvent is a global variable","severity":"critical","fingerprint":"D3F2EE926C74E8A14F50992F613CE28D","location":{"path":"models/server.go","lines":{"begin":39}}},{"description":"gochecknoglobals: TimeFormat is a global variable","severity":"critical","fingerprint":"6FD1D2EE8298BD69BFDB08EB9611A05A","location":{"path":"models/server.go","lines":{"begin":41}}},{"description":"gochecknoglobals: GLOBALCONFIG is a global variable","severity":"critical","fingerprint":"CDA19888F7BE09B26CA2A3B40E5AFFE5","location":{"path":"models/server.go","lines":{"begin":61}}},{"description":"gochecknoglobals: sensorURL is a global variable","severity":"critical","fingerprint":"727D7668C255F51CCE68282329E510E6","location":{"path":"models/sim.go","lines":{"begin":78}}},{"description":"gochecknoglobals: ctx is a global variable","severity":"critical","fingerprint":"6F1A1867E4E07252547167D0277FEF22","location":{"path":"models/sensor_test.go","lines":{"begin":14}}},{"description":"goerr113: err113: do not define dynamic errors, use wrapped static errors instead: \"fmt.Errorf(\\\"suffix '%s' not supported\\\", actualSuffix)\"","severity":"critical","fingerprint":"30B9322938823005BA9894F552418B28","location":{"path":"pkg/helper/human.go","lines":{"begin":37}}},{"description":"goerr113: err113: do not define dynamic errors, use wrapped static errors instead: \"fmt.Errorf(\\\"no data\\\")\"","severity":"critical","fingerprint":"D5B7395758BCA122EFB6B0287C036103","location":{"path":"pkg/chart/area.go","lines":{"begin":29}}},{"description":"goerr113: err113: do not define dynamic errors, use wrapped static errors instead: \"fmt.Errorf(\\\"no data\\\")\"","severity":"critical","fingerprint":"5BF58E6AC197472FD7530D980FF7201D","location":{"path":"pkg/chart/line.go","lines":{"begin":28}}},{"description":"gomnd: mnd: Magic number: 1024.0, in \u003cargument\u003e detected","severity":"critical","fingerprint":"3CC1811DF63D7D3B2D3365D7F7BA3E13","location":{"path":"pkg/helper/human.go","lines":{"begin":16}}},{"description":"gomnd: mnd: Magic number: 1024.0, in \u003cargument\u003e detected","severity":"critical","fingerprint":"B3E9D765FA7A2AF16A203A9B20987D4E","location":{"path":"pkg/helper/human.go","lines":{"begin":17}}},{"description":"gomnd: mnd: Magic number: 200, in \u003cargument\u003e detected","severity":"critical","fingerprint":"17D8BBFB36CFA38CCB2FCBBD3CBD0952","location":{"path":"pkg/helper/respond.go","lines":{"begin":45}}},{"description":"gomnd: mnd: Magic number: 60, in \u003cargument\u003e detected","severity":"critical","fingerprint":"77749A7B943C2F5B616DEFF630B598C8","location":{"path":"pkg/helper/time.go","lines":{"begin":47}}},{"description":"gomnd: mnd: Magic number: 256, in \u003cargument\u003e detected","severity":"critical","fingerprint":"F1C992B0E36D1E0B800518023DDD901B","location":{"path":"pkg/hub/client.go","lines":{"begin":143}}},{"description":"gomnd: mnd: Magic number: 9, in \u003coperation\u003e detected","severity":"critical","fingerprint":"F9536599DA1C342CF0071AE4C4AF8B96","location":{"path":"pkg/hub/client.go","lines":{"begin":25}}},{"description":"gomnd: mnd: Magic number: 1024, in \u003cassign\u003e detected","severity":"critical","fingerprint":"C0B70A73F7DB76D8CBEDB8F9D5681B2F","location":{"path":"pkg/hub/client.go","lines":{"begin":37}}},{"description":"gomnd: mnd: Magic number: 1024, in \u003cassign\u003e detected","severity":"critical","fingerprint":"8A0FF93E9553B7C5EF7A23D92A95D71C","location":{"path":"pkg/hub/client.go","lines":{"begin":38}}},{"description":"gomnd: mnd: Magic number: 1024, in \u003cargument\u003e detected","severity":"critical","fingerprint":"FEDF8A18DCAB98266B2EBA05DF295B8C","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":143}}},{"description":"gomnd: mnd: Magic number: 5, in \u003cassign\u003e detected","severity":"critical","fingerprint":"2C2B59298FA86A78520365BEB585FD7A","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":38}}},{"description":"gomnd: mnd: Magic number: 3, in \u003cassign\u003e detected","severity":"critical","fingerprint":"E558060C4CF61CF44D249E1DA100E00B","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":135}}},{"description":"gomnd: mnd: Magic number: 1024, in \u003cargument\u003e detected","severity":"critical","fingerprint":"EE87DD8E7DEB1B8757CCF721DBB389A3","location":{"path":"cmd/streamtest/main.go","lines":{"begin":22}}},{"description":"gomnd: mnd: Magic number: 500, in \u003cargument\u003e detected","severity":"critical","fingerprint":"929F628D9F2AFB24EA6981CA6D4093A1","location":{"path":"models/controllers.go","lines":{"begin":169}}},{"description":"gomnd: mnd: Magic number: 500, in \u003cargument\u003e detected","severity":"critical","fingerprint":"929F628D9F2AFB24EA6981CA6D4093A1","location":{"path":"models/controllers.go","lines":{"begin":179}}},{"description":"gomnd: mnd: Magic number: 500, in \u003cargument\u003e detected","severity":"critical","fingerprint":"5C49ABB2A18D2A90EB49189CF0BD193A","location":{"path":"models/controllers.go","lines":{"begin":192}}},{"description":"gomnd: mnd: Magic number: 200, in \u003cargument\u003e detected","severity":"critical","fingerprint":"7494FF7F2BC393DFAFBED06C4364A107","location":{"path":"models/controllers.go","lines":{"begin":239}}},{"description":"gomnd: mnd: Magic number: 200, in \u003cargument\u003e detected","severity":"critical","fingerprint":"8455B3C9A19AE00FEA8BB350AD730144","location":{"path":"models/controllers.go","lines":{"begin":277}}},{"description":"gomnd: mnd: Magic number: 1024, in \u003cargument\u003e detected","severity":"critical","fingerprint":"2D741008622297D4B6E0ECC62C87DF65","location":{"path":"models/server.go","lines":{"begin":196}}},{"description":"gomnd: mnd: Magic number: 400, in \u003cargument\u003e detected","severity":"critical","fingerprint":"85F99A0DFC52803A9F0660DE81879266","location":{"path":"models/stats.go","lines":{"begin":19}}},{"description":"gomnd: mnd: Magic number: 400, in \u003cargument\u003e detected","severity":"critical","fingerprint":"85F99A0DFC52803A9F0660DE81879266","location":{"path":"models/stats.go","lines":{"begin":24}}},{"description":"gomnd: mnd: Magic number: 400, in \u003cargument\u003e detected","severity":"critical","fingerprint":"85F99A0DFC52803A9F0660DE81879266","location":{"path":"models/stats.go","lines":{"begin":29}}},{"description":"gomnd: mnd: Magic number: 60, in \u003ccondition\u003e detected","severity":"critical","fingerprint":"14B9CC4368C34223F3668CFBA100FA86","location":{"path":"models/telemetry.go","lines":{"begin":168}}},{"description":"ineffassign: ineffectual assignment to count","severity":"critical","fingerprint":"ADF19C71BAF156D9F6506DDCB8722966","location":{"path":"pkg/chart/area.go","lines":{"begin":53}}},{"description":"noctx: (*net/http.Client).Get must not be called","severity":"critical","fingerprint":"C19CA378C03819735D88489D206EDCB8","location":{"path":"pkg/webcam/timelapse.go","lines":{"begin":137}}},{"description":"noctx: should rewrite http.NewRequestWithContext or add (*Request).WithContext","severity":"critical","fingerprint":"2A0FD52FCA195493208A07C6A2AA8E07","location":{"path":"cmd/simulator/main.go","lines":{"begin":50}}},{"description":"noctx: net/http.Get must not be called","severity":"critical","fingerprint":"F0131716C9259BA1C29DDCF8F7C2D903","location":{"path":"cmd/streamtest/main.go","lines":{"begin":14}}},{"description":"noctx: should rewrite http.NewRequestWithContext or add (*Request).WithContext","severity":"critical","fingerprint":"CC7BACBA7425F184968957EFF1CCE6B0","location":{"path":"models/datasets_test.go","lines":{"begin":85}}},{"description":"noctx: should rewrite http.NewRequestWithContext or add (*Request).WithContext","severity":"critical","fingerprint":"716D65CA5F1777D000367F0F07380E61","location":{"path":"models/sensor_test.go","lines":{"begin":96}}},{"description":"noctx: net/http.Post must not be called","severity":"critical","fingerprint":"7CF4C7622BEF4AC7813E68A1B2D7873A","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":50}}},{"description":"staticcheck: SA4006: this value of `dat` is never used","severity":"critical","fingerprint":"F898AA4AA0F0816095CD2C3DE46FCD1E","location":{"path":"pkg/webhooks/discord.go","lines":{"begin":58}}},{"description":"tagliatelle: json(camel): got 'event_time' want 'eventTime'","severity":"critical","fingerprint":"F194A7F301893CC859F09C38689DFC07","location":{"path":"pkg/event/event.go","lines":{"begin":36}}},{"description":"tagliatelle: json(camel): got 'sensor_id' want 'sensorId'","severity":"critical","fingerprint":"420A4E3AB0637C35F0C7B9BE66DBAA17","location":{"path":"models/controllers.go","lines":{"begin":22}}},{"description":"tagliatelle: json(camel): got 'created_at' want 'createdAt'","severity":"critical","fingerprint":"FF4FA582ECC5803F4615806EB233DFE2","location":{"path":"models/controllers.go","lines":{"begin":30}}},{"description":"tagliatelle: json(camel): got 'item_description' want 'itemDescription'","severity":"critical","fingerprint":"4CB9EBBDF38EA68208196B08143555A9","location":{"path":"models/controllers.go","lines":{"begin":86}}},{"description":"tagliatelle: json(camel): got 'threshold_limit' want 'thresholdLimit'","severity":"critical","fingerprint":"A4CBF189AD76ECB96D7B61C267D1FB9A","location":{"path":"models/controllers.go","lines":{"begin":89}}},{"description":"tagliatelle: json(camel): got 'item_description' want 'itemDescription'","severity":"critical","fingerprint":"B9FAF37ADB9ACFC645A7D0B8D1DF6F01","location":{"path":"models/controllers.go","lines":{"begin":92}}},{"description":"tagliatelle: json(camel): got 'time_on' want 'timeOn'","severity":"critical","fingerprint":"BE376AF5E9D4E380272AC84BE2DD0110","location":{"path":"models/controllers.go","lines":{"begin":93}}},{"description":"tagliatelle: json(camel): got 'time_off' want 'timeOff'","severity":"critical","fingerprint":"A9AD431D68B35B3D840729A39AC66356","location":{"path":"models/controllers.go","lines":{"begin":94}}},{"description":"tagliatelle: json(camel): got 'project_name' want 'projectName'","severity":"critical","fingerprint":"2205531C9F0C9341E8F73FFD04020607","location":{"path":"models/controllers.go","lines":{"begin":104}}},{"description":"tagliatelle: json(camel): got 'output_name' want 'outputName'","severity":"critical","fingerprint":"D84E2B1D28F04DD62A9EF629E002D2CF","location":{"path":"models/controllers.go","lines":{"begin":105}}},{"description":"tagliatelle: json(camel): got 'next_capture_time' want 'nextCaptureTime'","severity":"critical","fingerprint":"44B5CBCA4AE83F7D61DC96AA28D43793","location":{"path":"models/controllers.go","lines":{"begin":106}}},{"description":"tagliatelle: json(camel): got 'sensor_id' want 'sensorId'","severity":"critical","fingerprint":"02035EDF64C0DF489D26D6E4038E0F66","location":{"path":"models/datasets.go","lines":{"begin":20}}},{"description":"tagliatelle: json(camel): got 'created_at' want 'createdAt'","severity":"critical","fingerprint":"DA6F496F3EE37A0AB9A6858ECC726FD1","location":{"path":"models/datasets.go","lines":{"begin":29}}},{"description":"tagliatelle: json(camel): got 'sensor_title' want 'sensorTitle'","severity":"critical","fingerprint":"0B310037544E568D187539F4A99964EF","location":{"path":"models/datasets.go","lines":{"begin":30}}},{"description":"tagliatelle: json(camel): got 'date_from' want 'dateFrom'","severity":"critical","fingerprint":"56117447F9BFAC7961BC680FE4A680BF","location":{"path":"models/report.go","lines":{"begin":14}}},{"description":"tagliatelle: json(camel): got 'date_to' want 'dateTo'","severity":"critical","fingerprint":"DB15A9275AA9D63E4F3F2C06CE77BB67","location":{"path":"models/report.go","lines":{"begin":15}}},{"description":"tagliatelle: json(camel): got 'dataset_id' want 'datasetId'","severity":"critical","fingerprint":"31274681473A01819BED0F2206EF1D67","location":{"path":"models/report.go","lines":{"begin":16}}},{"description":"tagliatelle: json(camel): got 'dataset_ref' want 'datasetRef'","severity":"critical","fingerprint":"8843070056110F6B5F6394AF6B36273E","location":{"path":"models/report.go","lines":{"begin":17}}},{"description":"tagliatelle: json(camel): got 'data_column' want 'dataColumn'","severity":"critical","fingerprint":"B3AB9A467B1DA2F90DEACA09A256D699","location":{"path":"models/report.go","lines":{"begin":18}}},{"description":"tagliatelle: json(camel): got 'include_data' want 'includeData'","severity":"critical","fingerprint":"A3821221A021A01D6BDA323E776A6C6F","location":{"path":"models/report.go","lines":{"begin":19}}},{"description":"tagliatelle: json(camel): got 'date_from' want 'dateFrom'","severity":"critical","fingerprint":"49CB3D7212E4C1493B59FA9F86703E50","location":{"path":"models/report.go","lines":{"begin":24}}},{"description":"tagliatelle: json(camel): got 'date_to' want 'dateTo'","severity":"critical","fingerprint":"252BE807F4BA29CD4306D1BBC65A1B48","location":{"path":"models/report.go","lines":{"begin":25}}},{"description":"tagliatelle: json(camel): got 'high_date' want 'highDate'","severity":"critical","fingerprint":"D3DBD4B25017AEE05E5C29D79A4D9C8B","location":{"path":"models/report.go","lines":{"begin":26}}},{"description":"tagliatelle: json(camel): got 'low_date' want 'lowDate'","severity":"critical","fingerprint":"B5481F8F1332C104C7C57F2417EB2962","location":{"path":"models/report.go","lines":{"begin":27}}},{"description":"tagliatelle: json(camel): got 'arduino_key' want 'arduinoKey'","severity":"critical","fingerprint":"B8B15E80F38C505D056E89322174B18A","location":{"path":"models/sensor.go","lines":{"begin":21}}},{"description":"tagliatelle: json(camel): got 'created_at' want 'createdAt'","severity":"critical","fingerprint":"24BBBF01E0D48BB6AD5695CF2B9958C0","location":{"path":"models/sensor.go","lines":{"begin":22}}},{"description":"tagliatelle: json(camel): got 'dataset_telemetry' want 'datasetTelemetry'","severity":"critical","fingerprint":"63D113BCEF8F953499F14DD1B037ADFF","location":{"path":"models/sensor.go","lines":{"begin":25}}},{"description":"tagliatelle: json(camel): got 'sensor_ip' want 'sensorIp'","severity":"critical","fingerprint":"F35FD7BAAFC60953F760BCBC85AE9430","location":{"path":"models/sensor.go","lines":{"begin":26}}},{"description":"tagliatelle: json(camel): got 'sensor_id' want 'sensorId'","severity":"critical","fingerprint":"DE5FD6E01FC60BA7C45BC8E364840338","location":{"path":"models/sensordata.go","lines":{"begin":20}}},{"description":"tagliatelle: json(camel): got 'dataset_id' want 'datasetId'","severity":"critical","fingerprint":"74CFCDB8C8D8BF077B8AE84EABBD4919","location":{"path":"models/sensordata.go","lines":{"begin":21}}},{"description":"testpackage: package should be `models_test` instead of `models`","severity":"critical","fingerprint":"04F977F357DD6BFB7C27D8D10B21842A","location":{"path":"models/datasets_test.go","lines":{"begin":1}}},{"description":"testpackage: package should be `models_test` instead of `models`","severity":"critical","fingerprint":"440A170588C8DBA8BBD85567FE60CCC2","location":{"path":"models/sensor_test.go","lines":{"begin":1}}},{"description":"testpackage: package should be `models_test` instead of `models`","severity":"critical","fingerprint":"1FC54232377EB99EC855A16C37C89791","location":{"path":"models/server_test.go","lines":{"begin":1}}},{"description":"testpackage: package should be `webhooks_test` instead of `webhooks`","severity":"critical","fingerprint":"387B244523C5C7DEA8F2BEF14477DFCE","location":{"path":"pkg/webhooks/discord_test.go","lines":{"begin":1}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func (*encoding/json.Decoder).Decode(v any) error","severity":"critical","fingerprint":"7473C01ECECD4C96818774AE26883FD5","location":{"path":"pkg/helper/respond.go","lines":{"begin":12}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func (*encoding/json.Encoder).Encode(v any) error","severity":"critical","fingerprint":"9D69AD2E2484B43330A4051E1643AAD8","location":{"path":"pkg/helper/respond.go","lines":{"begin":15}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func time.ParseInLocation(layout string, value string, loc *time.Location) (time.Time, error)","severity":"critical","fingerprint":"E1D2B38CC8DBC8A12B71AB34223D5003","location":{"path":"pkg/helper/time.go","lines":{"begin":50}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func time.LoadLocation(name string) (*time.Location, error)","severity":"critical","fingerprint":"1AA6C52F005FC6DCFC112C19BDCB213E","location":{"path":"pkg/helper/time.go","lines":{"begin":58}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func time.ParseInLocation(layout string, value string, loc *time.Location) (time.Time, error)","severity":"critical","fingerprint":"E1D2B38CC8DBC8A12B71AB34223D5003","location":{"path":"pkg/helper/time.go","lines":{"begin":62}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/sensor.GetRawDataWithLimitByRef(db *github.com/jmoiron/sqlx.DB, limit int, reference string) ([]github.com/quarkey/iot/pkg/sensor.RawSensorData, error)","severity":"critical","fingerprint":"75891B29BBDE298CD053F56631046AA3","location":{"path":"pkg/chart/area.go","lines":{"begin":26}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/helper.DecodeRawJSONtoSlice(raw *encoding/json.RawMessage) ([]string, error)","severity":"critical","fingerprint":"5D0F153BE4D27E9599CFD2393E69764B","location":{"path":"pkg/chart/area.go","lines":{"begin":34}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/dataset.DatasetFieldAndShowCartList(ref string, db *github.com/jmoiron/sqlx.DB) ([]string, []bool, error)","severity":"critical","fingerprint":"CCAE543557625C260A4CD753E4672E79","location":{"path":"pkg/chart/area.go","lines":{"begin":38}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/helper.DecodeRawJSONtoSlice(raw *encoding/json.RawMessage) ([]string, error)","severity":"critical","fingerprint":"BD94666DB057BB00AB600D037DD3E6E0","location":{"path":"pkg/chart/area.go","lines":{"begin":72}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/helper.DecodeRawJSONtoSlice(raw *encoding/json.RawMessage) ([]string, error)","severity":"critical","fingerprint":"4CAEC94CF412C62517F6872A8EDDAA30","location":{"path":"pkg/chart/line.go","lines":{"begin":33}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func github.com/quarkey/iot/pkg/dataset.DatasetFieldAndShowCartList(ref string, db *github.com/jmoiron/sqlx.DB) ([]string, []bool, error)","severity":"critical","fingerprint":"4C802060DFF11969F29B647E0FE1D51C","location":{"path":"pkg/chart/line.go","lines":{"begin":40}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func (*github.com/jmoiron/sqlx.DB).Select(dest interface{}, query string, args ...interface{}) error","severity":"critical","fingerprint":"47C0494A3E4DFF76630A258025B2E420","location":{"path":"pkg/event/event.go","lines":{"begin":44}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func strconv.Atoi(s string) (int, error)","severity":"critical","fingerprint":"83C6074BEEE4DB332A674F9AF55D3813","location":{"path":"pkg/event/event.go","lines":{"begin":54}}},{"description":"wrapcheck: error returned from external package is unwrapped: sig: func (*github.com/jmoiron/sqlx.DB).Get(dest interface{}, query string, args ...interface{}) error","severity":"critical","fingerprint":"E4931C8003241140DFE72D38D726F1E3","location":{"path":"models/datasets.go","lines":{"begin":129}}}]