Create & Init Project...
This commit is contained in:
173
app/service/main/favorite/server/gorpc/server.go
Normal file
173
app/service/main/favorite/server/gorpc/server.go
Normal file
@ -0,0 +1,173 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"go-common/app/service/main/favorite/conf"
|
||||
"go-common/app/service/main/favorite/model"
|
||||
"go-common/app/service/main/favorite/service"
|
||||
"go-common/library/net/rpc"
|
||||
"go-common/library/net/rpc/context"
|
||||
)
|
||||
|
||||
// RPC favorite rpc.
|
||||
type RPC struct {
|
||||
c *conf.Config
|
||||
s *service.Service
|
||||
}
|
||||
|
||||
// New init rpc.
|
||||
func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
|
||||
r := &RPC{
|
||||
c: c,
|
||||
s: s,
|
||||
}
|
||||
svr = rpc.NewServer(c.RPCServer)
|
||||
if err := svr.Register(r); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Ping check connection success.
|
||||
func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// Folder return folder by mid.
|
||||
func (r *RPC) Folder(c context.Context, a *model.ArgFolder, res *model.Folder) (err error) {
|
||||
var fl *model.Folder
|
||||
if fl, err = r.s.Folder(c, a.Type, a.Mid, a.Vmid, a.Fid); err == nil {
|
||||
*res = *fl
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Folders return folder by mid.
|
||||
func (r *RPC) Folders(c context.Context, a *model.ArgFolders, res *[]*model.Folder) (err error) {
|
||||
*res, err = r.s.Folders(c, a.Type, a.Mid, a.FVmids)
|
||||
return
|
||||
}
|
||||
|
||||
// AllFolders return users folders.
|
||||
func (r *RPC) AllFolders(c context.Context, a *model.ArgAllFolders, res *[]*model.Folder) (err error) {
|
||||
*res, err = r.s.UserFolders(c, a.Type, a.Mid, a.Vmid, a.Oid, a.Type)
|
||||
return
|
||||
}
|
||||
|
||||
// AddFolder add a Folder.
|
||||
func (r *RPC) AddFolder(c context.Context, a *model.ArgAddFolder, res *int64) (err error) {
|
||||
var fid int64
|
||||
if fid, err = r.s.AddFolder(c, a.Type, a.Mid, a.Name, a.Description, a.Cover, int32(a.Public), a.Cookie, a.AccessKey); err == nil {
|
||||
*res = fid
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// UpdateFolder update a Folder.
|
||||
func (r *RPC) UpdateFolder(c context.Context, a *model.ArgUpdateFolder, res *struct{}) (err error) {
|
||||
err = r.s.UpdateFolder(c, a.Type, a.Fid, a.Mid, a.Name, a.Description, a.Cover, int32(a.Public), nil, nil)
|
||||
return
|
||||
}
|
||||
|
||||
// DelFolder del a folder.
|
||||
func (r *RPC) DelFolder(c context.Context, a *model.ArgDelFolder, res *struct{}) (err error) {
|
||||
err = r.s.DelFolder(c, a.Type, a.Mid, a.Fid)
|
||||
return
|
||||
}
|
||||
|
||||
// Favorites return favorites by mid.
|
||||
func (r *RPC) Favorites(c context.Context, a *model.ArgFavs, res *model.Favorites) (err error) {
|
||||
var fs *model.Favorites
|
||||
if fs, err = r.s.Favorites(c, a.Type, a.Mid, a.Vmid, a.Fid, a.Tid, a.Tv, a.Pn, a.Ps, a.Keyword, a.Order); err == nil {
|
||||
*res = *fs
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Add add a favorite relation.
|
||||
func (r *RPC) Add(c context.Context, a *model.ArgAdd, res *struct{}) (err error) {
|
||||
err = r.s.AddFav(c, a.Type, a.Mid, a.Fid, a.Oid, a.Type)
|
||||
return
|
||||
}
|
||||
|
||||
// Del del a favorite relation.
|
||||
func (r *RPC) Del(c context.Context, a *model.ArgDel, res *struct{}) (err error) {
|
||||
err = r.s.DelFav(c, a.Type, a.Mid, a.Fid, a.Oid, a.Type)
|
||||
return
|
||||
}
|
||||
|
||||
// Adds add a resource to folders.
|
||||
func (r *RPC) Adds(c context.Context, a *model.ArgAdds, res *struct{}) (err error) {
|
||||
for _, fid := range a.Fids {
|
||||
err = r.s.AddFav(c, a.Type, a.Mid, fid, a.Oid, a.Type)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Dels del a resource in fodlers.
|
||||
func (r *RPC) Dels(c context.Context, a *model.ArgDels, res *struct{}) (err error) {
|
||||
for _, fid := range a.Fids {
|
||||
err = r.s.DelFav(c, a.Type, a.Mid, fid, a.Oid, a.Type)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// MultiAdd multi add favorite relations.
|
||||
func (r *RPC) MultiAdd(c context.Context, a *model.ArgMultiAdd, res *struct{}) (err error) {
|
||||
err = r.s.MultiAddFavs(c, a.Type, a.Mid, a.Fid, a.Oids)
|
||||
return
|
||||
}
|
||||
|
||||
// MultiDel multi del favorite relations.
|
||||
func (r *RPC) MultiDel(c context.Context, a *model.ArgMultiDel, res *struct{}) (err error) {
|
||||
err = r.s.MultiDelFavs(c, a.Type, a.Mid, a.Fid, a.Oids)
|
||||
return
|
||||
}
|
||||
|
||||
// IsFav check favorited relation.
|
||||
func (r *RPC) IsFav(c context.Context, a *model.ArgIsFav, faved *bool) (err error) {
|
||||
*faved, err = r.s.IsFavored(c, a.Type, a.Mid, a.Oid)
|
||||
return
|
||||
}
|
||||
|
||||
// IsFavs return favored relation map.
|
||||
func (r *RPC) IsFavs(c context.Context, a *model.ArgIsFavs, res *map[int64]bool) (err error) {
|
||||
*res, err = r.s.IsFavoreds(c, a.Type, a.Mid, a.Oids)
|
||||
return
|
||||
}
|
||||
|
||||
// InDefault return favored in default folder.
|
||||
func (r *RPC) InDefault(c context.Context, a *model.ArgInDefaultFolder, in *bool) (err error) {
|
||||
*in, err = r.s.InDefaultFolder(c, a.Type, a.Mid, a.Oid)
|
||||
return
|
||||
}
|
||||
|
||||
// IsFavedByFid check the oid and fid relation.
|
||||
func (r *RPC) IsFavedByFid(c context.Context, a *model.ArgIsFavedByFid, faved *bool) (err error) {
|
||||
*faved, err = r.s.IsFavedByFid(c, a.Type, a.Mid, a.Oid, a.Fid)
|
||||
return
|
||||
}
|
||||
|
||||
// CntUserFolders count user's folders.
|
||||
func (r *RPC) CntUserFolders(c context.Context, a *model.ArgCntUserFolders, count *int) (err error) {
|
||||
*count, err = r.s.CntUserFolders(c, a.Type, a.Mid, a.Vmid)
|
||||
return
|
||||
}
|
||||
|
||||
// Users return favored users by mid.
|
||||
func (r *RPC) Users(c context.Context, a *model.ArgUsers, res *model.UserList) (err error) {
|
||||
var us *model.UserList
|
||||
if us, err = r.s.UserList(c, a.Type, a.Oid, a.Pn, a.Ps); err == nil {
|
||||
*res = *us
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// under v2 ===
|
||||
|
||||
// AddVideo add a favorite video.
|
||||
func (r *RPC) AddVideo(c context.Context, a *model.ArgAddVideo, res *struct{}) (err error) {
|
||||
for _, fid := range a.Fids {
|
||||
err = r.s.AddFav(c, model.TypeVideo, a.Mid, fid, a.Aid, model.TypeVideo)
|
||||
}
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user