From 64bea2a66e354fe40c4e49afc02b1ab4cf3c3e75 Mon Sep 17 00:00:00 2001 From: mr Date: Mon, 3 Feb 2025 11:52:49 +0100 Subject: [PATCH] adding inputs output struct based on argo naming for now --- models/utils/abstracts.go | 26 +++++++++++++++----------- models/utils/common.go | 4 ++-- models/utils/interfaces.go | 2 +- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/models/utils/abstracts.go b/models/utils/abstracts.go index 0c29360..9e004a3 100644 --- a/models/utils/abstracts.go +++ b/models/utils/abstracts.go @@ -27,14 +27,16 @@ const ( * every data in base root model should inherit from this struct (only exception is the ResourceModel) */ type AbstractObject struct { - UUID string `json:"id,omitempty" bson:"id,omitempty" validate:"required"` - Name string `json:"name,omitempty" bson:"name,omitempty" validate:"required"` - IsDraft bool `json:"is_draft" bson:"is_draft" default:"false"` - CreatorID string `json:"creator_id" bson:"creator_id" default:"unknown"` - CreationDate time.Time `json:"creation_date" bson:"creation_date"` - UpdateDate time.Time `json:"update_date" bson:"update_date"` - UpdaterID string `json:"updater_id" bson:"updater_id"` - AccessMode AccessMode `json:"access_mode" bson:"access_mode" default:"0"` + UUID string `json:"id,omitempty" bson:"id,omitempty" validate:"required"` + Name string `json:"name,omitempty" bson:"name,omitempty" validate:"required"` + IsDraft bool `json:"is_draft" bson:"is_draft" default:"false"` + CreatorID string `json:"creator_id" bson:"creator_id" default:"unknown"` + UserCreatorID string `json:"user_creator_id,omitempty" bson:"user_creator_id,omitempty"` + CreationDate time.Time `json:"creation_date" bson:"creation_date"` + UpdateDate time.Time `json:"update_date" bson:"update_date"` + UpdaterID string `json:"updater_id" bson:"updater_id"` + UserUpdaterID string `json:"user_updater_id,omitempty" bson:"user_updater_id,omitempty"` + AccessMode AccessMode `json:"access_mode" bson:"access_mode" default:"0"` } func (ri *AbstractObject) GetAccessor(request *tools.APIRequest) Accessor { @@ -77,12 +79,14 @@ func (ao *AbstractObject) GetCreatorID() string { return ao.CreatorID } -func (ao *AbstractObject) UpToDate(user string, create bool) { +func (ao *AbstractObject) UpToDate(user string, peer string, create bool) { ao.UpdateDate = time.Now() - ao.UpdaterID = user + ao.UpdaterID = peer + ao.UserUpdaterID = user if create { ao.CreationDate = time.Now() - ao.CreatorID = user + ao.CreatorID = peer + ao.UserCreatorID = user } } diff --git a/models/utils/common.go b/models/utils/common.go index 8d91216..4329c05 100644 --- a/models/utils/common.go +++ b/models/utils/common.go @@ -17,7 +17,7 @@ type Owner struct { func GenericStoreOne(data DBObject, a Accessor) (DBObject, int, error) { data.GenerateID() data.StoreDraftDefault() - data.UpToDate(a.GetPeerID(), true) + data.UpToDate(a.GetUser(), a.GetPeerID(), true) f := dbs.Filters{ Or: map[string][]dbs.Filter{ "abstractresource.abstractobject.name": {{ @@ -81,7 +81,7 @@ func GenericUpdateOne(set DBObject, id string, a Accessor, new DBObject) (DBObje return nil, 403, errors.New("you are not allowed to delete this collaborative area") } set = newSet - r.UpToDate(a.GetPeerID(), false) + r.UpToDate(a.GetUser(), a.GetPeerID(), false) if a.ShouldVerifyAuth() && !r.VerifyAuth(a.GetRequest()) { return nil, 403, errors.New("you are not allowed to access this collaborative area") } diff --git a/models/utils/interfaces.go b/models/utils/interfaces.go index 82bdf5b..fe361fc 100644 --- a/models/utils/interfaces.go +++ b/models/utils/interfaces.go @@ -24,7 +24,7 @@ type DBObject interface { CanDelete() bool StoreDraftDefault() GetCreatorID() string - UpToDate(user string, create bool) + UpToDate(user string, peer string, create bool) CanUpdate(set DBObject) (bool, DBObject) VerifyAuth(request *tools.APIRequest) bool Serialize(obj DBObject) map[string]interface{}