371 Commits

Author SHA1 Message Date
Steve Munene 2ef8437d8b MG-370 - Add fine grained access control to alarms (#404)
* add access control to rules engine

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add access control to reports

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add access control to alarms

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused variables

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update authorization method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove roles

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update alarm permissions

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update alarm permissions

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert endpoint changes

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix make fetch

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove rule prefix

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove trailing line

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused constants

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* re consumer

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update listing

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix rule roles interface

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* refactor listing commands

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fetch supermq

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address coments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update script

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fetch supermq

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix time layout

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix role name

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove white spaces

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update check usperadmin method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add missing env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2026-03-13 14:29:32 +01:00
Steve Munene 178a62c08f MG-370 - Add fine grained access control to reports (#403)
* add access control to rules engine

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix build

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix report database

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix variable naming

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix entity type

Signed-off-by: Arvindh <arvindh91@gmail.com>

* update authorize method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix generate report

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env changes

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update generate permission

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: Arvindh <arvindh91@gmail.com>
2026-03-05 13:59:22 +01:00
Steve Munene 362a4fc76d MG-370 - Add fine grained access control to rules engine (#402)
* update go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix rules endpoint tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix yaml file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix build

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove roles from alarms

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* change approach for schema combaine

Signed-off-by: Arvindh <arvindh91@gmail.com>

* change approach for schema combaine

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix permissions for rules

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix authorization file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: Arvindh <arvindh91@gmail.com>
2026-03-05 11:42:51 +01:00
Felix Gateru eb14615cf5 MG-344 - Update Provision Service (#386)
* feat: update provison service

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: remove duplicate env variables

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* ci: make fetch_supermq

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* docs(README.md): update README

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

---------

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>
2026-02-28 17:55:22 +01:00
Steve Munene 99e2c7aec4 NOISSUE - Refactor alarms, reports and rule engines middlewares (#369)
* refactor middleware

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix rules tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert common code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update supermq version

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-12-29 11:23:43 +01:00
dusan 5e504aa104 NOISSUE - Housekeeping
Signed-off-by: dusan <borovcanindusan1@gmail.com>
2025-12-29 11:23:36 +01:00
Dušan Borovčanin 7bc02a2816 NOISSUE - Update SMQ and Certs dependencies (#342)
* NOISSUE - Update Certs dependencies

Signed-off-by: dusan <borovcanindusan1@gmail.com>

* NOISSUE - Update Certs dependencies

Signed-off-by: dusan <borovcanindusan1@gmail.com>

* Fix linter errors

Signed-off-by: dusan <borovcanindusan1@gmail.com>

* Fix testing errors

Signed-off-by: dusan <borovcanindusan1@gmail.com>

---------

Signed-off-by: dusan <borovcanindusan1@gmail.com>
2025-11-03 09:52:17 +01:00
Steve Munene 5a6e0343dc NOISSUE - Fix Report time range display (#330)
* fx to and from

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* change to UTC

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix template pagination and address comment

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix pagination

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-10-09 16:28:15 +02:00
Steve Munene 8d4ead8e86 NOISSUE - Add timezone support for reports (#329)
* add timezone support

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update supermq

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add reports title for context

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-10-08 18:27:02 +02:00
Steve Munene ce5cb76dd4 NOISSUE - Remove reports trailing empty page (#328)
* remove empty page

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-10-07 17:24:09 +02:00
Steve Munene 9a621f4a88 MG-308 - Fix reports default template (#308)
Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-09-12 12:17:00 +02:00
Dušan Borovčanin be7ee7a877 NOISSUE - Fix bugs caused by SMQ update (#301)
* Fix SMQ-caused issues

Signed-off-by: dusan <borovcanindusan1@gmail.com>

* Fix tests

Signed-off-by: dusan <borovcanindusan1@gmail.com>

---------

Signed-off-by: dusan <borovcanindusan1@gmail.com>
2025-09-06 21:58:41 +02:00
Dušan Borovčanin 60e256c267 NOISSUE - Replace interface{} with any (#285)
Signed-off-by: dusan <borovcanindusan1@gmail.com>
2025-08-26 13:26:32 +02:00
Arvindh ffc7a1ff78 NOISSUE - Add callout in Rule Engine Service (#277)
* add callout to re

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add callout to re

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add callout to re

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add rule events

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add rule events

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add rule events

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove lints

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove lints

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove decoders

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove lints

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove lints

Signed-off-by: Arvindh <arvindh91@gmail.com>

* replace interface{} with any

Signed-off-by: Arvindh <arvindh91@gmail.com>

* optimization of event

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove lints

Signed-off-by: Arvindh <arvindh91@gmail.com>

* align code

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2025-08-26 09:17:27 +02:00
Steve Munene b4eb6fd1aa NOISSUE - Update reports to use chromedp (#249)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* switch to gotenberg

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix top bar

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update changes

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update query

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address commants

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-07-14 10:33:22 +02:00
Steve Munene 2e0432bdb5 MG-134 - Add support for Report templates (#180)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add remove report from nats handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* move runinfo to pkg

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update report handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update reports handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update handler in reports

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update go.mod and go.sum

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update package to chromedp

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* change update reorts to use chromium

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update report template

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add endpoint and repo methods

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add template validation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove repeated code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix template formatting

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update report template

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix mocks and tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove debug logs

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix api docs

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove pointers

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix template path

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix template path

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing validation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix logic

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert ui variable changes

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* rename method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update to browserless service

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-07-09 18:44:59 +02:00
Arvindh a2db0717b3 NOISSUE - Add message error type to handle Writer errors (#200)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update postgres writer

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix readers tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix senML naming

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove logger from service

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update messaging to NACK

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove error wrapping

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove message in logging

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* writer add msg error

Signed-off-by: Arvindh <arvindh91@gmail.com>

* revert the postgres writer changes

Signed-off-by: Arvindh <arvindh91@gmail.com>

* dependency: update supermq version

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: nyagamunene <stevenyaga2014@gmail.com>
2025-06-16 12:22:31 +02:00
Steve Munene dcd5ff914d MG-136 - Move reports to a separate service (#152)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add remove report from nats handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add license header

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update docker compose

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* move runinfo to pkg

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update report handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update reports handler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update handler in reports

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update repo method from time to due

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix validation methods

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update reports port to 9017

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update nginx to support reports

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix reports location in nginx

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update env variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-06-16 12:10:50 +02:00
Dusan Borovcanin c35bc42210 NOISSUE - Fix typos
Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-06-06 14:05:18 +02:00
Arvindh a8b61fe5bd NOISSUE - Change topic format in RE (#183)
* Change topic in RE for change internal msg fmt

Signed-off-by: Arvindh <arvindh91@gmail.com>

* update re message topic

Signed-off-by: Arvindh <arvindh91@gmail.com>

* sync with supermq main

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2025-06-05 12:52:01 +02:00
Dušan Borovčanin 5b5fa78032 NOISSUE - Fix RE logging (#176)
Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-05-27 14:31:26 +02:00
Arvindh e10a7646cd NOISSUE - Add Measurement to Creation of alarm (#158)
* fix alarm logic

Signed-off-by: Arvindh <arvindh91@gmail.com>

* rename created_till to created_to

Signed-off-by: Arvindh <arvindh91@gmail.com>

* move alarm logic to sql

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2025-05-19 13:49:28 +02:00
Arvindh c9a51947a3 NOISSUE - Update Timescale DB and queries (#147)
* updated timescaledb and queries

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add pgx connection pool

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add pgx config

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add pgx config

Signed-off-by: Arvindh <arvindh91@gmail.com>

* add pgx config

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix message sdk and sql migration

Signed-off-by: Arvindh <arvindh91@gmail.com>

* updated pgx pool set config

Signed-off-by: Arvindh <arvindh91@gmail.com>

* clean up values

Signed-off-by: Arvindh <arvindh91@gmail.com>

* clean up values

Signed-off-by: Arvindh <arvindh91@gmail.com>

* change pgclient in test

Signed-off-by: Arvindh <arvindh91@gmail.com>

* remove comments

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix test

Signed-off-by: Arvindh <arvindh91@gmail.com>

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2025-05-14 10:40:53 +02:00
Dusan Borovcanin 47ed0aa112 NOISSUE - Improve alarms and reports handling
Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-05-13 10:24:54 +02:00
Dušan Borovčanin 831674b036 NOISSUE - Fix scheduler (#131)
* Rename and reorganize files

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix scheduler

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix scheduler and use UTC

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update scheduler calculation

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update Rules loop

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix tests

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix linter errors

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix due

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove faling tests

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-29 13:30:24 +02:00
Steve Munene 02da121280 MG-94 - Add backend support for reports (#107)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix missing variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix api and add report config to rule engine

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix repo command

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix download request

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix download api

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix add report config

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused parameters

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add limit field to config

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add test and address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add logger

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove logger

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* uncomment code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add status check

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* resolve conflicts

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* rebase code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix startdate when zero

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add time expression parser and logics

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix postgres methods

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix pdf and csv generation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add description for reports

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove aggregation field

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove logs

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix endpoint and postgres methods

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update report config update methods

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix service test

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unnecessary check

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove endpoints

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix generate PDF and CSV

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused code

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert UI variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add empty line

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix go mod file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update download api

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* revert UI variable

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix download endpoint

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update generateREport method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* refactor generate api

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix csv column

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix csv generator

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove logs

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* updated reports logic and api

Signed-off-by: Arvindh <arvindh91@gmail.com>

* fix time conversion

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
Signed-off-by: Arvindh <arvindh91@gmail.com>
Co-authored-by: Arvindh <arvindh91@gmail.com>
2025-04-28 09:09:22 +02:00
Dušan Borovčanin 4dd0de64fb NOISSUE - Revert success logger (#126)
* Fix info logs in RE

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update Lua handling

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update Docker dir

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Add info and warning

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix logging

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-25 18:20:20 +02:00
Dušan Borovčanin 4e9480266e NOISSUE - Add script outputs (#121)
* Update RE to use pure Go instead of Lua bindings

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix RE DB

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix nil error case

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix adding query

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix constraints on kind and logic type

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update RE to use multiple outputs

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update PG writer output

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix protocol error in MQTT forwareder

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix rules error handings

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Add false value check

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix topic filtering

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix consumers

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix publisher

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix mocks

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix tests

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-24 23:27:08 +02:00
b1ackd0t ddce4f4a46 NOISSUE - Fix Duplicate Streams (#117)
* fix(re): duplicate streams

Fixes nats: API error: code=400 err_code=10058 description=stream name already in use
Align the codebase to use one config for alarms for both alarms service and rules engine
Move writers config to utilize build tags

* fix(brokers): change package names for brokers

move re brokers package to consumers
For RE broker, provide a publisher interface
Move alarms broker from consumer package

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): renaming rePubSub to msgSub

---------

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
2025-04-16 12:36:12 +02:00
Dušan Borovčanin 08d727bf6e NOISSUE - Update RE message handling (#116)
* Refactor RE

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Use Publisher only where possible

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Simplify message payload

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update Lua code and message preprocessing

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix JSON parsing

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update SMQ dependency

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove case that is never going to happen

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove SenML part

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Reorder functions

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Updarte RE setup AND Timescale writer

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Use NATS instead of brokers

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix pubsub

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix RE publishers

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update JS config description

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix configs and remove unused code

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix linter remarks

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-15 20:12:27 +02:00
b1ackd0t b3e2f41194 NOISSUE - Add Alarms (#106)
* WIP: alarms service

* fix(alarms): remove rule entity since it is not stored here

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* test(alarms): add tests cases for invalid alarms

* feat(alarms): add authorization

* feat(alarms): add docker deployment files

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix: update go mod file

* feat(alarms): support filtering by resolved_by, updated_by and severity

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* style: fix linter errors

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): provide correct otel naming for create alarm

Fixes https://github.com/absmach/magistrala/pull/106#discussion_r2030151971

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): group routes appropriately

Resolves https://github.com/absmach/magistrala/pull/106#discussion_r2030160891

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): extract alarm id from url path rather than query params

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): add all status to help in decoding

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* style(alarms): maintain consistent import as naming for supermq api package

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* refactor(alarms): update supermq dependecy to the latest

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): Add domains gRPC service config to alarms service

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* test(alarms): all CRUD operations from the service

Return empty results instead of nil

This standardizes error responses across alarm endpoints to return empty
result structs rather than nil. Also renames entityReq to alarmReq and
adds HTTP status codes for created/deleted alarms.

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* test(alarms): fix failing tests due to introduction of context on sdk

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): remove channel id

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): standardize error handling across CRUD operations

Updated error responses to use specific repository errors for consistency

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): add assignment fields to Alarm model and database

Introduced AssignedAt and AssignedBy fields to the Alarm struct and updated the database schema accordingly. Enhanced the UpdateAlarm function to handle these new fields, ensuring proper assignment tracking in the alarms system.

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): enhance Alarm model with measurement attributes

Updated the Alarm struct to include Measurement, Value, Unit, and Cause fields. Modified the validation logic to ensure these fields are present. Adjusted logging and tracing middleware to reflect the new attributes. Updated database schema and related functions to accommodate these changes, ensuring comprehensive alarm data management.

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): consume events from pubsub for creation of alarms

Removed session dependencies from CreateAlarm method and enhanced alarm validation to ensure all required fields are present

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* style(alarms): add newline at the end of docker compose

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): Add assignee id and metadata fields when consuming messages

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): add acknowledged field

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): Add threshold value for the specific measurement

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): Add channel, thing, and subtopic fields to Alarm model

This change adds required fields for tracking alarm sources and reorganizes
alarm-related fields for better grouping. Alarms now track the channel,
thing, and subtopic that triggered them, along with domain and rule info.

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* test(alarms): add service layer tests

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): consume created at from message rather than creating it

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): ready alarm as a gob encoded object

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): read alarms from alarms queue and remove transformer

g

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): update version of supermq

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* feat(alarms): add gob transformer

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): rename thing id to client id

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): create alarms stream

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): check on logic to create new alarm

create new alarm if severity, status, subtopic changes
enhance logging with additional details for alarms management

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* remove conusmer and use pubsub

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>

* fix(alarms): use build tags for rabbitmq and nats

* fix(alarms): add health and metrics endpoint

* fix(magistrala): use supermq as build flags to see version and commit

* fix(alarms): use js config

* fix(alarms): remove validation when updating an alarm

fix authorization too

---------

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
2025-04-15 19:32:09 +02:00
Ian Ngethe Muchiri edf835b73a MG-659 - Add message storage to Rules Engine (#112)
* add save senml function

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* add multiple pubsubs

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* remove ununsed constant

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* add domain id to message

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* use full words for prefixes

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* update prefixes

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

---------

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-04-11 16:25:41 +02:00
Dusan Borovcanin 99a3505003 NOISSUE - Update SMQ dependencies
Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-10 12:24:23 +02:00
Nataly Musilah 478c9907db NOISSUE - Add Readers GRPC Endpoints (#87)
* add ui prefix

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* add grpc backend

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* revert email utility and ui

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* update env variables and docker-composes

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* update env variables

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* add middleware folder

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* fix linter

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* ui commented

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* resolve comments and conflicts

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* resolve comments pt2

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* remove token from request

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* resolve comments

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* revert makefile and docker changes

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* force open grpc conn

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* fix linter

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* refactor components

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* fix tests

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* fix query issue

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* update protoc

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* rename variables

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* remove unused envs

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* use senml and json types for the messages struct

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* remove repetitive message fields

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* update protoc version

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

* return ui to docker

Signed-off-by: Musilah <nataleigh.nk@gmail.com>

---------

Signed-off-by: Musilah <nataleigh.nk@gmail.com>
2025-04-09 11:34:14 +02:00
Dusan Borovcanin 352cc663f4 NOISSUE - Fix nil PubSub
Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2025-04-08 23:15:28 +02:00
Ian Ngethe Muchiri 3a892108e1 MG-597- Add writers integrations (#104)
* add gopher-lua-libs library

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* update postgres writer

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

---------

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-04-04 10:41:49 +02:00
Ian Ngethe Muchiri d1e855ccd4 NOISSUE - Update Rules Engine (#88)
* update rules lua processing

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* remove logs

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* add emailer functionality

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* check error

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* remove files

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* fix tests

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* format template

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

---------

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-04-02 18:09:11 +02:00
Steve Munene 7a3341b07c MG-37 - Add Rules Engine tests (#74)
* add service and endpoint tests

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update github workflows

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove unused field

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* remove logs

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update github workflows

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix time format

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update to plural

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-03-17 11:46:44 +01:00
Steve Munene 753f44ce53 NOISSUE - Fix SDK (#68)
Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-03-13 17:20:27 +01:00
Ian Ngethe Muchiri 9b18f5580a NOISSUE - Fix env variable naming (#77)
Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-03-03 16:29:25 +01:00
Steve Munene 4540148166 NOISSUE - Refactor time parsing for scheduler (#57)
* use unix time for the scheduler

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* refactor time field

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* use constants

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* change time format

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add logging

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter error

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter error

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update decodeUpdateRuleRequest

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix wording

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix wording

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add missing words

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-02-10 16:59:20 +01:00
Steve Munene 1b6b7f558c MG-36 - Global ticker for scheduled rules (#42)
* initial implementation

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update main.go file

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* update Reccuring Type method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add marshalling and unmrshalling for times

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix postgres storage

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* add tests for schedular

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix failing linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* fix linter

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* refactor should run

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* refactor how rule are ran

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* address comments

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

* rename method

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>

---------

Signed-off-by: nyagamunene <stevenyaga2014@gmail.com>
2025-01-24 15:01:36 +01:00
Ian Ngethe Muchiri 89eaa8e09f NOISSUE - Fix readers env Prefix(#46)
* update timescale

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* remove omitempty to mess resp

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* remove domain_id

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* update tests

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

---------

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-01-24 10:56:54 +01:00
Felix Gateru 0bcb846e86 NOISSUE - Add Magistrala CLI (#40)
Signed-off-by: Felix Gateru <felix.gateru@gmail.com>
2025-01-14 14:08:19 +01:00
Felix Gateru cd528e75d3 NOISSUE - Add Readers and Consumers SDK (#33)
* refactor: aligh bootstrap with new supermq architecture

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: rename env variables

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* style: add empty line to config files and bootstrap docker compose file

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: add supermq sdk to magistrala sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: extend supermq sdk in magistrala sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* reafctor: update responses

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* feat: add readers and consumers sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* ci(messages.go): fix filename

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* feat: add readers sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: remove notifier interface

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: remove notifier interface

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

---------

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>
2025-01-13 10:31:45 +01:00
Felix Gateru ec71a5edfd MG-28 - Align Bootstrap with SuperMQ (#31)
* refactor: aligh bootstrap with new supermq architecture

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* feat: add sdk and update api docs

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: rename env variables

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* style: add empty line to config files and bootstrap docker compose file

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: add supermq sdk to magistrala sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* refactor: extend supermq sdk in magistrala sdk

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* reafctor: update responses

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

* ci: update api docs dir in swagger-ui deployment

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>

---------

Signed-off-by: Felix Gateru <felix.gateru@gmail.com>
2025-01-10 14:56:17 +01:00
Ian Ngethe Muchiri 3f0bb258c7 NOISSUE - Update Rules Service (#32)
* update re service

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* add status update for rules

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

* revert docker compose changes

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>

---------

Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com>
2025-01-09 09:56:45 +01:00
Dušan Borovčanin a34df79e9b NOISSUE - Use Magistrala packages instead of SMQ (#24)
* Use Magistrala packages where needed

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Move SMQ scripts to MG

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2024-12-31 18:00:47 +01:00
Dušan Borovčanin 3bbb25bd64 NOISSUE - Remove SuperMQ duplicates (#23)
* Update docker-compose to use SuperMQ

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove duplicate services

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update Bootstrap

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update other services to use SMQ

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Switch config prefix to SMQ

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove leftovers

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove duplicate interface definitions

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove unused actions

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove unused API docs

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Resolve linter comments

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix provision

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2024-12-31 11:04:17 +01:00
Dušan Borovčanin 57c3ecb175 MG-13 - Magistrala Rules engine (#16)
* Add initial Rules Engine model

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* WIP - Add API layer

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Add async consumer

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Use Named queries and single topics

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Update rules listing

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Enable consumers with no transformer

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Move RE to addons

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Fix HTTP server host

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove unused code

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

* Remove cache for the time being

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>

---------

Signed-off-by: Dusan Borovcanin <borovcanindusan1@gmail.com>
2024-12-27 20:00:50 +01:00