| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | package svcimport (	"golib/features/mo"	"golib/infra/ii")var (	svc *Service)func InitDefault(client *mo.Client, items ii.Items, perms ii.Permission, log Logger) {	svc = new(Service)	svc.Client = client	svc.Items = items	svc.Perms = perms	svc.Log = log	svc.cache = NewCache(items)}func Items() ii.Items {	return svc.Items}func AddItemCache(itemName string, user ii.User) {	svc.cache.AddItem(itemName)	service := Svc(user)	rows, err := service.Find(itemName, mo.D{})	if err != nil {		panic(err)	}	svc.cache.SetData(itemName, rows)}func DbClient() *mo.Client {	return svc.Client}func Svc(u ii.User) *Service {	return &Service{		Items:  svc.Items,		Perms:  svc.Perms,		User:   u,		Client: svc.Client,		Log:    svc.Log,		cache:  svc.cache,	}}
 |