Skip to content
Snippets Groups Projects
Commit 9b7ff515 authored by Gomez Goiri, Aitor's avatar Gomez Goiri, Aitor
Browse files

Delegating organization name extraction so it can consider affiliation too

parent ae0c55a4
No related branches found
No related tags found
No related merge requests found
/**
* constants.go
*
* COPYRIGHT: FUNDACIÓN TECNALIA RESEARCH & INNOVATION, 2022.
*/
package constants
var (
SidenorOrg string = "sidenor.com"
SidenorMsp string = "sidenor-com"
Cement1Msp string = "cement-company1-com"
Cement2Msp string = "cement-company2-com"
PublicAdminMsp string = "public-administration-com"
)
\ No newline at end of file
......@@ -9,6 +9,7 @@ package bid
import (
"errors"
"git.code.tecnalia.com/blockchain/hypercog/constants"
"git.code.tecnalia.com/ledgerbuilder/sdk/core/api"
"git.code.tecnalia.com/ledgerbuilder/sdk/core/fabric/protos"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
......@@ -27,7 +28,7 @@ func (c BidController) OwnedBySidenor(trigger shared.TriggerFunction) shared.Tri
return api.NewApiResponsePtr(fnName, err, nil).SendResponse()
}
if storedAsset.Owner.Org != "sidenor.com" {
if storedAsset.Owner.Org != constants.SidenorOrg {
return api.NewApiResponsePtr(fnName, errNotSidenorMSP, nil).SendResponse()
}
......
......@@ -118,7 +118,7 @@ func (c BidController) BidAsset(stub shared.LedgerBuildrStubInterface, params sh
return api.NewApiResponsePtr(fnName, err, nil).SendResponse()
}
org, err := stub.GetOrganization()
org, err := model.GetOrganization(stub)
if err != nil {
return api.NewApiResponsePtr(fnName, err, nil).SendResponse()
}
......
......@@ -14,8 +14,9 @@ import (
"git.code.tecnalia.com/ledgerbuilder/sdk/core/util/logging"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
"git.code.tecnalia.com/blockchain/hypercog/model"
hmodel "git.code.tecnalia.com/blockchain/hypercog/model"
"git.code.tecnalia.com/blockchain/hypercog/model/stats"
"git.code.tecnalia.com/traceblock/sdk/model"
)
const STEEL_ORG_LIST_KEY = "steel_orgs"
......@@ -156,7 +157,7 @@ func addOrgIfNotExist(stub shared.LedgerBuildrStubInterface, key string, org str
func retrieveExistingStats(stub shared.LedgerBuildrStubInterface) (*stats.RawSteelOrgStats, error) {
org, err := stub.GetOrganization()
org, err := model.GetOrganization(stub)
if err != nil {
return nil, err
}
......@@ -170,7 +171,7 @@ func retrieveExistingStats(stub shared.LedgerBuildrStubInterface) (*stats.RawSte
}
func upgradeSteelStats(stub shared.LedgerBuildrStubInterface, customStats *stats.RawSteelOrgStats) (error) {
org, err := stub.GetOrganization()
org, err := model.GetOrganization(stub)
if err != nil {
return err
}
......@@ -237,7 +238,7 @@ func RegisterDiscard(stub shared.LedgerBuildrStubInterface, quantity uint32, uni
return nil
}
func RegisterSale(stub shared.LedgerBuildrStubInterface, acceptedBid *model.Bid, units string) (error) {
func RegisterSale(stub shared.LedgerBuildrStubInterface, acceptedBid *hmodel.Bid, units string) (error) {
senderOrgStats, err := retrieveExistingStats(stub)
if err != nil {
return err
......
......@@ -4,7 +4,7 @@ go 1.15
require (
git.code.tecnalia.com/ledgerbuilder/sdk v1.4.1
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220308162114-1a900e794740
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220401083654-f7585e7ed3ce
github.com/mitchellh/mapstructure v1.4.2
github.com/stretchr/testify v1.7.0
)
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
git.code.tecnalia.com/ledgerbuilder/sdk v1.4.1 h1:XK0VH1OWqv9G1XeTM3NMvuxJYTBFStSJ6FLlcp3lhO0=
git.code.tecnalia.com/ledgerbuilder/sdk v1.4.1/go.mod h1:lzlMPHixE7XouwzF3UY21z40uQNxeBGhzmjd3KZk2cQ=
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220308162114-1a900e794740 h1:cRE2qGRBJozlhpWMvTkvQ3soyjmciKE1w0OpX8C6JkI=
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220308162114-1a900e794740/go.mod h1:1+VF+RqzmkMTqhqkvp8Z/t9/LONNr1vBoEkttT8oOVo=
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220401083654-f7585e7ed3ce h1:Rv+Jz1Qk57OYOa92pccqfD6Mi6rZO6IOOCfyrnLuzXo=
git.code.tecnalia.com/traceblock/sdk v1.0.1-0.20220401083654-f7585e7ed3ce/go.mod h1:1+VF+RqzmkMTqhqkvp8Z/t9/LONNr1vBoEkttT8oOVo=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/RoaringBitmap/roaring v0.5.1/go.mod h1:D0gp8kJQgE1A4LQ5wFLggQEyvDi06Mq5mKs52e1TwOo=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
......
......@@ -9,6 +9,7 @@ package middleware
import (
"errors"
"git.code.tecnalia.com/blockchain/hypercog/constants"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
)
......@@ -22,7 +23,7 @@ var (
func rejectIfNotSidenor(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "sidenor-com") {
if (mspId == constants.SidenorMsp) {
return request, nil
}
......@@ -32,7 +33,7 @@ func rejectIfNotSidenor(stub shared.LedgerBuildrStubInterface, ctl shared.Contro
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") {
if (mspId == constants.Cement1Msp || mspId == constants.Cement2Msp) {
return request, nil
}
......@@ -42,7 +43,7 @@ func rejectIfNotCementCompany(stub shared.LedgerBuildrStubInterface, ctl shared.
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") {
if (mspId == constants.PublicAdminMsp) {
return request, nil
}
......
......@@ -7,9 +7,11 @@
package middleware
import (
"git.code.tecnalia.com/blockchain/hypercog/constants"
"git.code.tecnalia.com/ledgerbuilder/sdk/core/model/query"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
"git.code.tecnalia.com/traceblock/sdk/middleware"
"git.code.tecnalia.com/traceblock/sdk/model"
)
var (
......@@ -22,7 +24,7 @@ var (
func addMspConstraint(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "public-administration-com") {
if (mspId == constants.PublicAdminMsp) {
// If public administration => do not alter the query (full-access)
return request, nil
}
......@@ -34,12 +36,12 @@ func addMspConstraint(stub shared.LedgerBuildrStubInterface, ctl shared.Controll
func addOrgConstraint(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
mspId := stub.GetMSPId()
if (mspId == "public-administration-com") {
if (mspId == constants.PublicAdminMsp) {
// If public administration => do not alter the query (full-access)
return request, nil
}
org, err := stub.GetOrganization()
org, err := model.GetOrganization(stub)
if err != nil {
return nil, err
}
......@@ -58,5 +60,5 @@ func addStockedStatusConstraint(stub shared.LedgerBuildrStubInterface, ctl share
func addSidenorOrgConstraint(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, request shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
// If more than one:
// middleware.AlterSelector(request, "selector.owner.msp.$in", fmt.Sprintf("[\"%s\",\"%s\"]", "msp1", "sidenor-com"))
return middleware.AlterSelector(request, "selector.owner.org", "sidenor.com")
return middleware.AlterSelector(request, "selector.owner.org", constants.SidenorOrg)
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment