Select Git revision
-
Gomez Goiri, Aitor authoredGomez Goiri, Aitor authored
acl.go 1.53 KiB
/**
* acl.go
*
* COPYRIGHT: FUNDACIÓN TECNALIA RESEARCH & INNOVATION, 2021.
*/
package middleware
import (
"errors"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
)
var (
RejectIfNotSidenor = shared.NewMiddlewareFunction("reject-not-sidenor", rejectIfNotSidenor)
RejectIfNotCementCompany = shared.NewMiddlewareFunction("reject-not-cement-company", rejectIfNotCementCompany)
RejectIfNotPublicAdmin = shared.NewMiddlewareFunction("reject-not-public-admin", rejectIfNotPublicAdmin)
errInvalidOrg = errors.New("user belongs to an invalid organization")
)
func rejectIfNotSidenor(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "sidenor-com") {
return request, nil
}
return nil, errInvalidOrg
}
func rejectIfNotCementCompany(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "cement-company1-com" || mspId == "cement-company2-com") {
return request, nil
}
return nil, errInvalidOrg
}
func rejectIfNotPublicAdmin(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "public-administration-com") {
return request, nil
}
return nil, errInvalidOrg
}