From 9610e35073b89f56e69d78a998931bf88ce7266f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Jerman?= Date: Thu, 2 Jun 2022 12:38:51 +0200 Subject: [PATCH] Add REST API params for compose record owner --- compose/rest.yaml | 8 ++++++ compose/rest/record.go | 2 ++ compose/rest/request/record.go | 50 ++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/compose/rest.yaml b/compose/rest.yaml index 757567f46..236067a60 100644 --- a/compose/rest.yaml +++ b/compose/rest.yaml @@ -849,6 +849,10 @@ endpoints: name: values required: false title: Record values + - type: uint64 + name: ownedBy + required: false + title: Record Owner - type: types.RecordBulkSet name: records required: false @@ -882,6 +886,10 @@ endpoints: name: values required: false title: Record values + - type: uint64 + name: ownedBy + required: false + title: Record Owner - type: types.RecordBulkSet name: records required: false diff --git a/compose/rest/record.go b/compose/rest/record.go index 5398ddb14..c2804c83d 100644 --- a/compose/rest/record.go +++ b/compose/rest/record.go @@ -168,6 +168,7 @@ func (ctrl *Record) Create(ctx context.Context, r *request.RecordCreate) (interf ModuleID: r.ModuleID, Values: r.Values, Labels: r.Labels, + OwnedBy: r.OwnedBy, } oo = append(oo, &types.RecordBulkOperation{ Record: rr, @@ -218,6 +219,7 @@ func (ctrl *Record) Update(ctx context.Context, r *request.RecordUpdate) (interf ModuleID: r.ModuleID, Values: r.Values, Labels: r.Labels, + OwnedBy: r.OwnedBy, } oo = append(oo, &types.RecordBulkOperation{ Record: rr, diff --git a/compose/rest/request/record.go b/compose/rest/request/record.go index 1448e136e..c5bec5750 100644 --- a/compose/rest/request/record.go +++ b/compose/rest/request/record.go @@ -250,6 +250,11 @@ type ( // Record values Values types.RecordValueSet + // OwnedBy POST parameter + // + // Record Owner + OwnedBy uint64 `json:",string"` + // Records POST parameter // // Records @@ -299,6 +304,11 @@ type ( // Record values Values types.RecordValueSet + // OwnedBy POST parameter + // + // Record Owner + OwnedBy uint64 `json:",string"` + // Records POST parameter // // Records @@ -1173,6 +1183,7 @@ func (r RecordCreate) Auditable() map[string]interface{} { "namespaceID": r.NamespaceID, "moduleID": r.ModuleID, "values": r.Values, + "ownedBy": r.OwnedBy, "records": r.Records, "labels": r.Labels, } @@ -1193,6 +1204,11 @@ func (r RecordCreate) GetValues() types.RecordValueSet { return r.Values } +// Auditable returns all auditable/loggable parameters +func (r RecordCreate) GetOwnedBy() uint64 { + return r.OwnedBy +} + // Auditable returns all auditable/loggable parameters func (r RecordCreate) GetRecords() types.RecordBulkSet { return r.Records @@ -1224,6 +1240,13 @@ func (r *RecordCreate) Fill(req *http.Request) (err error) { } else if err == nil { // Multipart params + if val, ok := req.MultipartForm.Value["ownedBy"]; ok && len(val) > 0 { + r.OwnedBy, err = payload.ParseUint64(val[0]), nil + if err != nil { + return err + } + } + if val, ok := req.MultipartForm.Value["labels[]"]; ok { r.Labels, err = label.ParseStrings(val) if err != nil { @@ -1252,6 +1275,13 @@ func (r *RecordCreate) Fill(req *http.Request) (err error) { // } //} + if val, ok := req.Form["ownedBy"]; ok && len(val) > 0 { + r.OwnedBy, err = payload.ParseUint64(val[0]), nil + if err != nil { + return err + } + } + //if val, ok := req.Form["records[]"]; ok && len(val) > 0 { // r.Records, err = types.RecordBulkSet(val), nil // if err != nil { @@ -1364,6 +1394,7 @@ func (r RecordUpdate) Auditable() map[string]interface{} { "moduleID": r.ModuleID, "recordID": r.RecordID, "values": r.Values, + "ownedBy": r.OwnedBy, "records": r.Records, "labels": r.Labels, } @@ -1389,6 +1420,11 @@ func (r RecordUpdate) GetValues() types.RecordValueSet { return r.Values } +// Auditable returns all auditable/loggable parameters +func (r RecordUpdate) GetOwnedBy() uint64 { + return r.OwnedBy +} + // Auditable returns all auditable/loggable parameters func (r RecordUpdate) GetRecords() types.RecordBulkSet { return r.Records @@ -1420,6 +1456,13 @@ func (r *RecordUpdate) Fill(req *http.Request) (err error) { } else if err == nil { // Multipart params + if val, ok := req.MultipartForm.Value["ownedBy"]; ok && len(val) > 0 { + r.OwnedBy, err = payload.ParseUint64(val[0]), nil + if err != nil { + return err + } + } + if val, ok := req.MultipartForm.Value["labels[]"]; ok { r.Labels, err = label.ParseStrings(val) if err != nil { @@ -1448,6 +1491,13 @@ func (r *RecordUpdate) Fill(req *http.Request) (err error) { // } //} + if val, ok := req.Form["ownedBy"]; ok && len(val) > 0 { + r.OwnedBy, err = payload.ParseUint64(val[0]), nil + if err != nil { + return err + } + } + //if val, ok := req.Form["records[]"]; ok && len(val) > 0 { // r.Records, err = types.RecordBulkSet(val), nil // if err != nil {