| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | package svcimport (	"golib/v3/features/mo"	"golib/v3/infra/ii"	"golib/v3/log")var (	service    *Service	permission ii.Permission)func InitDefault(client *mo.Client, items ii.Items, perms ii.Permission, log log.Logger) {	service = &Service{		Items:  items,		Client: client,		Log:    log,		Cache:  NewCache(items),	}	permission = perms}func AddItemCache(name ii.Name) {	service.Cache.AddItem(name)	rows, err := service.Find(name, &mo.Matcher{})	if err != nil {		panic(err)	}	service.Cache.SetData(name, ToRaw(rows))}func With(u ii.User) *WithUser {	return &WithUser{		User:    u,		Perms:   permission,		Service: service,	}}func GetItems() ii.Items {	return service.GetItems()}func HasItem(name ii.Name) (*ii.ItemInfo, bool) {	info, ok := service.HasItem(name)	if !ok {		return nil, false	}	return info, true}func Find(name ii.Name, filter mo.Filter) ([]*Row, error) {	return service.Find(name, filter)}func FindOne(name ii.Name, filter mo.Filter) (*Row, error) {	return service.FindOne(name, filter)}func FindOneAndDelete(name ii.Name, filter mo.Filter) error {	return service.FindOneAndDelete(name, filter)}func DeleteOne(name ii.Name, filter mo.Filter) error {	return service.DeleteOne(name, filter)}func DeleteMany(name ii.Name, filter mo.Filter) error {	return service.DeleteMany(name, filter)}func FindOneAndUpdate(name ii.Name, filter, update mo.Filter) error {	return service.FindOneAndUpdate(name, filter, update)}func EstimatedDocumentCount(name ii.Name) (int64, error) {	return service.EstimatedDocumentCount(name)}func CountDocuments(name ii.Name, filter mo.Filter) (int64, error) {	return service.CountDocuments(name, filter)}func InsertOne(name ii.Name, doc mo.M) (mo.ObjectID, error) {	return service.InsertOne(name, doc)}func InsertMany(name ii.Name, docs mo.A) (mo.A, error) {	return service.InsertMany(name, docs)}func UpdateOne(name ii.Name, filter, update mo.Filter) error {	return service.UpdateOne(name, filter, update)}func UpdateByID(name ii.Name, id mo.ObjectID, update mo.Filter) error {	return service.UpdateByID(name, id, update)}func UpdateMany(name ii.Name, filter, update mo.Filter) error {	return service.UpdateMany(name, filter, update)}func Aggregate(name ii.Name, pipe mo.Pipeline, v any) error {	return service.Aggregate(name, pipe, v)}
 |