| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | package svcimport (	"golib/features/mo"	"golib/gio"	"golib/infra/ii"	"golib/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 Items() ii.Items {	return service.GetItems()}func HasItem(name ii.Name) (*ii.ItemInfo, bool) {	info, ok := service.HasItem(name)	if !ok {		return nil, false	}	b, err := gio.MarshalJson(info)	if err != nil {		panic(err)	}	var itemInfo ii.ItemInfo	if err = gio.UnmarshalJson(b, &itemInfo); err != nil {		panic(err)	}	return &itemInfo, true}func AddItemCache(name ii.Name) {	service.Cache.AddItem(name)	rows, err := service.Find(name, mo.D{})	if err != nil {		panic(err)	}	service.Cache.SetData(name, rows)}func Svc(u ii.User) *SVC {	return &SVC{		User:    u,		Perms:   permission,		Service: service,	}}
 |