diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4001eae
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+.gitignore
+.idea
+.scannerwork
+.vscode
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+*.iml
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+
+/cmd/logs/*.log
+/cmd/runtime/log/*.log
+/build/*
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 35410ca..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# 默认忽略的文件
-/shelf/
-/workspace.xml
-# 基于编辑器的 HTTP 客户端请求
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/AugmentWebviewStateStore.xml b/.idea/AugmentWebviewStateStore.xml
deleted file mode 100644
index 5b1d7f4..0000000
--- a/.idea/AugmentWebviewStateStore.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/fonchain-fiee.iml b/.idea/fonchain-fiee.iml
deleted file mode 100644
index 5e764c4..0000000
--- a/.idea/fonchain-fiee.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml
deleted file mode 100644
index 7dc1249..0000000
--- a/.idea/git_toolbox_blame.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 014788e..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1dd..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/api/cast/cast.pb.go b/api/cast/cast.pb.go
new file mode 100644
index 0000000..fc83a5a
--- /dev/null
+++ b/api/cast/cast.pb.go
@@ -0,0 +1,1469 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.35.2
+// protoc v3.21.1
+// source: pb/fiee/cast.proto
+
+package cast
+
+import (
+ _ "github.com/envoyproxy/protoc-gen-validate/validate"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ _ "google.golang.org/protobuf/types/descriptorpb"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+ _ "google.golang.org/protobuf/types/known/wrapperspb"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlatformIDENUM int32
+
+const (
+ PlatformIDENUM_UNKNOWN PlatformIDENUM = 0
+ PlatformIDENUM_TIKTOK PlatformIDENUM = 1
+ PlatformIDENUM_YOUTUBE PlatformIDENUM = 2
+ PlatformIDENUM_INS PlatformIDENUM = 3
+)
+
+// Enum value maps for PlatformIDENUM.
+var (
+ PlatformIDENUM_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "TIKTOK",
+ 2: "YOUTUBE",
+ 3: "INS",
+ }
+ PlatformIDENUM_value = map[string]int32{
+ "UNKNOWN": 0,
+ "TIKTOK": 1,
+ "YOUTUBE": 2,
+ "INS": 3,
+ }
+)
+
+func (x PlatformIDENUM) Enum() *PlatformIDENUM {
+ p := new(PlatformIDENUM)
+ *p = x
+ return p
+}
+
+func (x PlatformIDENUM) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlatformIDENUM) Descriptor() protoreflect.EnumDescriptor {
+ return file_pb_fiee_cast_proto_enumTypes[0].Descriptor()
+}
+
+func (PlatformIDENUM) Type() protoreflect.EnumType {
+ return &file_pb_fiee_cast_proto_enumTypes[0]
+}
+
+func (x PlatformIDENUM) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlatformIDENUM.Descriptor instead.
+func (PlatformIDENUM) EnumDescriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{0}
+}
+
+type MediaUserListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"`
+ ManagerVal string `protobuf:"bytes,2,opt,name=managerVal,proto3" json:"managerVal"`
+ PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"`
+ PlatformID PlatformIDENUM `protobuf:"varint,4,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"`
+ Page int32 `protobuf:"varint,5,opt,name=page,proto3" json:"page"`
+ PageSize int32 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize"`
+}
+
+func (x *MediaUserListReq) Reset() {
+ *x = MediaUserListReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *MediaUserListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MediaUserListReq) ProtoMessage() {}
+
+func (x *MediaUserListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MediaUserListReq.ProtoReflect.Descriptor instead.
+func (*MediaUserListReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MediaUserListReq) GetArtistVal() string {
+ if x != nil {
+ return x.ArtistVal
+ }
+ return ""
+}
+
+func (x *MediaUserListReq) GetManagerVal() string {
+ if x != nil {
+ return x.ManagerVal
+ }
+ return ""
+}
+
+func (x *MediaUserListReq) GetPlatformUserName() string {
+ if x != nil {
+ return x.PlatformUserName
+ }
+ return ""
+}
+
+func (x *MediaUserListReq) GetPlatformID() PlatformIDENUM {
+ if x != nil {
+ return x.PlatformID
+ }
+ return PlatformIDENUM_UNKNOWN
+}
+
+func (x *MediaUserListReq) GetPage() int32 {
+ if x != nil {
+ return x.Page
+ }
+ return 0
+}
+
+func (x *MediaUserListReq) GetPageSize() int32 {
+ if x != nil {
+ return x.PageSize
+ }
+ return 0
+}
+
+type MediaUserListResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data []*MediaUserListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
+ Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"`
+}
+
+func (x *MediaUserListResp) Reset() {
+ *x = MediaUserListResp{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *MediaUserListResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MediaUserListResp) ProtoMessage() {}
+
+func (x *MediaUserListResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MediaUserListResp.ProtoReflect.Descriptor instead.
+func (*MediaUserListResp) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *MediaUserListResp) GetData() []*MediaUserListResp_Info {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+func (x *MediaUserListResp) GetCount() int64 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+type UpdateMediaAccountReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlatformID PlatformIDENUM `protobuf:"varint,1,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"`
+ PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"`
+ PlatformUserID string `protobuf:"bytes,3,opt,name=platformUserID,proto3" json:"platformUserID"`
+ ArtistUuid string `protobuf:"bytes,4,opt,name=artistUuid,proto3" json:"artistUuid"`
+ ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"`
+ ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"`
+ MediaAccountUuid string `protobuf:"bytes,7,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
+ ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"`
+ ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"`
+}
+
+func (x *UpdateMediaAccountReq) Reset() {
+ *x = UpdateMediaAccountReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateMediaAccountReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateMediaAccountReq) ProtoMessage() {}
+
+func (x *UpdateMediaAccountReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateMediaAccountReq.ProtoReflect.Descriptor instead.
+func (*UpdateMediaAccountReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *UpdateMediaAccountReq) GetPlatformID() PlatformIDENUM {
+ if x != nil {
+ return x.PlatformID
+ }
+ return PlatformIDENUM_UNKNOWN
+}
+
+func (x *UpdateMediaAccountReq) GetPlatformUserName() string {
+ if x != nil {
+ return x.PlatformUserName
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetPlatformUserID() string {
+ if x != nil {
+ return x.PlatformUserID
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetArtistUuid() string {
+ if x != nil {
+ return x.ArtistUuid
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetArtistName() string {
+ if x != nil {
+ return x.ArtistName
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetArtistPhone() string {
+ if x != nil {
+ return x.ArtistPhone
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetMediaAccountUuid() string {
+ if x != nil {
+ return x.MediaAccountUuid
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetManagerUuid() string {
+ if x != nil {
+ return x.ManagerUuid
+ }
+ return ""
+}
+
+func (x *UpdateMediaAccountReq) GetManagerUserName() string {
+ if x != nil {
+ return x.ManagerUserName
+ }
+ return ""
+}
+
+type UpdateMediaAccountResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
+}
+
+func (x *UpdateMediaAccountResp) Reset() {
+ *x = UpdateMediaAccountResp{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateMediaAccountResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateMediaAccountResp) ProtoMessage() {}
+
+func (x *UpdateMediaAccountResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[3]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateMediaAccountResp.ProtoReflect.Descriptor instead.
+func (*UpdateMediaAccountResp) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *UpdateMediaAccountResp) GetMediaAccountUuid() string {
+ if x != nil {
+ return x.MediaAccountUuid
+ }
+ return ""
+}
+
+// UnbindManager
+type UnbindManagerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
+}
+
+func (x *UnbindManagerReq) Reset() {
+ *x = UnbindManagerReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UnbindManagerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnbindManagerReq) ProtoMessage() {}
+
+func (x *UnbindManagerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[4]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnbindManagerReq.ProtoReflect.Descriptor instead.
+func (*UnbindManagerReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *UnbindManagerReq) GetMediaAccountUuid() string {
+ if x != nil {
+ return x.MediaAccountUuid
+ }
+ return ""
+}
+
+type BindManagerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
+ ManagerUuid string `protobuf:"bytes,2,opt,name=managerUuid,proto3" json:"managerUuid"`
+ ManagerUserName string `protobuf:"bytes,3,opt,name=managerUserName,proto3" json:"managerUserName"`
+}
+
+func (x *BindManagerReq) Reset() {
+ *x = BindManagerReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *BindManagerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BindManagerReq) ProtoMessage() {}
+
+func (x *BindManagerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[5]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BindManagerReq.ProtoReflect.Descriptor instead.
+func (*BindManagerReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *BindManagerReq) GetMediaAccountUuid() string {
+ if x != nil {
+ return x.MediaAccountUuid
+ }
+ return ""
+}
+
+func (x *BindManagerReq) GetManagerUuid() string {
+ if x != nil {
+ return x.ManagerUuid
+ }
+ return ""
+}
+
+func (x *BindManagerReq) GetManagerUserName() string {
+ if x != nil {
+ return x.ManagerUserName
+ }
+ return ""
+}
+
+// UpdateWorkImage
+type UpdateWorkImageReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
+ Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"`
+ Images []string `protobuf:"bytes,3,rep,name=images,proto3" json:"images"`
+ MediaAccountUuids []string `protobuf:"bytes,4,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"`
+ MediaAccountNames []string `protobuf:"bytes,5,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"`
+ PlatformIDs []uint32 `protobuf:"varint,6,rep,packed,name=platformIDs,proto3" json:"platformIDs"`
+ ForbidComment uint32 `protobuf:"varint,7,opt,name=forbidComment,proto3" json:"forbidComment"`
+ Action string `protobuf:"bytes,8,opt,name=action,proto3" json:"action"`
+ WorkUuid string `protobuf:"bytes,9,opt,name=workUuid,proto3" json:"workUuid"`
+ ArtistUuid string `protobuf:"bytes,10,opt,name=artistUuid,proto3" json:"artistUuid"`
+ ArtistPhone string `protobuf:"bytes,11,opt,name=artistPhone,proto3" json:"artistPhone"`
+}
+
+func (x *UpdateWorkImageReq) Reset() {
+ *x = UpdateWorkImageReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateWorkImageReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateWorkImageReq) ProtoMessage() {}
+
+func (x *UpdateWorkImageReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[6]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateWorkImageReq.ProtoReflect.Descriptor instead.
+func (*UpdateWorkImageReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *UpdateWorkImageReq) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *UpdateWorkImageReq) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *UpdateWorkImageReq) GetImages() []string {
+ if x != nil {
+ return x.Images
+ }
+ return nil
+}
+
+func (x *UpdateWorkImageReq) GetMediaAccountUuids() []string {
+ if x != nil {
+ return x.MediaAccountUuids
+ }
+ return nil
+}
+
+func (x *UpdateWorkImageReq) GetMediaAccountNames() []string {
+ if x != nil {
+ return x.MediaAccountNames
+ }
+ return nil
+}
+
+func (x *UpdateWorkImageReq) GetPlatformIDs() []uint32 {
+ if x != nil {
+ return x.PlatformIDs
+ }
+ return nil
+}
+
+func (x *UpdateWorkImageReq) GetForbidComment() uint32 {
+ if x != nil {
+ return x.ForbidComment
+ }
+ return 0
+}
+
+func (x *UpdateWorkImageReq) GetAction() string {
+ if x != nil {
+ return x.Action
+ }
+ return ""
+}
+
+func (x *UpdateWorkImageReq) GetWorkUuid() string {
+ if x != nil {
+ return x.WorkUuid
+ }
+ return ""
+}
+
+func (x *UpdateWorkImageReq) GetArtistUuid() string {
+ if x != nil {
+ return x.ArtistUuid
+ }
+ return ""
+}
+
+func (x *UpdateWorkImageReq) GetArtistPhone() string {
+ if x != nil {
+ return x.ArtistPhone
+ }
+ return ""
+}
+
+type UpdateWorkImageResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
+}
+
+func (x *UpdateWorkImageResp) Reset() {
+ *x = UpdateWorkImageResp{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateWorkImageResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateWorkImageResp) ProtoMessage() {}
+
+func (x *UpdateWorkImageResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[7]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateWorkImageResp.ProtoReflect.Descriptor instead.
+func (*UpdateWorkImageResp) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *UpdateWorkImageResp) GetWorkUuid() string {
+ if x != nil {
+ return x.WorkUuid
+ }
+ return ""
+}
+
+// UpdateWorkVideo
+type UpdateWorkVideoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
+ Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"`
+ VideoUrl string `protobuf:"bytes,3,opt,name=videoUrl,proto3" json:"videoUrl"`
+ CoverUrl string `protobuf:"bytes,4,opt,name=coverUrl,proto3" json:"coverUrl"`
+ MediaAccountUuids []string `protobuf:"bytes,5,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"`
+ MediaAccountNames []string `protobuf:"bytes,6,rep,name=mediaAccountNames,proto3" json:"mediaAccountNames"`
+ PlatformIDs []uint32 `protobuf:"varint,7,rep,packed,name=platformIDs,proto3" json:"platformIDs"`
+ PublicConfig uint32 `protobuf:"varint,8,opt,name=publicConfig,proto3" json:"publicConfig"`
+ Action string `protobuf:"bytes,9,opt,name=action,proto3" json:"action"`
+ WorkUuid string `protobuf:"bytes,10,opt,name=workUuid,proto3" json:"workUuid"`
+ ArtistUuid string `protobuf:"bytes,11,opt,name=artistUuid,proto3" json:"artistUuid"`
+ ArtistPhone string `protobuf:"bytes,12,opt,name=artistPhone,proto3" json:"artistPhone"`
+}
+
+func (x *UpdateWorkVideoReq) Reset() {
+ *x = UpdateWorkVideoReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateWorkVideoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateWorkVideoReq) ProtoMessage() {}
+
+func (x *UpdateWorkVideoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[8]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateWorkVideoReq.ProtoReflect.Descriptor instead.
+func (*UpdateWorkVideoReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *UpdateWorkVideoReq) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetVideoUrl() string {
+ if x != nil {
+ return x.VideoUrl
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetCoverUrl() string {
+ if x != nil {
+ return x.CoverUrl
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetMediaAccountUuids() []string {
+ if x != nil {
+ return x.MediaAccountUuids
+ }
+ return nil
+}
+
+func (x *UpdateWorkVideoReq) GetMediaAccountNames() []string {
+ if x != nil {
+ return x.MediaAccountNames
+ }
+ return nil
+}
+
+func (x *UpdateWorkVideoReq) GetPlatformIDs() []uint32 {
+ if x != nil {
+ return x.PlatformIDs
+ }
+ return nil
+}
+
+func (x *UpdateWorkVideoReq) GetPublicConfig() uint32 {
+ if x != nil {
+ return x.PublicConfig
+ }
+ return 0
+}
+
+func (x *UpdateWorkVideoReq) GetAction() string {
+ if x != nil {
+ return x.Action
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetWorkUuid() string {
+ if x != nil {
+ return x.WorkUuid
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetArtistUuid() string {
+ if x != nil {
+ return x.ArtistUuid
+ }
+ return ""
+}
+
+func (x *UpdateWorkVideoReq) GetArtistPhone() string {
+ if x != nil {
+ return x.ArtistPhone
+ }
+ return ""
+}
+
+type UpdateWorkVideoResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
+}
+
+func (x *UpdateWorkVideoResp) Reset() {
+ *x = UpdateWorkVideoResp{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *UpdateWorkVideoResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateWorkVideoResp) ProtoMessage() {}
+
+func (x *UpdateWorkVideoResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[9]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateWorkVideoResp.ProtoReflect.Descriptor instead.
+func (*UpdateWorkVideoResp) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *UpdateWorkVideoResp) GetWorkUuid() string {
+ if x != nil {
+ return x.WorkUuid
+ }
+ return ""
+}
+
+type WorkListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"`
+ PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"`
+ Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page"`
+ PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"`
+}
+
+func (x *WorkListReq) Reset() {
+ *x = WorkListReq{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *WorkListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkListReq) ProtoMessage() {}
+
+func (x *WorkListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[10]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkListReq.ProtoReflect.Descriptor instead.
+func (*WorkListReq) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *WorkListReq) GetArtistVal() string {
+ if x != nil {
+ return x.ArtistVal
+ }
+ return ""
+}
+
+func (x *WorkListReq) GetPlatformID() uint32 {
+ if x != nil {
+ return x.PlatformID
+ }
+ return 0
+}
+
+func (x *WorkListReq) GetPage() int32 {
+ if x != nil {
+ return x.Page
+ }
+ return 0
+}
+
+func (x *WorkListReq) GetPageSize() int32 {
+ if x != nil {
+ return x.PageSize
+ }
+ return 0
+}
+
+type WorkListResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
+ Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"`
+}
+
+func (x *WorkListResp) Reset() {
+ *x = WorkListResp{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *WorkListResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkListResp) ProtoMessage() {}
+
+func (x *WorkListResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[11]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkListResp.ProtoReflect.Descriptor instead.
+func (*WorkListResp) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *WorkListResp) GetData() []*WorkListResp_Info {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+func (x *WorkListResp) GetCount() int64 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+type MediaUserListResp_Info struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlatformUserName string `protobuf:"bytes,1,opt,name=platformUserName,proto3" json:"platformUserName"`
+ PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"`
+ ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"`
+ ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"`
+ ManagerUserName string `protobuf:"bytes,5,opt,name=managerUserName,proto3" json:"managerUserName"`
+ ManagerUuid string `protobuf:"bytes,6,opt,name=managerUuid,proto3" json:"managerUuid"`
+ MediaAccountUuid string `protobuf:"bytes,7,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
+}
+
+func (x *MediaUserListResp_Info) Reset() {
+ *x = MediaUserListResp_Info{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *MediaUserListResp_Info) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MediaUserListResp_Info) ProtoMessage() {}
+
+func (x *MediaUserListResp_Info) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[12]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MediaUserListResp_Info.ProtoReflect.Descriptor instead.
+func (*MediaUserListResp_Info) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{1, 0}
+}
+
+func (x *MediaUserListResp_Info) GetPlatformUserName() string {
+ if x != nil {
+ return x.PlatformUserName
+ }
+ return ""
+}
+
+func (x *MediaUserListResp_Info) GetPlatformID() uint32 {
+ if x != nil {
+ return x.PlatformID
+ }
+ return 0
+}
+
+func (x *MediaUserListResp_Info) GetArtistName() string {
+ if x != nil {
+ return x.ArtistName
+ }
+ return ""
+}
+
+func (x *MediaUserListResp_Info) GetArtistPhone() string {
+ if x != nil {
+ return x.ArtistPhone
+ }
+ return ""
+}
+
+func (x *MediaUserListResp_Info) GetManagerUserName() string {
+ if x != nil {
+ return x.ManagerUserName
+ }
+ return ""
+}
+
+func (x *MediaUserListResp_Info) GetManagerUuid() string {
+ if x != nil {
+ return x.ManagerUuid
+ }
+ return ""
+}
+
+func (x *MediaUserListResp_Info) GetMediaAccountUuid() string {
+ if x != nil {
+ return x.MediaAccountUuid
+ }
+ return ""
+}
+
+type WorkListResp_Info struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
+ Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"`
+ Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"`
+ WorkCategory string `protobuf:"bytes,4,opt,name=workCategory,proto3" json:"workCategory"`
+ WorkUrl string `protobuf:"bytes,5,opt,name=workUrl,proto3" json:"workUrl"`
+ WorkCover string `protobuf:"bytes,6,opt,name=workCover,proto3" json:"workCover"`
+ WorkStatus string `protobuf:"bytes,7,opt,name=workStatus,proto3" json:"workStatus"`
+ SubmitTime string `protobuf:"bytes,8,opt,name=submitTime,proto3" json:"submitTime"`
+ StatusUpdateTime string `protobuf:"bytes,9,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"`
+ ArtistName string `protobuf:"bytes,10,opt,name=artistName,proto3" json:"artistName"`
+ ArtistPhone string `protobuf:"bytes,11,opt,name=artistPhone,proto3" json:"artistPhone"`
+}
+
+func (x *WorkListResp_Info) Reset() {
+ *x = WorkListResp_Info{}
+ mi := &file_pb_fiee_cast_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *WorkListResp_Info) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorkListResp_Info) ProtoMessage() {}
+
+func (x *WorkListResp_Info) ProtoReflect() protoreflect.Message {
+ mi := &file_pb_fiee_cast_proto_msgTypes[13]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorkListResp_Info.ProtoReflect.Descriptor instead.
+func (*WorkListResp_Info) Descriptor() ([]byte, []int) {
+ return file_pb_fiee_cast_proto_rawDescGZIP(), []int{11, 0}
+}
+
+func (x *WorkListResp_Info) GetWorkUuid() string {
+ if x != nil {
+ return x.WorkUuid
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetWorkCategory() string {
+ if x != nil {
+ return x.WorkCategory
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetWorkUrl() string {
+ if x != nil {
+ return x.WorkUrl
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetWorkCover() string {
+ if x != nil {
+ return x.WorkCover
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetWorkStatus() string {
+ if x != nil {
+ return x.WorkStatus
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetSubmitTime() string {
+ if x != nil {
+ return x.SubmitTime
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetStatusUpdateTime() string {
+ if x != nil {
+ return x.StatusUpdateTime
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetArtistName() string {
+ if x != nil {
+ return x.ArtistName
+ }
+ return ""
+}
+
+func (x *WorkListResp_Info) GetArtistPhone() string {
+ if x != nil {
+ return x.ArtistPhone
+ }
+ return ""
+}
+
+var File_pb_fiee_cast_proto protoreflect.FileDescriptor
+
+var file_pb_fiee_cast_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x70, 0x62, 0x2f, 0x66, 0x69, 0x65, 0x65, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x43, 0x61, 0x73, 0x74, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63,
+ 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
+ 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xe2, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56,
+ 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
+ 0x56, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x56, 0x61,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x56, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55,
+ 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+ 0x34, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67,
+ 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
+ 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xea, 0x02, 0x0a, 0x11, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55,
+ 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x04, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74,
+ 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x1a, 0x8c, 0x02, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c,
+ 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72,
+ 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61,
+ 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72,
+ 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55,
+ 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75,
+ 0x69, 0x64, 0x22, 0xfb, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64,
+ 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73,
+ 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c,
+ 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26,
+ 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
+ 0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
+ 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
+ 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74,
+ 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55,
+ 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
+ 0x22, 0x44, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x10, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64,
+ 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x6e, 0x64, 0x4d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64,
+ 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x55, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d,
+ 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
+ 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67,
+ 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
+ 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64,
+ 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x2c,
+ 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61,
+ 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x24,
+ 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
+ 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72,
+ 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61,
+ 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0x94, 0x03,
+ 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65,
+ 0x6f, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c,
+ 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64,
+ 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16,
+ 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75,
+ 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75,
+ 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50,
+ 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f,
+ 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x77,
+ 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77,
+ 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0x7b, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4c,
+ 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
+ 0x56, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73,
+ 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
+ 0x72, 0x6d, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65,
+ 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
+ 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb0, 0x03, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c,
+ 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61,
+ 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xdc, 0x02, 0x0a, 0x04, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69,
+ 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a,
+ 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
+ 0x79, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x77,
+ 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72,
+ 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77,
+ 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62,
+ 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
+ 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e,
+ 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73,
+ 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50,
+ 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69,
+ 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x2a, 0x3f, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b,
+ 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x49, 0x4b, 0x54, 0x4f, 0x4b,
+ 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x02, 0x12,
+ 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x53, 0x10, 0x03, 0x32, 0xe8, 0x03, 0x0a, 0x04, 0x43, 0x61, 0x73,
+ 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55,
+ 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73,
+ 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
+ 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x43, 0x61,
+ 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0d, 0x55, 0x6e, 0x62, 0x69,
+ 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74,
+ 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0b, 0x42,
+ 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73,
+ 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x2e,
+ 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49,
+ 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f,
+ 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65,
+ 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57,
+ 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x33,
+ 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73,
+ 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e,
+ 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x3b, 0x63, 0x61,
+ 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_pb_fiee_cast_proto_rawDescOnce sync.Once
+ file_pb_fiee_cast_proto_rawDescData = file_pb_fiee_cast_proto_rawDesc
+)
+
+func file_pb_fiee_cast_proto_rawDescGZIP() []byte {
+ file_pb_fiee_cast_proto_rawDescOnce.Do(func() {
+ file_pb_fiee_cast_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_fiee_cast_proto_rawDescData)
+ })
+ return file_pb_fiee_cast_proto_rawDescData
+}
+
+var file_pb_fiee_cast_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_pb_fiee_cast_proto_goTypes = []any{
+ (PlatformIDENUM)(0), // 0: Cast.PlatformIDENUM
+ (*MediaUserListReq)(nil), // 1: Cast.MediaUserListReq
+ (*MediaUserListResp)(nil), // 2: Cast.MediaUserListResp
+ (*UpdateMediaAccountReq)(nil), // 3: Cast.UpdateMediaAccountReq
+ (*UpdateMediaAccountResp)(nil), // 4: Cast.UpdateMediaAccountResp
+ (*UnbindManagerReq)(nil), // 5: Cast.UnbindManagerReq
+ (*BindManagerReq)(nil), // 6: Cast.BindManagerReq
+ (*UpdateWorkImageReq)(nil), // 7: Cast.UpdateWorkImageReq
+ (*UpdateWorkImageResp)(nil), // 8: Cast.UpdateWorkImageResp
+ (*UpdateWorkVideoReq)(nil), // 9: Cast.UpdateWorkVideoReq
+ (*UpdateWorkVideoResp)(nil), // 10: Cast.UpdateWorkVideoResp
+ (*WorkListReq)(nil), // 11: Cast.WorkListReq
+ (*WorkListResp)(nil), // 12: Cast.WorkListResp
+ (*MediaUserListResp_Info)(nil), // 13: Cast.MediaUserListResp.Info
+ (*WorkListResp_Info)(nil), // 14: Cast.WorkListResp.Info
+ (*emptypb.Empty)(nil), // 15: google.protobuf.Empty
+}
+var file_pb_fiee_cast_proto_depIdxs = []int32{
+ 0, // 0: Cast.MediaUserListReq.platformID:type_name -> Cast.PlatformIDENUM
+ 13, // 1: Cast.MediaUserListResp.data:type_name -> Cast.MediaUserListResp.Info
+ 0, // 2: Cast.UpdateMediaAccountReq.platformID:type_name -> Cast.PlatformIDENUM
+ 14, // 3: Cast.WorkListResp.data:type_name -> Cast.WorkListResp.Info
+ 1, // 4: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq
+ 3, // 5: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq
+ 5, // 6: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq
+ 6, // 7: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq
+ 7, // 8: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq
+ 9, // 9: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq
+ 11, // 10: Cast.Cast.WorkList:input_type -> Cast.WorkListReq
+ 2, // 11: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp
+ 4, // 12: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp
+ 15, // 13: Cast.Cast.UnbindManager:output_type -> google.protobuf.Empty
+ 15, // 14: Cast.Cast.BindManager:output_type -> google.protobuf.Empty
+ 8, // 15: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp
+ 10, // 16: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp
+ 12, // 17: Cast.Cast.WorkList:output_type -> Cast.WorkListResp
+ 11, // [11:18] is the sub-list for method output_type
+ 4, // [4:11] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_pb_fiee_cast_proto_init() }
+func file_pb_fiee_cast_proto_init() {
+ if File_pb_fiee_cast_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_pb_fiee_cast_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 14,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_pb_fiee_cast_proto_goTypes,
+ DependencyIndexes: file_pb_fiee_cast_proto_depIdxs,
+ EnumInfos: file_pb_fiee_cast_proto_enumTypes,
+ MessageInfos: file_pb_fiee_cast_proto_msgTypes,
+ }.Build()
+ File_pb_fiee_cast_proto = out.File
+ file_pb_fiee_cast_proto_rawDesc = nil
+ file_pb_fiee_cast_proto_goTypes = nil
+ file_pb_fiee_cast_proto_depIdxs = nil
+}
diff --git a/api/cast/cast.pb.validate.go b/api/cast/cast.pb.validate.go
new file mode 100644
index 0000000..ba31dd6
--- /dev/null
+++ b/api/cast/cast.pb.validate.go
@@ -0,0 +1,1644 @@
+// Code generated by protoc-gen-validate. DO NOT EDIT.
+// source: pb/fiee/cast.proto
+
+package cast
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "net"
+ "net/mail"
+ "net/url"
+ "regexp"
+ "sort"
+ "strings"
+ "time"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/types/known/anypb"
+)
+
+// ensure the imports are used
+var (
+ _ = bytes.MinRead
+ _ = errors.New("")
+ _ = fmt.Print
+ _ = utf8.UTFMax
+ _ = (*regexp.Regexp)(nil)
+ _ = (*strings.Reader)(nil)
+ _ = net.IPv4len
+ _ = time.Duration(0)
+ _ = (*url.URL)(nil)
+ _ = (*mail.Address)(nil)
+ _ = anypb.Any{}
+ _ = sort.Sort
+)
+
+// Validate checks the field values on MediaUserListReq with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *MediaUserListReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on MediaUserListReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// MediaUserListReqMultiError, or nil if none found.
+func (m *MediaUserListReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *MediaUserListReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for ArtistVal
+
+ // no validation rules for ManagerVal
+
+ // no validation rules for PlatformUserName
+
+ // no validation rules for PlatformID
+
+ // no validation rules for Page
+
+ // no validation rules for PageSize
+
+ if len(errors) > 0 {
+ return MediaUserListReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// MediaUserListReqMultiError is an error wrapping multiple validation errors
+// returned by MediaUserListReq.ValidateAll() if the designated constraints
+// aren't met.
+type MediaUserListReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m MediaUserListReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m MediaUserListReqMultiError) AllErrors() []error { return m }
+
+// MediaUserListReqValidationError is the validation error returned by
+// MediaUserListReq.Validate if the designated constraints aren't met.
+type MediaUserListReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e MediaUserListReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e MediaUserListReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e MediaUserListReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e MediaUserListReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e MediaUserListReqValidationError) ErrorName() string { return "MediaUserListReqValidationError" }
+
+// Error satisfies the builtin error interface
+func (e MediaUserListReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sMediaUserListReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = MediaUserListReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = MediaUserListReqValidationError{}
+
+// Validate checks the field values on MediaUserListResp with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *MediaUserListResp) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on MediaUserListResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// MediaUserListRespMultiError, or nil if none found.
+func (m *MediaUserListResp) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *MediaUserListResp) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetData() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, MediaUserListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, MediaUserListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return MediaUserListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ // no validation rules for Count
+
+ if len(errors) > 0 {
+ return MediaUserListRespMultiError(errors)
+ }
+
+ return nil
+}
+
+// MediaUserListRespMultiError is an error wrapping multiple validation errors
+// returned by MediaUserListResp.ValidateAll() if the designated constraints
+// aren't met.
+type MediaUserListRespMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m MediaUserListRespMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m MediaUserListRespMultiError) AllErrors() []error { return m }
+
+// MediaUserListRespValidationError is the validation error returned by
+// MediaUserListResp.Validate if the designated constraints aren't met.
+type MediaUserListRespValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e MediaUserListRespValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e MediaUserListRespValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e MediaUserListRespValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e MediaUserListRespValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e MediaUserListRespValidationError) ErrorName() string {
+ return "MediaUserListRespValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e MediaUserListRespValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sMediaUserListResp.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = MediaUserListRespValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = MediaUserListRespValidationError{}
+
+// Validate checks the field values on UpdateMediaAccountReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateMediaAccountReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateMediaAccountReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateMediaAccountReqMultiError, or nil if none found.
+func (m *UpdateMediaAccountReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateMediaAccountReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for PlatformID
+
+ // no validation rules for PlatformUserName
+
+ // no validation rules for PlatformUserID
+
+ // no validation rules for ArtistUuid
+
+ // no validation rules for ArtistName
+
+ // no validation rules for ArtistPhone
+
+ // no validation rules for MediaAccountUuid
+
+ // no validation rules for ManagerUuid
+
+ // no validation rules for ManagerUserName
+
+ if len(errors) > 0 {
+ return UpdateMediaAccountReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateMediaAccountReqMultiError is an error wrapping multiple validation
+// errors returned by UpdateMediaAccountReq.ValidateAll() if the designated
+// constraints aren't met.
+type UpdateMediaAccountReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateMediaAccountReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateMediaAccountReqMultiError) AllErrors() []error { return m }
+
+// UpdateMediaAccountReqValidationError is the validation error returned by
+// UpdateMediaAccountReq.Validate if the designated constraints aren't met.
+type UpdateMediaAccountReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateMediaAccountReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateMediaAccountReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateMediaAccountReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateMediaAccountReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateMediaAccountReqValidationError) ErrorName() string {
+ return "UpdateMediaAccountReqValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateMediaAccountReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateMediaAccountReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateMediaAccountReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateMediaAccountReqValidationError{}
+
+// Validate checks the field values on UpdateMediaAccountResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateMediaAccountResp) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateMediaAccountResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateMediaAccountRespMultiError, or nil if none found.
+func (m *UpdateMediaAccountResp) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateMediaAccountResp) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for MediaAccountUuid
+
+ if len(errors) > 0 {
+ return UpdateMediaAccountRespMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateMediaAccountRespMultiError is an error wrapping multiple validation
+// errors returned by UpdateMediaAccountResp.ValidateAll() if the designated
+// constraints aren't met.
+type UpdateMediaAccountRespMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateMediaAccountRespMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateMediaAccountRespMultiError) AllErrors() []error { return m }
+
+// UpdateMediaAccountRespValidationError is the validation error returned by
+// UpdateMediaAccountResp.Validate if the designated constraints aren't met.
+type UpdateMediaAccountRespValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateMediaAccountRespValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateMediaAccountRespValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateMediaAccountRespValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateMediaAccountRespValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateMediaAccountRespValidationError) ErrorName() string {
+ return "UpdateMediaAccountRespValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateMediaAccountRespValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateMediaAccountResp.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateMediaAccountRespValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateMediaAccountRespValidationError{}
+
+// Validate checks the field values on UnbindManagerReq with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *UnbindManagerReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UnbindManagerReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UnbindManagerReqMultiError, or nil if none found.
+func (m *UnbindManagerReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UnbindManagerReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for MediaAccountUuid
+
+ if len(errors) > 0 {
+ return UnbindManagerReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// UnbindManagerReqMultiError is an error wrapping multiple validation errors
+// returned by UnbindManagerReq.ValidateAll() if the designated constraints
+// aren't met.
+type UnbindManagerReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UnbindManagerReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UnbindManagerReqMultiError) AllErrors() []error { return m }
+
+// UnbindManagerReqValidationError is the validation error returned by
+// UnbindManagerReq.Validate if the designated constraints aren't met.
+type UnbindManagerReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UnbindManagerReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UnbindManagerReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UnbindManagerReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UnbindManagerReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UnbindManagerReqValidationError) ErrorName() string { return "UnbindManagerReqValidationError" }
+
+// Error satisfies the builtin error interface
+func (e UnbindManagerReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUnbindManagerReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UnbindManagerReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UnbindManagerReqValidationError{}
+
+// Validate checks the field values on BindManagerReq with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *BindManagerReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on BindManagerReq with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in BindManagerReqMultiError,
+// or nil if none found.
+func (m *BindManagerReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *BindManagerReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for MediaAccountUuid
+
+ // no validation rules for ManagerUuid
+
+ // no validation rules for ManagerUserName
+
+ if len(errors) > 0 {
+ return BindManagerReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// BindManagerReqMultiError is an error wrapping multiple validation errors
+// returned by BindManagerReq.ValidateAll() if the designated constraints
+// aren't met.
+type BindManagerReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m BindManagerReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m BindManagerReqMultiError) AllErrors() []error { return m }
+
+// BindManagerReqValidationError is the validation error returned by
+// BindManagerReq.Validate if the designated constraints aren't met.
+type BindManagerReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e BindManagerReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e BindManagerReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e BindManagerReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e BindManagerReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e BindManagerReqValidationError) ErrorName() string { return "BindManagerReqValidationError" }
+
+// Error satisfies the builtin error interface
+func (e BindManagerReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sBindManagerReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = BindManagerReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = BindManagerReqValidationError{}
+
+// Validate checks the field values on UpdateWorkImageReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateWorkImageReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateWorkImageReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateWorkImageReqMultiError, or nil if none found.
+func (m *UpdateWorkImageReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateWorkImageReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Title
+
+ // no validation rules for Content
+
+ // no validation rules for ForbidComment
+
+ // no validation rules for Action
+
+ // no validation rules for WorkUuid
+
+ // no validation rules for ArtistUuid
+
+ // no validation rules for ArtistPhone
+
+ if len(errors) > 0 {
+ return UpdateWorkImageReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateWorkImageReqMultiError is an error wrapping multiple validation errors
+// returned by UpdateWorkImageReq.ValidateAll() if the designated constraints
+// aren't met.
+type UpdateWorkImageReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateWorkImageReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateWorkImageReqMultiError) AllErrors() []error { return m }
+
+// UpdateWorkImageReqValidationError is the validation error returned by
+// UpdateWorkImageReq.Validate if the designated constraints aren't met.
+type UpdateWorkImageReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateWorkImageReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateWorkImageReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateWorkImageReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateWorkImageReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateWorkImageReqValidationError) ErrorName() string {
+ return "UpdateWorkImageReqValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateWorkImageReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateWorkImageReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateWorkImageReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateWorkImageReqValidationError{}
+
+// Validate checks the field values on UpdateWorkImageResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateWorkImageResp) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateWorkImageResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateWorkImageRespMultiError, or nil if none found.
+func (m *UpdateWorkImageResp) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateWorkImageResp) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for WorkUuid
+
+ if len(errors) > 0 {
+ return UpdateWorkImageRespMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateWorkImageRespMultiError is an error wrapping multiple validation
+// errors returned by UpdateWorkImageResp.ValidateAll() if the designated
+// constraints aren't met.
+type UpdateWorkImageRespMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateWorkImageRespMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateWorkImageRespMultiError) AllErrors() []error { return m }
+
+// UpdateWorkImageRespValidationError is the validation error returned by
+// UpdateWorkImageResp.Validate if the designated constraints aren't met.
+type UpdateWorkImageRespValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateWorkImageRespValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateWorkImageRespValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateWorkImageRespValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateWorkImageRespValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateWorkImageRespValidationError) ErrorName() string {
+ return "UpdateWorkImageRespValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateWorkImageRespValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateWorkImageResp.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateWorkImageRespValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateWorkImageRespValidationError{}
+
+// Validate checks the field values on UpdateWorkVideoReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateWorkVideoReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateWorkVideoReq with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateWorkVideoReqMultiError, or nil if none found.
+func (m *UpdateWorkVideoReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateWorkVideoReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Title
+
+ // no validation rules for Content
+
+ // no validation rules for VideoUrl
+
+ // no validation rules for CoverUrl
+
+ // no validation rules for PublicConfig
+
+ // no validation rules for Action
+
+ // no validation rules for WorkUuid
+
+ // no validation rules for ArtistUuid
+
+ // no validation rules for ArtistPhone
+
+ if len(errors) > 0 {
+ return UpdateWorkVideoReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateWorkVideoReqMultiError is an error wrapping multiple validation errors
+// returned by UpdateWorkVideoReq.ValidateAll() if the designated constraints
+// aren't met.
+type UpdateWorkVideoReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateWorkVideoReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateWorkVideoReqMultiError) AllErrors() []error { return m }
+
+// UpdateWorkVideoReqValidationError is the validation error returned by
+// UpdateWorkVideoReq.Validate if the designated constraints aren't met.
+type UpdateWorkVideoReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateWorkVideoReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateWorkVideoReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateWorkVideoReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateWorkVideoReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateWorkVideoReqValidationError) ErrorName() string {
+ return "UpdateWorkVideoReqValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateWorkVideoReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateWorkVideoReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateWorkVideoReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateWorkVideoReqValidationError{}
+
+// Validate checks the field values on UpdateWorkVideoResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *UpdateWorkVideoResp) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on UpdateWorkVideoResp with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// UpdateWorkVideoRespMultiError, or nil if none found.
+func (m *UpdateWorkVideoResp) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *UpdateWorkVideoResp) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for WorkUuid
+
+ if len(errors) > 0 {
+ return UpdateWorkVideoRespMultiError(errors)
+ }
+
+ return nil
+}
+
+// UpdateWorkVideoRespMultiError is an error wrapping multiple validation
+// errors returned by UpdateWorkVideoResp.ValidateAll() if the designated
+// constraints aren't met.
+type UpdateWorkVideoRespMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m UpdateWorkVideoRespMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m UpdateWorkVideoRespMultiError) AllErrors() []error { return m }
+
+// UpdateWorkVideoRespValidationError is the validation error returned by
+// UpdateWorkVideoResp.Validate if the designated constraints aren't met.
+type UpdateWorkVideoRespValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e UpdateWorkVideoRespValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e UpdateWorkVideoRespValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e UpdateWorkVideoRespValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e UpdateWorkVideoRespValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e UpdateWorkVideoRespValidationError) ErrorName() string {
+ return "UpdateWorkVideoRespValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e UpdateWorkVideoRespValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sUpdateWorkVideoResp.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = UpdateWorkVideoRespValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = UpdateWorkVideoRespValidationError{}
+
+// Validate checks the field values on WorkListReq with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *WorkListReq) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on WorkListReq with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in WorkListReqMultiError, or
+// nil if none found.
+func (m *WorkListReq) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *WorkListReq) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for ArtistVal
+
+ // no validation rules for PlatformID
+
+ // no validation rules for Page
+
+ // no validation rules for PageSize
+
+ if len(errors) > 0 {
+ return WorkListReqMultiError(errors)
+ }
+
+ return nil
+}
+
+// WorkListReqMultiError is an error wrapping multiple validation errors
+// returned by WorkListReq.ValidateAll() if the designated constraints aren't met.
+type WorkListReqMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m WorkListReqMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m WorkListReqMultiError) AllErrors() []error { return m }
+
+// WorkListReqValidationError is the validation error returned by
+// WorkListReq.Validate if the designated constraints aren't met.
+type WorkListReqValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e WorkListReqValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e WorkListReqValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e WorkListReqValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e WorkListReqValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e WorkListReqValidationError) ErrorName() string { return "WorkListReqValidationError" }
+
+// Error satisfies the builtin error interface
+func (e WorkListReqValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sWorkListReq.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = WorkListReqValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = WorkListReqValidationError{}
+
+// Validate checks the field values on WorkListResp with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *WorkListResp) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on WorkListResp with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in WorkListRespMultiError, or
+// nil if none found.
+func (m *WorkListResp) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *WorkListResp) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetData() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, WorkListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, WorkListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return WorkListRespValidationError{
+ field: fmt.Sprintf("Data[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ // no validation rules for Count
+
+ if len(errors) > 0 {
+ return WorkListRespMultiError(errors)
+ }
+
+ return nil
+}
+
+// WorkListRespMultiError is an error wrapping multiple validation errors
+// returned by WorkListResp.ValidateAll() if the designated constraints aren't met.
+type WorkListRespMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m WorkListRespMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m WorkListRespMultiError) AllErrors() []error { return m }
+
+// WorkListRespValidationError is the validation error returned by
+// WorkListResp.Validate if the designated constraints aren't met.
+type WorkListRespValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e WorkListRespValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e WorkListRespValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e WorkListRespValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e WorkListRespValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e WorkListRespValidationError) ErrorName() string { return "WorkListRespValidationError" }
+
+// Error satisfies the builtin error interface
+func (e WorkListRespValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sWorkListResp.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = WorkListRespValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = WorkListRespValidationError{}
+
+// Validate checks the field values on MediaUserListResp_Info with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *MediaUserListResp_Info) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on MediaUserListResp_Info with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// MediaUserListResp_InfoMultiError, or nil if none found.
+func (m *MediaUserListResp_Info) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *MediaUserListResp_Info) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for PlatformUserName
+
+ // no validation rules for PlatformID
+
+ // no validation rules for ArtistName
+
+ // no validation rules for ArtistPhone
+
+ // no validation rules for ManagerUserName
+
+ // no validation rules for ManagerUuid
+
+ // no validation rules for MediaAccountUuid
+
+ if len(errors) > 0 {
+ return MediaUserListResp_InfoMultiError(errors)
+ }
+
+ return nil
+}
+
+// MediaUserListResp_InfoMultiError is an error wrapping multiple validation
+// errors returned by MediaUserListResp_Info.ValidateAll() if the designated
+// constraints aren't met.
+type MediaUserListResp_InfoMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m MediaUserListResp_InfoMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m MediaUserListResp_InfoMultiError) AllErrors() []error { return m }
+
+// MediaUserListResp_InfoValidationError is the validation error returned by
+// MediaUserListResp_Info.Validate if the designated constraints aren't met.
+type MediaUserListResp_InfoValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e MediaUserListResp_InfoValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e MediaUserListResp_InfoValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e MediaUserListResp_InfoValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e MediaUserListResp_InfoValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e MediaUserListResp_InfoValidationError) ErrorName() string {
+ return "MediaUserListResp_InfoValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e MediaUserListResp_InfoValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sMediaUserListResp_Info.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = MediaUserListResp_InfoValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = MediaUserListResp_InfoValidationError{}
+
+// Validate checks the field values on WorkListResp_Info with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *WorkListResp_Info) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on WorkListResp_Info with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// WorkListResp_InfoMultiError, or nil if none found.
+func (m *WorkListResp_Info) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *WorkListResp_Info) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for WorkUuid
+
+ // no validation rules for Title
+
+ // no validation rules for Content
+
+ // no validation rules for WorkCategory
+
+ // no validation rules for WorkUrl
+
+ // no validation rules for WorkCover
+
+ // no validation rules for WorkStatus
+
+ // no validation rules for SubmitTime
+
+ // no validation rules for StatusUpdateTime
+
+ // no validation rules for ArtistName
+
+ // no validation rules for ArtistPhone
+
+ if len(errors) > 0 {
+ return WorkListResp_InfoMultiError(errors)
+ }
+
+ return nil
+}
+
+// WorkListResp_InfoMultiError is an error wrapping multiple validation errors
+// returned by WorkListResp_Info.ValidateAll() if the designated constraints
+// aren't met.
+type WorkListResp_InfoMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m WorkListResp_InfoMultiError) Error() string {
+ var msgs []string
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m WorkListResp_InfoMultiError) AllErrors() []error { return m }
+
+// WorkListResp_InfoValidationError is the validation error returned by
+// WorkListResp_Info.Validate if the designated constraints aren't met.
+type WorkListResp_InfoValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e WorkListResp_InfoValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e WorkListResp_InfoValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e WorkListResp_InfoValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e WorkListResp_InfoValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e WorkListResp_InfoValidationError) ErrorName() string {
+ return "WorkListResp_InfoValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e WorkListResp_InfoValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sWorkListResp_Info.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = WorkListResp_InfoValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = WorkListResp_InfoValidationError{}
diff --git a/api/cast/cast_triple.pb.go b/api/cast/cast_triple.pb.go
new file mode 100644
index 0000000..b1fecb4
--- /dev/null
+++ b/api/cast/cast_triple.pb.go
@@ -0,0 +1,418 @@
+// Code generated by protoc-gen-go-triple. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-triple v1.0.8
+// - protoc v3.21.1
+// source: pb/fiee/cast.proto
+
+package cast
+
+import (
+ context "context"
+ protocol "dubbo.apache.org/dubbo-go/v3/protocol"
+ dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+ invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
+ grpc_go "github.com/dubbogo/grpc-go"
+ codes "github.com/dubbogo/grpc-go/codes"
+ metadata "github.com/dubbogo/grpc-go/metadata"
+ status "github.com/dubbogo/grpc-go/status"
+ common "github.com/dubbogo/triple/pkg/common"
+ constant "github.com/dubbogo/triple/pkg/common/constant"
+ triple "github.com/dubbogo/triple/pkg/triple"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc_go.SupportPackageIsVersion7
+
+// CastClient is the client API for Cast service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type CastClient interface {
+ MediaUserList(ctx context.Context, in *MediaUserListReq, opts ...grpc_go.CallOption) (*MediaUserListResp, common.ErrorWithAttachment)
+ UpdateMediaAccount(ctx context.Context, in *UpdateMediaAccountReq, opts ...grpc_go.CallOption) (*UpdateMediaAccountResp, common.ErrorWithAttachment)
+ UnbindManager(ctx context.Context, in *UnbindManagerReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment)
+ BindManager(ctx context.Context, in *BindManagerReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment)
+ UpdateWorkImage(ctx context.Context, in *UpdateWorkImageReq, opts ...grpc_go.CallOption) (*UpdateWorkImageResp, common.ErrorWithAttachment)
+ UpdateWorkVideo(ctx context.Context, in *UpdateWorkVideoReq, opts ...grpc_go.CallOption) (*UpdateWorkVideoResp, common.ErrorWithAttachment)
+ WorkList(ctx context.Context, in *WorkListReq, opts ...grpc_go.CallOption) (*WorkListResp, common.ErrorWithAttachment)
+}
+
+type castClient struct {
+ cc *triple.TripleConn
+}
+
+type CastClientImpl struct {
+ MediaUserList func(ctx context.Context, in *MediaUserListReq) (*MediaUserListResp, error)
+ UpdateMediaAccount func(ctx context.Context, in *UpdateMediaAccountReq) (*UpdateMediaAccountResp, error)
+ UnbindManager func(ctx context.Context, in *UnbindManagerReq) (*emptypb.Empty, error)
+ BindManager func(ctx context.Context, in *BindManagerReq) (*emptypb.Empty, error)
+ UpdateWorkImage func(ctx context.Context, in *UpdateWorkImageReq) (*UpdateWorkImageResp, error)
+ UpdateWorkVideo func(ctx context.Context, in *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error)
+ WorkList func(ctx context.Context, in *WorkListReq) (*WorkListResp, error)
+}
+
+func (c *CastClientImpl) GetDubboStub(cc *triple.TripleConn) CastClient {
+ return NewCastClient(cc)
+}
+
+func (c *CastClientImpl) XXX_InterfaceName() string {
+ return "Cast.Cast"
+}
+
+func NewCastClient(cc *triple.TripleConn) CastClient {
+ return &castClient{cc}
+}
+
+func (c *castClient) MediaUserList(ctx context.Context, in *MediaUserListReq, opts ...grpc_go.CallOption) (*MediaUserListResp, common.ErrorWithAttachment) {
+ out := new(MediaUserListResp)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MediaUserList", in, out)
+}
+
+func (c *castClient) UpdateMediaAccount(ctx context.Context, in *UpdateMediaAccountReq, opts ...grpc_go.CallOption) (*UpdateMediaAccountResp, common.ErrorWithAttachment) {
+ out := new(UpdateMediaAccountResp)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateMediaAccount", in, out)
+}
+
+func (c *castClient) UnbindManager(ctx context.Context, in *UnbindManagerReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) {
+ out := new(emptypb.Empty)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UnbindManager", in, out)
+}
+
+func (c *castClient) BindManager(ctx context.Context, in *BindManagerReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) {
+ out := new(emptypb.Empty)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BindManager", in, out)
+}
+
+func (c *castClient) UpdateWorkImage(ctx context.Context, in *UpdateWorkImageReq, opts ...grpc_go.CallOption) (*UpdateWorkImageResp, common.ErrorWithAttachment) {
+ out := new(UpdateWorkImageResp)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateWorkImage", in, out)
+}
+
+func (c *castClient) UpdateWorkVideo(ctx context.Context, in *UpdateWorkVideoReq, opts ...grpc_go.CallOption) (*UpdateWorkVideoResp, common.ErrorWithAttachment) {
+ out := new(UpdateWorkVideoResp)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateWorkVideo", in, out)
+}
+
+func (c *castClient) WorkList(ctx context.Context, in *WorkListReq, opts ...grpc_go.CallOption) (*WorkListResp, common.ErrorWithAttachment) {
+ out := new(WorkListResp)
+ interfaceKey := ctx.Value(constant.InterfaceKey).(string)
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WorkList", in, out)
+}
+
+// CastServer is the server API for Cast service.
+// All implementations must embed UnimplementedCastServer
+// for forward compatibility
+type CastServer interface {
+ MediaUserList(context.Context, *MediaUserListReq) (*MediaUserListResp, error)
+ UpdateMediaAccount(context.Context, *UpdateMediaAccountReq) (*UpdateMediaAccountResp, error)
+ UnbindManager(context.Context, *UnbindManagerReq) (*emptypb.Empty, error)
+ BindManager(context.Context, *BindManagerReq) (*emptypb.Empty, error)
+ UpdateWorkImage(context.Context, *UpdateWorkImageReq) (*UpdateWorkImageResp, error)
+ UpdateWorkVideo(context.Context, *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error)
+ WorkList(context.Context, *WorkListReq) (*WorkListResp, error)
+ mustEmbedUnimplementedCastServer()
+}
+
+// UnimplementedCastServer must be embedded to have forward compatible implementations.
+type UnimplementedCastServer struct {
+ proxyImpl protocol.Invoker
+}
+
+func (UnimplementedCastServer) MediaUserList(context.Context, *MediaUserListReq) (*MediaUserListResp, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method MediaUserList not implemented")
+}
+func (UnimplementedCastServer) UpdateMediaAccount(context.Context, *UpdateMediaAccountReq) (*UpdateMediaAccountResp, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateMediaAccount not implemented")
+}
+func (UnimplementedCastServer) UnbindManager(context.Context, *UnbindManagerReq) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UnbindManager not implemented")
+}
+func (UnimplementedCastServer) BindManager(context.Context, *BindManagerReq) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method BindManager not implemented")
+}
+func (UnimplementedCastServer) UpdateWorkImage(context.Context, *UpdateWorkImageReq) (*UpdateWorkImageResp, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkImage not implemented")
+}
+func (UnimplementedCastServer) UpdateWorkVideo(context.Context, *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkVideo not implemented")
+}
+func (UnimplementedCastServer) WorkList(context.Context, *WorkListReq) (*WorkListResp, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method WorkList not implemented")
+}
+func (s *UnimplementedCastServer) XXX_SetProxyImpl(impl protocol.Invoker) {
+ s.proxyImpl = impl
+}
+
+func (s *UnimplementedCastServer) XXX_GetProxyImpl() protocol.Invoker {
+ return s.proxyImpl
+}
+
+func (s *UnimplementedCastServer) XXX_ServiceDesc() *grpc_go.ServiceDesc {
+ return &Cast_ServiceDesc
+}
+func (s *UnimplementedCastServer) XXX_InterfaceName() string {
+ return "Cast.Cast"
+}
+
+func (UnimplementedCastServer) mustEmbedUnimplementedCastServer() {}
+
+// UnsafeCastServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to CastServer will
+// result in compilation errors.
+type UnsafeCastServer interface {
+ mustEmbedUnimplementedCastServer()
+}
+
+func RegisterCastServer(s grpc_go.ServiceRegistrar, srv CastServer) {
+ s.RegisterService(&Cast_ServiceDesc, srv)
+}
+
+func _Cast_MediaUserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(MediaUserListReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("MediaUserList", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_UpdateMediaAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateMediaAccountReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("UpdateMediaAccount", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_UnbindManager_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UnbindManagerReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("UnbindManager", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_BindManager_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(BindManagerReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("BindManager", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_UpdateWorkImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateWorkImageReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("UpdateWorkImage", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_UpdateWorkVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateWorkVideoReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("UpdateWorkVideo", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Cast_WorkList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
+ in := new(WorkListReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dubbo3.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ md, _ := metadata.FromIncomingContext(ctx)
+ invAttachment := make(map[string]interface{}, len(md))
+ for k, v := range md {
+ invAttachment[k] = v
+ }
+ invo := invocation.NewRPCInvocation("WorkList", args, invAttachment)
+ if interceptor == nil {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ info := &grpc_go.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
+ return result, result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// Cast_ServiceDesc is the grpc_go.ServiceDesc for Cast service.
+// It's only intended for direct use with grpc_go.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var Cast_ServiceDesc = grpc_go.ServiceDesc{
+ ServiceName: "Cast.Cast",
+ HandlerType: (*CastServer)(nil),
+ Methods: []grpc_go.MethodDesc{
+ {
+ MethodName: "MediaUserList",
+ Handler: _Cast_MediaUserList_Handler,
+ },
+ {
+ MethodName: "UpdateMediaAccount",
+ Handler: _Cast_UpdateMediaAccount_Handler,
+ },
+ {
+ MethodName: "UnbindManager",
+ Handler: _Cast_UnbindManager_Handler,
+ },
+ {
+ MethodName: "BindManager",
+ Handler: _Cast_BindManager_Handler,
+ },
+ {
+ MethodName: "UpdateWorkImage",
+ Handler: _Cast_UpdateWorkImage_Handler,
+ },
+ {
+ MethodName: "UpdateWorkVideo",
+ Handler: _Cast_UpdateWorkVideo_Handler,
+ },
+ {
+ MethodName: "WorkList",
+ Handler: _Cast_WorkList_Handler,
+ },
+ },
+ Streams: []grpc_go.StreamDesc{},
+ Metadata: "pb/fiee/cast.proto",
+}
diff --git a/cmd/config/config.go b/cmd/config/config.go
index f02dec1..11d4629 100644
--- a/cmd/config/config.go
+++ b/cmd/config/config.go
@@ -109,6 +109,7 @@ type Redis struct {
type System struct {
Mode string
+ AppMode string
Version string
HttpPort string
Host string
diff --git a/conf/.gitignore b/conf/.gitignore
new file mode 100644
index 0000000..1dd36b4
--- /dev/null
+++ b/conf/.gitignore
@@ -0,0 +1,2 @@
+conf.ini
+dubbogo.yaml
\ No newline at end of file
diff --git a/conf/conf.ini b/conf/conf.ini
deleted file mode 100644
index 6992f1b..0000000
--- a/conf/conf.ini
+++ /dev/null
@@ -1,36 +0,0 @@
-[system]
-Domain = "fiee"
-AppMode = "debug"
-HttpPort = ":8085"
-Host = "http://127.0.0.1:8085"
-RedirectUri = "/api/redirect/url"
-
-[bos]
-Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe"
-Sk = "d2ecaa9d75114d3b9f42b99014198306"
-BucketName = "dci-file-new"
-BosUrl = ".bj.bcebos.com"
-BosBaseDir = "fonchain-main"
-BosHttp = "https://"
-BosDomain = "cdns.fontree.cn"
-[oss]
-AccessKeyId = "LTAI5tLz1fSK53FQAEC9uNSb"
-AccessKeySecret = "oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
-Endpoint = "oss-cn-hangzhou.aliyuncs.com"
-BucketName = "fontree-test"
-BaseDir = "fonchain-main"
-CdnHost = "https://cdn-test.szjixun.cn"
-[redis]
-RedisDB = "2"
-RedisAddr = "127.0.0.1:6379"
-RedisPW = ""
-RedisDBNAme = "2"
-
-
-[ai]
-Host = "https://erpapi.fontree.cn"
-TelNum = "18021272627"
-Password = "Gy.123456"
-
-[service]
-IsHTTPS = false
\ No newline at end of file
diff --git a/conf/dubbogo.yaml b/conf/dubbogo.yaml
deleted file mode 100644
index 02a4946..0000000
--- a/conf/dubbogo.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-dubbo:
- registries:
- demoZK:
- protocol: zookeeper
- timeout: 5s
- address: 127.0.0.1:2181
- consumer:
- references:
- AccountClientImpl:
- protocol: tri
- retries: 0
- interface: com.fontree.microservices.common.Account
- filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute
- params:
- .accessKeyId: "Accountksl"
- .secretAccessKey: "BSDY-FDF1-Fontree_account"
-
- AccountFieeClientImpl:
- protocol: tri
- retries: 0
- interface: com.fontree.microservices.common.micro.account.fiee
-# filter: cshutdown,sign,fonDomainFilter,fonValidateFilter
-# params:
-# .accessKeyId: "Accountksl"
-# .secretAccessKey: "BSDY-FDF1-Fontree_account"
- BundleClientImpl:
- protocol: tri
- retries: 0
- interface: com.fontree.microservices.fiee.bundle # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/docs/dev/conf.ini b/docs/dev/conf.ini
index 90addfe..0761869 100644
--- a/docs/dev/conf.ini
+++ b/docs/dev/conf.ini
@@ -1,6 +1,6 @@
[system]
Domain = "artistinfo"
-AppMode = "debug"
+AppMode = "dev"
HttpPort = ":8085"
Host = "https://common.szjixun.cn"
RedirectUri = "/api/redirect/url"
diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml
index 2c63f90..978d877 100644
--- a/docs/dev/dubbogo.yaml
+++ b/docs/dev/dubbogo.yaml
@@ -4,8 +4,8 @@ dubbo:
protocol: zookeeper
timeout: 3s
# address: 121.229.45.214:9004
- address: 172.16.100.93:2181
-# address: 127.0.0.1:2181
+# address: 172.16.100.93:2181
+ address: 127.0.0.1:2181
# address: 114.218.158.24:2181
consumer:
filter: tracing
@@ -42,3 +42,6 @@ dubbo:
params:
.accessKeyId: "Paymentksl"
.secretAccessKey: "BSDY-FDF1-Fontree_payment"
+ CastClientImpl:
+ protocol: tri
+ interface: com.fontree.microservices.fiee.multicast
diff --git a/docs/prod/conf.ini b/docs/prod/conf.ini
index 2c887ae..bd00c95 100644
--- a/docs/prod/conf.ini
+++ b/docs/prod/conf.ini
@@ -1,6 +1,6 @@
[system]
Domain = "artistinfo"
-AppMode = "debug"
+AppMode = "prod"
HttpPort = ":8085"
Host = "https://common.szjixun.cn"
RedirectUri = "/api/redirect/url"
diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml
index d27078e..5441ec0 100644
--- a/docs/prod/dubbogo.yaml
+++ b/docs/prod/dubbogo.yaml
@@ -42,3 +42,6 @@ dubbo:
params:
.accessKeyId: "Paymentksl"
.secretAccessKey: "BSDY-FDF1-Fontree_payment"
+ CastClientImpl:
+ protocol: tri
+ interface: com.fontree.microservices.fiee.multicast
diff --git a/docs/test/conf.ini b/docs/test/conf.ini
index eff0c7d..b6d7bc9 100644
--- a/docs/test/conf.ini
+++ b/docs/test/conf.ini
@@ -1,6 +1,6 @@
[system]
Domain = "artistinfo"
-AppMode = "debug"
+AppMode = "test"
HttpPort = ":8085"
Host = "https://common.szjixun.cn"
RedirectUri = "/api/redirect/url"
@@ -8,18 +8,29 @@ RedirectUri = "/api/redirect/url"
[bos]
Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe"
Sk = "d2ecaa9d75114d3b9f42b99014198306"
-BucketName = "dci-file-new"
+BucketName = "dci-file-new"
BosUrl = ".bj.bcebos.com"
-BosBaseDir = "fonchain-main"
+BosBaseDir = "fiee"
BosHttp = "https://"
+BosDomain = "cdns.fontree.cn"
+[oss]
+AccessKeyId = "LTAI5tLz1fSK53FQAEC9uNSb"
+AccessKeySecret = "oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
+Endpoint = "oss-cn-hangzhou.aliyuncs.com"
+BucketName = "fontree-test"
+BaseDir = "fiee"
+CdnHost = "https://cdn-test.szjixun.cn"
[redis]
RedisDB = "2"
-RedisAddr = "redis:6379"
-RedisPW = "root"
+RedisAddr = "172.16.100.114:6379"
+RedisPW = "kP6tW4tS3qB2dW4aE6uI5cX2"
RedisDBNAme = "2"
[ai]
Host = "https://erpapi.fontree.cn"
TelNum = "18021272627"
-Password = "Gy.123456"
\ No newline at end of file
+Password = "Gy.123456"
+
+[stripe]
+Webhookkey = "whsec_uOQpG6IZTqtfLuePIDtfLCGJPqedSCCN"
diff --git a/docs/test/dubbogo.yaml b/docs/test/dubbogo.yaml
index 8d599dc..c859a9e 100644
--- a/docs/test/dubbogo.yaml
+++ b/docs/test/dubbogo.yaml
@@ -4,5 +4,44 @@ dubbo:
protocol: zookeeper
timeout: 3s
# address: 121.229.45.214:9004
- address: 127.0.0.1:2181
- # address: 114.218.158.24:2181
\ No newline at end of file
+ address: 172.16.100.93:2181
+ # address: 127.0.0.1:2181
+ # address: 114.218.158.24:2181
+ consumer:
+ filter: tracing
+ request-timeout: 30s
+ references:
+ OrderClientImpl:
+ protocol: tri
+ retries: 0
+ interface: com.fontree.microservices.common.order # must be compatible with grpc or dubbo-java
+ # filter: cshutdown,sign,fonDomainFilter,fonValidateFilter
+ params:
+ .accessKeyId: "SYD8-order-04"
+ .secretAccessKey: "Al-order-FDF112"
+ BundleClientImpl:
+ protocol: tri
+ retries: 0
+ interface: com.fontree.microservices.fiee.bundle # must be compatible with grpc or dubbo-java
+ AccountClientImpl:
+ protocol: tri
+ retries: 0
+ interface: com.fontree.microservices.common.Account
+ filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute
+ params:
+ .accessKeyId: "Accountksl"
+ .secretAccessKey: "BSDY-FDF1-Fontree_account"
+ AccountFieeClientImpl:
+ protocol: tri
+ retries: 3
+ interface: com.fontree.microservices.common.micro.account.fiee
+ # filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute,pshutdown,auth,fonValidateFilter
+ PaymentCentClientImpl:
+ interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java
+ filter: cshutdown,sign,auth
+ params:
+ .accessKeyId: "Paymentksl"
+ .secretAccessKey: "BSDY-FDF1-Fontree_payment"
+ CastClientImpl:
+ protocol: tri
+ interface: com.fontree.microservices.fiee.multicast
diff --git a/go.mod b/go.mod
index 9f1a0e8..2bc5cf4 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.18
replace (
github.com/fonchain_enterprise/utils/aes => ../utils/aes
github.com/fonchain_enterprise/utils/objstorage => ../utils/objstorage
- //github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage
+//github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage
)
//
@@ -101,6 +101,7 @@ require (
github.com/BurntSushi/toml v1.2.1
github.com/PuerkitoBio/goquery v1.8.1
github.com/disintegration/imaging v1.6.2
+ github.com/envoyproxy/protoc-gen-validate v0.1.0
github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000
github.com/gin-contrib/pprof v1.4.0
github.com/go-redis/redis v6.15.9+incompatible
@@ -131,7 +132,6 @@ require (
github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5 // indirect
github.com/emicklei/go-restful/v3 v3.7.4 // indirect
github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1 // indirect
- github.com/envoyproxy/protoc-gen-validate v0.1.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-co-op/gocron v1.9.0 // indirect
diff --git a/pkg/middleware/logging.go b/pkg/middleware/logging.go
index f58b6db..bfe95a3 100644
--- a/pkg/middleware/logging.go
+++ b/pkg/middleware/logging.go
@@ -2,7 +2,7 @@ package middleware
import (
"bytes"
- "io/ioutil"
+ "io"
"log"
"net"
"net/http"
@@ -24,11 +24,14 @@ func NewLogger() gin.HandlerFunc {
latencyTime := endTime.Sub(startTime) // 请求方式
path := c.Request.URL.Path
query := c.Request.URL.RawQuery
- data, _ := ioutil.ReadAll(c.Request.Body)
+ data, _ := io.ReadAll(c.Request.Body)
+ val := c.GetHeader("Accept-Language")
+ if val == "" {
+ c.Request.Header.Set("Accept-Language", "zh-CN")
+ }
log.Printf("[%s] %s %d %s %s %s %s %s %s", path, c.Request.Method, c.Writer.Status(), query,
string(data), c.ClientIP(), c.Request.UserAgent(), c.Errors.ByType(gin.ErrorTypePrivate).String(), latencyTime.String())
-
- c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data))
+ c.Request.Body = io.NopCloser(bytes.NewBuffer(data))
c.Next()
}
}
diff --git a/pkg/router/media.go b/pkg/router/media.go
new file mode 100644
index 0000000..3aa451a
--- /dev/null
+++ b/pkg/router/media.go
@@ -0,0 +1,27 @@
+package router
+
+import (
+ "fonchain-fiee/pkg/middleware"
+ "fonchain-fiee/pkg/service"
+ serviceCast "fonchain-fiee/pkg/service/cast"
+ "github.com/gin-gonic/gin"
+)
+
+func MediaRouter(r *gin.RouterGroup) {
+ //noAuth := r.Group("")
+ auth := r.Group("")
+ auth.Use(middleware.CheckWebLogin(service.AccountProvider))
+ media := auth.Group("media")
+ {
+ media.POST("user-list", serviceCast.MediaUserList)
+ media.POST("unbind-manager", serviceCast.UnbindManager)
+ media.POST("bind-manager", serviceCast.BindManager)
+ media.POST("update-account", serviceCast.UpdateMediaAccount)
+ }
+
+ work := auth.Group("work")
+ {
+ work.POST("update-work-image", serviceCast.UpdateWorkImage)
+ work.POST("update-work-video", serviceCast.UpdateWorkVideo)
+ }
+}
diff --git a/pkg/router/router.go b/pkg/router/router.go
index 6211124..023428b 100644
--- a/pkg/router/router.go
+++ b/pkg/router/router.go
@@ -44,6 +44,7 @@ func NewRouter() *gin.Engine {
BundleRouter(privateGroup)
BundleOrderRouter(privateGroup)
ValueAddBundleRouter(privateGroup)
+ MediaRouter(privateGroup)
{
v1.POST("version", version.Version) //版本号公共
diff --git a/pkg/service/cast/media.go b/pkg/service/cast/media.go
new file mode 100644
index 0000000..eb57569
--- /dev/null
+++ b/pkg/service/cast/media.go
@@ -0,0 +1,118 @@
+package cast
+
+import (
+ "context"
+ "errors"
+ "fonchain-fiee/api/accountFiee"
+ "fonchain-fiee/api/cast"
+ "fonchain-fiee/cmd/config"
+ "fonchain-fiee/pkg/e"
+ "fonchain-fiee/pkg/service"
+ "github.com/gin-gonic/gin"
+ "strconv"
+)
+
+func MediaUserList(ctx *gin.Context) {
+ var req *cast.MediaUserListReq
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if err = req.Validate(); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ resp, err := service.CastProvider.MediaUserList(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, resp)
+ return
+}
+
+func UnbindManager(ctx *gin.Context) {
+ var req *cast.UnbindManagerReq
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if err = req.Validate(); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ _, err = service.CastProvider.UnbindManager(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, nil)
+ return
+}
+
+func BindManager(ctx *gin.Context) {
+ var req *cast.BindManagerReq
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if err = req.Validate(); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ _, err = service.CastProvider.BindManager(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, nil)
+ return
+}
+
+func UpdateMediaAccount(ctx *gin.Context) {
+ var req *cast.UpdateMediaAccountReq
+ var infoResp *accountFiee.UserInfoResponse
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if err = req.Validate(); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ // 查询艺人的信息
+ // 字符串转整型
+ artistID, err := strconv.ParseUint(req.ArtistUuid, 10, 64)
+ if config.AppConfig.System.AppMode != "dev" {
+ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
+ ID: artistID,
+ Domain: "app",
+ })
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ } else {
+ infoResp = &accountFiee.UserInfoResponse{
+ Name: "小波",
+ TelNum: "18288888888",
+ }
+ }
+ req.ArtistName = infoResp.Name
+ req.ArtistPhone = infoResp.TelNum
+ if _, ok := cast.PlatformIDENUM_name[int32(req.PlatformID)]; !ok {
+ service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams)))
+ return
+ }
+ resp, err := service.CastProvider.UpdateMediaAccount(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, resp)
+ return
+}
diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go
new file mode 100644
index 0000000..7f29e26
--- /dev/null
+++ b/pkg/service/cast/work.go
@@ -0,0 +1,79 @@
+package cast
+
+import (
+ "context"
+ "fonchain-fiee/api/accountFiee"
+ "fonchain-fiee/api/cast"
+ "fonchain-fiee/cmd/config"
+ "fonchain-fiee/pkg/service"
+ "github.com/gin-gonic/gin"
+ "strconv"
+)
+
+func UpdateWorkImage(ctx *gin.Context) {
+ var req *cast.UpdateWorkImageReq
+ var infoResp *accountFiee.UserInfoResponse
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if config.AppConfig.System.AppMode != "dev" {
+ artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
+ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
+ ID: artistId,
+ Domain: "app",
+ })
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ } else {
+ infoResp = &accountFiee.UserInfoResponse{
+ Name: "小波",
+ TelNum: "18288888888",
+ }
+ }
+ req.ArtistPhone = infoResp.TelNum
+ resp, err := service.CastProvider.UpdateWorkImage(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, resp)
+ return
+}
+
+func UpdateWorkVideo(ctx *gin.Context) {
+ var req *cast.UpdateWorkVideoReq
+ var infoResp *accountFiee.UserInfoResponse
+ var err error
+ if err = ctx.ShouldBind(&req); err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ if config.AppConfig.System.AppMode != "dev" {
+ artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
+ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
+ ID: artistId,
+ Domain: "app",
+ })
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ } else {
+ infoResp = &accountFiee.UserInfoResponse{
+ Name: "小波",
+ TelNum: "18288888888",
+ }
+ }
+ req.ArtistPhone = infoResp.TelNum
+ resp, err := service.CastProvider.UpdateWorkVideo(ctx, req)
+ if err != nil {
+ service.Error(ctx, err)
+ return
+ }
+ service.Success(ctx, resp)
+ return
+}
diff --git a/pkg/service/init.go b/pkg/service/init.go
index 002bfc8..cd40bab 100644
--- a/pkg/service/init.go
+++ b/pkg/service/init.go
@@ -5,6 +5,7 @@ import (
"fonchain-fiee/api/account"
"fonchain-fiee/api/accountFiee"
"fonchain-fiee/api/bundle"
+ "fonchain-fiee/api/cast"
"fonchain-fiee/api/files"
"fonchain-fiee/api/governance"
"fonchain-fiee/api/order"
@@ -25,6 +26,7 @@ var BundleProvider = new(bundle.BundleClientImpl)
var OrderProvider = new(order.OrderClientImpl)
var FilesProvider = new(files.FileClientImpl)
var PaymentProvider = new(payment.PaymentCentClientImpl)
+var CastProvider = new(cast.CastClientImpl)
var GovernanceProvider = new(governance.GovernanceClientImpl)
var PressReleasesProvider = new(pressreleases.PressReleasesClientImpl)
@@ -34,6 +36,7 @@ func init() {
//config.SetConsumerService(AccountProvider)
//config.SetConsumerService(PaymentProvider)
config.SetConsumerService(AccountFieeProvider)
+ config.SetConsumerService(CastProvider)
config.SetConsumerService(FilesProvider)
config.SetConsumerService(GovernanceProvider)
config.SetConsumerService(PressReleasesProvider)