add with http code

This commit is contained in:
mr
2024-07-19 11:27:58 +02:00
parent 650168f39c
commit d28662d70b
16 changed files with 96 additions and 94 deletions

View File

@@ -33,39 +33,40 @@ func (dma *AbstractAccessor) SetLogger(t DataType) {
dma.Type = t.String()
}
func (wfa *AbstractAccessor) GenericStoreOne(data DBObject, accessor Accessor) (DBObject, error) {
func (wfa *AbstractAccessor) GenericStoreOne(data DBObject, accessor Accessor) (DBObject, int, error) {
data.GenerateID()
err := validate.Struct(data)
wfa.Logger.Error().Msg("Could not store " + data.GetName() + " to db. Error: " + err.Error())
if err != nil {
return nil, err
return nil, 422, err
}
id, err := mongo.MONGOService.StoreOne(data, wfa.GetType())
id, code, err := mongo.MONGOService.StoreOne(data, wfa.GetType())
if err != nil {
wfa.Logger.Error().Msg("Could not store " + data.GetName() + " to db. Error: " + err.Error())
return nil, err
return nil, code, err
}
return accessor.LoadOne(id)
}
func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) (DBObject, error) {
res, err := accessor.LoadOne(id)
func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) (DBObject, int, error) {
res, code, err := accessor.LoadOne(id)
if err != nil {
dma.Logger.Error().Msg("Could not retrieve " + id + " to db. Error: " + err.Error())
return nil, err
return nil, code, err
}
_, err = mongo.MONGOService.DeleteOne(id, accessor.GetType())
_, code, err = mongo.MONGOService.DeleteOne(id, accessor.GetType())
if err != nil {
dma.Logger.Error().Msg("Could not delete " + id + " to db. Error: " + err.Error())
return nil, err
return nil, code, err
}
return res, nil
return res, 200, nil
}
func (dma *AbstractAccessor) GenericUpdateOne(set map[string]interface{}, id string, accessor Accessor) (DBObject, error) {
id, err := mongo.MONGOService.UpdateOne(set, id, accessor.GetType())
func (dma *AbstractAccessor) GenericUpdateOne(set map[string]interface{}, id string, accessor Accessor) (DBObject, int, error) {
id, code, err := mongo.MONGOService.UpdateOne(set, id, accessor.GetType())
if err != nil {
dma.Logger.Error().Msg("Could not update " + id + " to db. Error: " + err.Error())
return nil, code, err
}
return accessor.LoadOne(id)
}

View File

@@ -11,8 +11,8 @@ type DBObject interface {
type Accessor interface {
SetLogger(t DataType)
GetType() string
LoadOne(id string) (DBObject, error)
DeleteOne(id string) (DBObject, error)
StoreOne(data DBObject) (DBObject, error)
UpdateOne(set map[string]interface{}, id string) (DBObject, error)
LoadOne(id string) (DBObject, int, error)
DeleteOne(id string) (DBObject, int, error)
StoreOne(data DBObject) (DBObject, int, error)
UpdateOne(set map[string]interface{}, id string) (DBObject, int, error)
}