hooray functions copy pasted
This commit is contained in:
parent
b8cb49c1cb
commit
f87c4dab8f
@ -16,4 +16,9 @@ type Datastore interface {
|
|||||||
|
|
||||||
type Submissions interface {
|
type Submissions interface {
|
||||||
Get(ctx context.Context, id int64) (model.Submission, error)
|
Get(ctx context.Context, id int64) (model.Submission, error)
|
||||||
|
GetList(ctx context.Context, id []int64) ([]model.Submission, error)
|
||||||
|
Create(ctx context.Context, smap model.Submission) (model.Submission, error)
|
||||||
|
Update(ctx context.Context, id int64, values OptionalMap) error
|
||||||
|
Delete(ctx context.Context, id int64) error
|
||||||
|
List(ctx context.Context, filters OptionalMap, page model.Page) ([]model.Submission, error)
|
||||||
}
|
}
|
||||||
|
@ -21,3 +21,51 @@ func (env *Submissions) Get(ctx context.Context, id int64) (model.Submission, er
|
|||||||
}
|
}
|
||||||
return submission, nil
|
return submission, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (env *Submissions) GetList(ctx context.Context, id []int64) ([]model.Submission, error) {
|
||||||
|
var mapList []model.Submission
|
||||||
|
if err := env.db.Find(&mapList, "id IN ?", id).Error; err != nil {
|
||||||
|
return mapList, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return mapList, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (env *Submissions) Create(ctx context.Context, smap model.Submission) (model.Submission, error) {
|
||||||
|
if err := env.db.Create(&smap).Error; err != nil {
|
||||||
|
return smap, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return smap, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (env *Submissions) Update(ctx context.Context, id int64, values datastore.OptionalMap) error {
|
||||||
|
if err := env.db.Model(&model.Submission{}).Where("id = ?", id).Updates(values.Map()).Error; err != nil {
|
||||||
|
if err == gorm.ErrRecordNotFound {
|
||||||
|
return datastore.ErrNotExist
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (env *Submissions) Delete(ctx context.Context, id int64) error {
|
||||||
|
if err := env.db.Delete(&model.Submission{}, id).Error; err != nil {
|
||||||
|
if err == gorm.ErrRecordNotFound {
|
||||||
|
return datastore.ErrNotExist
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (env *Submissions) List(ctx context.Context, filters datastore.OptionalMap, page model.Page) ([]model.Submission, error) {
|
||||||
|
var maps []model.Submission
|
||||||
|
if err := env.db.Where(filters.Map()).Offset(int((page.Number - 1) * page.Size)).Limit(int(page.Size)).Find(&maps).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return maps, nil
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user