/
model_base_service.go
28 lines (25 loc) · 1.09 KB
/
model_base_service.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package interfaces
import (
"github.com/crawlab-team/crawlab-db/mongo"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type ModelBaseService interface {
GetModelId() (id ModelId)
SetModelId(id ModelId)
GetById(id primitive.ObjectID) (res Model, err error)
Get(query bson.M, opts *mongo.FindOptions) (res Model, err error)
GetList(query bson.M, opts *mongo.FindOptions) (res List, err error)
DeleteById(id primitive.ObjectID, args ...interface{}) (err error)
Delete(query bson.M, args ...interface{}) (err error)
DeleteList(query bson.M, args ...interface{}) (err error)
ForceDeleteList(query bson.M, args ...interface{}) (err error)
UpdateById(id primitive.ObjectID, update bson.M, args ...interface{}) (err error)
Update(query bson.M, update bson.M, fields []string, args ...interface{}) (err error)
UpdateDoc(query bson.M, doc Model, fields []string, args ...interface{}) (err error)
Insert(u User, docs ...interface{}) (err error)
Count(query bson.M) (total int, err error)
}
type ModelService interface {
GetBaseService(id ModelId) (svc ModelBaseService)
}