Files
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

78 lines
1.8 KiB
Go

// Copyright (c) Abstract Machines
// SPDX-License-Identifier: Apache-2.0
package operations
import "github.com/absmach/supermq/pkg/permissions"
const EntityType = "report"
// Report Operations.
const (
OpAddReportConfig permissions.Operation = iota
OpViewReportConfig
OpUpdateReportConfig
OpUpdateReportSchedule
OpRemoveReportConfig
OpListReportsConfig
OpEnableReportConfig
OpDisableReportConfig
OpGenerateReport
OpUpdateReportTemplate
OpViewReportTemplate
OpDeleteReportTemplate
)
func OperationDetails() map[permissions.Operation]permissions.OperationDetails {
return map[permissions.Operation]permissions.OperationDetails{
OpAddReportConfig: {
Name: "add",
PermissionRequired: true,
},
OpViewReportConfig: {
Name: "view",
PermissionRequired: true,
},
OpUpdateReportConfig: {
Name: "update",
PermissionRequired: true,
},
OpUpdateReportSchedule: {
Name: "update_schedule",
PermissionRequired: true,
},
OpRemoveReportConfig: {
Name: "delete",
PermissionRequired: true,
},
OpListReportsConfig: {
Name: "list",
PermissionRequired: true,
},
OpEnableReportConfig: {
Name: "enable",
PermissionRequired: true,
},
OpDisableReportConfig: {
Name: "disable",
PermissionRequired: true,
},
OpGenerateReport: {
Name: "generate",
PermissionRequired: true,
},
OpUpdateReportTemplate: {
Name: "update_template",
PermissionRequired: true,
},
OpViewReportTemplate: {
Name: "view_template",
PermissionRequired: true,
},
OpDeleteReportTemplate: {
Name: "delete_template",
PermissionRequired: true,
},
}
}