Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
load(
"@io_bazel_rules_go//proto:def.bzl",
"go_proto_library",
)
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
proto_library(
name = "api_proto",
srcs = ["api.proto"],
tags = ["automanaged"],
deps = [
"//app/service/main/favorite/model:model_proto",
"@com_google_protobuf//:empty_proto",
"@gogo_special_proto//github.com/gogo/protobuf/gogoproto",
],
)
go_proto_library(
name = "api_go_proto",
compilers = ["@io_bazel_rules_go//proto:gogofast_grpc"],
importpath = "go-common/app/service/main/favorite/api",
proto = ":api_proto",
tags = ["automanaged"],
deps = [
"//app/service/main/favorite/model:model_go_proto",
"@com_github_gogo_protobuf//gogoproto:go_default_library",
"@io_bazel_rules_go//proto/wkt:empty_go_proto",
],
)
go_library(
name = "go_default_library",
srcs = ["client.go"],
embed = [":api_go_proto"],
importpath = "go-common/app/service/main/favorite/api",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/favorite/model:go_default_library",
"//library/net/rpc/warden:go_default_library",
"@com_github_gogo_protobuf//gogoproto:go_default_library",
"@com_github_gogo_protobuf//proto:go_default_library",
"@io_bazel_rules_go//proto/wkt:empty_go_proto",
"@org_golang_google_grpc//:go_default_library",
"@org_golang_x_net//context:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//app/service/main/favorite/api/gorpc:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,426 @@
syntax = "proto3";
package community.service.favorite;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
import "app/service/main/favorite/model/fav.proto";
import "google/protobuf/empty.proto";
option go_package = "api";
message ModelPage {
int32 num = 1;
int32 size = 2;
int32 count = 3;
}
message ModelFavorite {
int64 id = 1;
int64 oid = 2;
int64 mid = 3;
int64 fid = 4;
int32 type = 5;
int32 state = 6;
int64 ctime = 7;
int64 mtime = 8;
}
message ModelPartition {
int32 tid = 1;
string name = 2;
int32 count = 3;
}
message ModelFavorites {
ModelPage page = 1;
repeated ModelFavorite list = 2;
}
message AddFavReply {
}
message AddFavReq {
int32 tp = 2;
int64 mid = 3;
int64 fid = 4;
int64 oid = 5;
int32 otype = 6;
}
message DelFavReply {
}
message DelFavReq {
int32 tp = 2;
int64 mid = 3;
int64 fid = 4;
int64 oid = 5;
int32 otype = 6;
}
message FavoritesReply {
ModelFavorites res = 1;
}
message FavoritesReq {
int32 tp = 2;
int64 mid = 3;
int64 uid = 4;
int64 fid = 5;
int32 pn = 6;
int32 ps = 7;
int32 tid = 8;
int32 tv = 9;
string keyword = 10;
string order = 11;
}
message TlistsReply {
repeated ModelPartition res = 1;
}
message TlistsReq {
int32 tp = 2;
int64 mid = 3;
int64 uid = 4;
int64 fid = 5;
}
message RecentFavsReply {
repeated int64 res = 1;
}
message RecentFavsReq {
int32 tp = 2;
int64 mid = 3;
int32 size = 4;
}
message IsFavoredReply {
bool faved = 1;
}
message IsFavoredReq {
int32 typ = 2;
int64 mid = 3;
int64 oid = 4;
}
message IsFavoredByFidReq {
int32 type = 1;
int64 mid = 2;
int64 oid = 3;
int64 fid = 4;
}
message IsFavoredsReply {
map<int64,bool> faveds = 1;
}
message IsFavoredsReq{
int32 typ = 2;
int64 mid = 3;
repeated int64 oids = 4;
}
message UserFoldersReply {
repeated .model.Folder res = 1;
}
message UserFoldersReq {
int32 typ = 2;
int64 mid = 3;
int64 vmid = 4;
int64 oid = 5;
bool allCount = 6;
int32 otype = 7;
}
message UserFolderReply {
.model.Folder res = 1;
}
message UserFolderReq {
int32 typ = 2;
int64 mid = 3;
int64 vmid = 4;
int64 fid = 5;
bool allCount = 6;
}
message AddFolderReq {
int32 typ = 1;
int64 mid = 2;
string name = 3;
string description = 4;
string cover = 5;
int32 public = 6;
string cookie = 7;
string accessKey = 8;
}
message AddFolderReply {
int64 fid = 1;
}
message UpdateFolderReq {
int32 typ =1;
int64 fid =2;
int64 mid =3;
string name =4;
string description =5;
string cover =6;
int32 public =7;
string cookie =8;
string accessKey =9;
}
message AdminUpdateFolderReq {
int32 typ =1;
int64 fid =2;
int64 mid =3;
string name =4;
string description =5;
string cover =6;
int32 state =7;
int32 attr =8;
}
message DelFolderReq {
int32 typ =1;
int64 mid =2;
int64 fid =3;
}
message MultiAddReq {
int32 typ =1;
int64 mid =2;
repeated int64 oids =3;
int64 fid =4;
}
message MultiDelReq {
int32 typ =1;
int64 mid =2;
repeated int64 oids =3;
int64 fid =4;
}
message InDefaultFolderReq {
int32 typ =1;
int64 mid =2;
int64 oid =3;
}
message InDefaultFolderReply {
bool isIn =1;
}
message CntUserFoldersReq {
int32 typ =1;
int64 mid =2;
int64 vmid =3;
}
message CntUserFoldersReply {
int32 count =1;
}
message User {
int64 id =1;
int64 oid =2;
int64 mid =3;
int32 typ =4;
int32 state =5;
int64 ctime =6;
int64 mtime =7;
}
message FavedUsersReply {
ModelPage page =1;
repeated User user =2;
}
message FavedUsersReq {
int32 Type =1;
int64 Oid =2;
int32 pn =3;
int32 ps =4;
}
message SetFolderSortReq {
int32 typ =1;
int64 mid =3;
repeated int64 fids =4;
}
message FoldersReply {
repeated .model.Folder res = 1;
}
message FoldersReq {
// id = fid*100 + mid%100
repeated FolderID ids = 1;
int32 typ = 2;
int64 mid = 3;
}
message FolderID {
int64 fid = 1;
int64 mid = 2;
}
message MoveFavsReq {
int32 typ = 1;
int64 mid = 2;
int64 oldFid = 3;
int64 newFid = 4;
repeated int64 oids = 5;
}
message CopyFavsReq {
int32 typ = 1;
int64 oldMid = 2;
int64 mid = 3;
int64 oldFid = 4;
int64 newFid = 5;
repeated int64 oids = 6;
}
message CleanStateReq {
int32 typ =1;
int64 mid =2;
int64 fid =3;
}
message CleanStateReply {
int32 cleanState =1;
}
message CleanInvalidFavsReq {
int32 typ =1;
int64 mid =2;
int64 fid =3;
}
message FavAddFoldersReq {
int64 oid = 1;
int32 typ = 2;
repeated int64 fids = 3;
int64 mid = 4;
int32 otype = 5;
}
message FavDelFoldersReq {
int64 oid = 1;
int32 typ = 2;
repeated int64 fids = 3;
int64 mid = 4;
int32 otype = 5;
}
message SortFavsReq{
repeated SortFav sorts = 1;
int64 mid = 2;
int64 fid = 3;
int32 typ = 4;
}
message SortFav {
.model.Resource pre = 1;
.model.Resource insert = 2;
}
message UpFolderNameReq {
int32 typ =1;
int64 fid =2;
int64 mid =3;
string name =4;
string cookie =5;
string accessKey =6;
}
message UpFolderAttrReq {
int32 typ =1;
int64 fid =2;
int64 mid =3;
int32 public =4;
}
message RecentResourcesReq {
int32 tp = 2;
int64 mid = 3;
int32 size = 4;
}
message RecentResourcesReply {
repeated .model.Resource res = 1;
}
service Favorite {
// 更新收藏夹V2版本
rpc AdminUpdateFolder(AdminUpdateFolderReq) returns(.google.protobuf.Empty);
// 删除一个资源从多个收藏夹
rpc FavDelFolders(FavDelFoldersReq) returns(.google.protobuf.Empty);
// 添加一个资源至多个收藏夹
rpc FavAddFolders(FavAddFoldersReq) returns(.google.protobuf.Empty);
// 收藏夹重命名
rpc UpFolderName(UpFolderNameReq) returns(.google.protobuf.Empty);
// 设置收藏夹公开
rpc UpFolderAttr(UpFolderAttrReq) returns(.google.protobuf.Empty);
// 清除不合法的收藏资源
rpc CleanInvalidFavs(CleanInvalidFavsReq) returns(.google.protobuf.Empty);
// 返回某个收藏夹是否已经是clean的
rpc CleanState(CleanStateReq) returns(CleanStateReply);
// 拷贝收藏夹内的资源至另外一个收藏夹
rpc CopyFavs(CopyFavsReq) returns(.google.protobuf.Empty);
// 移动收藏夹内的资源至另外一个收藏夹
rpc MoveFavs(MoveFavsReq) returns(.google.protobuf.Empty);
// 收藏夹排序
rpc SetFolderSort(SetFolderSortReq) returns(.google.protobuf.Empty);
// 哪些用户收藏了该资源
rpc FavedUsers(FavedUsersReq) returns(FavedUsersReply);
// 用户收藏夹数量
rpc CntUserFolders(CntUserFoldersReq) returns(CntUserFoldersReply);
// 该资源是否在默认收藏夹中
rpc InDefault(InDefaultFolderReq) returns(InDefaultFolderReply);
// 批量删除多个资源
rpc MultiDel(MultiDelReq) returns(.google.protobuf.Empty);
// 批量添加多个资源
rpc MultiAdd(MultiAddReq) returns(.google.protobuf.Empty);
// 删除收藏夹
rpc DelFolder(DelFolderReq) returns(.google.protobuf.Empty);
// 更新收藏夹
rpc UpdateFolder(UpdateFolderReq) returns(.google.protobuf.Empty);
// 创建收藏夹
rpc AddFolder(AddFolderReq) returns(AddFolderReply);
// 收藏夹内的资源列表(只显示和收藏夹相同type的资源)
rpc Favorites(FavoritesReq) returns(FavoritesReply);
// 收藏夹内的资源列表(显示所有资源)
rpc FavoritesAll(FavoritesReq) returns(FavoritesReply);
// 分区信息
rpc Tlists(TlistsReq) returns(TlistsReply);
// 该用户最近收藏
rpc RecentFavs(RecentFavsReq) returns(RecentFavsReply);
// 该用户最近收藏的资源
rpc RecentResources(RecentResourcesReq) returns(RecentResourcesReply);
// 用户是否收藏该资源
rpc IsFavored(IsFavoredReq) returns(IsFavoredReply);
// 该资源是否在某个收藏夹内
rpc IsFavoredByFid(IsFavoredByFidReq) returns(IsFavoredReply);
// 多个资源是否被用户收藏
rpc IsFavoreds(IsFavoredsReq) returns(IsFavoredsReply);
// 添加收藏
rpc AddFav(AddFavReq) returns(AddFavReply);
// 删除收藏
rpc DelFav(DelFavReq) returns(DelFavReply);
// 用户的收藏夹列表
rpc UserFolders(UserFoldersReq) returns(UserFoldersReply);
// 用户的一个收藏夹
rpc UserFolder(UserFolderReq) returns(UserFolderReply);
// 通过ID批量返回收藏夹 id = fid*100 + mid%100
rpc Folders(FoldersReq) returns(FoldersReply);
// 改变被搜藏的元素的顺序
rpc SortFavs(SortFavsReq) returns(.google.protobuf.Empty);
}

View File

@@ -0,0 +1,20 @@
package api
import (
"context"
"fmt"
"go-common/library/net/rpc/warden"
"google.golang.org/grpc"
)
// AppID .
const AppID = "community.service.favorite"
// New fav service client
func New(c *warden.ClientConfig, opts ...grpc.DialOption) (FavoriteClient, error) {
client := warden.NewClient(c, opts...)
conn, err := client.Dial(context.Background(), fmt.Sprintf("discovery://default/%s", AppID))
return NewFavoriteClient(conn), err
}

View File

@@ -0,0 +1,32 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["favorite.go"],
importpath = "go-common/app/service/main/favorite/api/gorpc",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/favorite/model:go_default_library",
"//library/net/rpc:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,152 @@
package favorite
import (
"context"
"go-common/app/service/main/favorite/model"
"go-common/library/net/rpc"
)
const (
_allFolders = "RPC.AllFolders"
_folder = "RPC.Folder"
_folders = "RPC.Folders"
_addFolder = "RPC.AddFolder"
_delFolder = "RPC.DelFolder"
_updateFolder = "RPC.UpdateFolder"
_favorites = "RPC.Favorites"
_add = "RPC.Add"
_del = "RPC.Del"
_multiAdd = "RPC.MultiAdd"
_multiDel = "RPC.MultiDel"
_isFav = "RPC.IsFav"
_isFavs = "RPC.IsFavs"
_isInDefault = "RPC.InDefault"
_isFavedByFid = "RPC.IsFavedByFid"
_cntUserFolders = "RPC.CntUserFolders"
_users = "RPC.Users"
_tlists = "RPC.Tlists"
_recents = "RPC.Recents"
// fav v2
_addVideo = "RPC.AddVideo"
)
const (
_appid = "community.service.favorite"
)
var (
_noRes = &struct{}{}
)
type Service struct {
client *rpc.Client2
}
func New2(c *rpc.ClientConfig) (s *Service) {
s = &Service{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return
}
func (s *Service) AllFolders(c context.Context, arg *model.ArgAllFolders) (res []*model.Folder, err error) {
err = s.client.Call(c, _allFolders, arg, &res)
return
}
func (s *Service) Folder(c context.Context, arg *model.ArgFolder) (res *model.Folder, err error) {
err = s.client.Call(c, _folder, arg, &res)
return
}
func (s *Service) Folders(c context.Context, arg *model.ArgFolders) (res []*model.Folder, err error) {
err = s.client.Call(c, _folders, arg, &res)
return
}
func (s *Service) AddFolder(c context.Context, arg *model.ArgAddFolder) (fid int64, err error) {
err = s.client.Call(c, _addFolder, arg, &fid)
return
}
func (s *Service) UpdateFolder(c context.Context, arg *model.ArgUpdateFolder) (err error) {
err = s.client.Call(c, _updateFolder, arg, _noRes)
return
}
func (s *Service) DelFolder(c context.Context, arg *model.ArgDelFolder) (err error) {
err = s.client.Call(c, _delFolder, arg, _noRes)
return
}
func (s *Service) Favorites(c context.Context, arg *model.ArgFavs) (res *model.Favorites, err error) {
err = s.client.Call(c, _favorites, arg, &res)
return
}
func (s *Service) Add(c context.Context, arg *model.ArgAdd) (err error) {
err = s.client.Call(c, _add, arg, _noRes)
return
}
func (s *Service) Del(c context.Context, arg *model.ArgDel) (err error) {
err = s.client.Call(c, _del, arg, _noRes)
return
}
func (s *Service) MultiAdd(c context.Context, arg *model.ArgMultiAdd) (err error) {
err = s.client.Call(c, _multiAdd, arg, _noRes)
return
}
func (s *Service) MultiDel(c context.Context, arg *model.ArgMultiDel) (err error) {
err = s.client.Call(c, _multiDel, arg, _noRes)
return
}
func (s *Service) InDefault(c context.Context, arg *model.ArgInDefaultFolder) (faved bool, err error) {
err = s.client.Call(c, _isInDefault, arg, &faved)
return
}
func (s *Service) IsFav(c context.Context, arg *model.ArgIsFav) (faved bool, err error) {
err = s.client.Call(c, _isFav, arg, &faved)
return
}
func (s *Service) IsFavedByFid(c context.Context, arg *model.ArgIsFavedByFid) (faved bool, err error) {
err = s.client.Call(c, _isFavedByFid, arg, &faved)
return
}
func (s *Service) CntUserFolders(c context.Context, arg *model.ArgCntUserFolders) (count int, err error) {
err = s.client.Call(c, _cntUserFolders, arg, &count)
return
}
func (s *Service) Users(c context.Context, arg *model.ArgUsers) (res *model.UserList, err error) {
err = s.client.Call(c, _users, arg, &res)
return
}
// AddVideo add video fav.
func (s *Service) AddVideo(c context.Context, arg *model.ArgAddVideo) (err error) {
err = s.client.Call(c, _addVideo, arg, _noRes)
return
}
// IsFavs .
func (s *Service) IsFavs(c context.Context, arg *model.ArgIsFavs) (res map[int64]bool, err error) {
err = s.client.Call(c, _isFavs, arg, &res)
return
}
func (s *Service) Tlists(c context.Context, arg *model.ArgTlists) (res []*model.Partition, err error) {
err = s.client.Call(c, _tlists, arg, &res)
return
}
func (s *Service) Recents(c context.Context, arg *model.ArgRecents) (res []int64, err error) {
err = s.client.Call(c, _recents, arg, &res)
return
}