1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-26 13:48:53 +08:00
Mainflux.mainflux/pkg/sdk/go/policies.go
b1ackd0t 408eabaaa6
MF-1699 - Enrich SDK and CLI (#1719)
* initial commit update api docs

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* initial commit enrich sdk

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* initial commit enrich cli

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* add consumers test

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* remove dead code

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* add certs sdk tests

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* change contact name

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* fix tests

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Rename Disconnect

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Fix subscription typo

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Fix Swagger File

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Add Tests

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Change Limit to 10

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Remove empty line

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

---------

Signed-off-by: rodneyosodo <socials@rodneyosodo.com>
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
Co-authored-by: rodneyosodo <socials@rodneyosodo.com>
2023-05-25 00:02:46 +02:00

42 lines
1012 B
Go

package sdk
import (
"encoding/json"
"fmt"
"net/http"
"github.com/mainflux/mainflux/pkg/errors"
)
const policiesEndpoint = "policies"
type Policy struct {
Object string `json:"object,omitempty"`
Subject []string `json:"subjects,omitempty"`
Policies []string `json:"policies,omitempty"`
}
func (sdk mfSDK) CreatePolicy(policy Policy, token string) errors.SDKError {
data, err := json.Marshal(policy)
if err != nil {
return errors.NewSDKError(err)
}
url := fmt.Sprintf("%s/%s", sdk.authURL, policiesEndpoint)
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
return sdkerr
}
func (sdk mfSDK) DeletePolicy(policy Policy, token string) errors.SDKError {
data, err := json.Marshal(policy)
if err != nil {
return errors.NewSDKError(err)
}
url := fmt.Sprintf("%s/%s", sdk.authURL, policiesEndpoint)
_, _, sdkerr := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), data, http.StatusNoContent)
return sdkerr
}