Compare commits
16 Commits
3319b124df
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5472083d6 | ||
|
|
c56ff16cde | ||
|
|
d32f0f2c77 | ||
|
|
04bfccb868 | ||
|
|
1ce76254e5 | ||
|
|
2733943488 | ||
|
|
e1ca345e38 | ||
|
|
cbc5dd3551 | ||
|
|
ae86764d43 | ||
|
|
5847a6e560 | ||
|
|
28f8834c7b | ||
|
|
d6f8906f22 | ||
|
|
0f12ea6451 | ||
|
|
e5d52ab0ba | ||
|
|
061cc7a928 | ||
| 656f90d11f |
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: admin/admin-account.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: admin/audit.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: admin/rbac.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: chat/chat.proto
|
||||
|
||||
@@ -173,6 +173,15 @@ export interface MarkAsReadResponse {
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
export interface CheckChatMembershipRequest {
|
||||
userId: string;
|
||||
chatId: string;
|
||||
}
|
||||
|
||||
export interface CheckChatMembershipResponse {
|
||||
isMember: boolean;
|
||||
}
|
||||
|
||||
export const CHAT_V1_PACKAGE_NAME = "chat.v1";
|
||||
|
||||
export interface ChatServiceClient {
|
||||
@@ -215,6 +224,11 @@ export interface ChatServiceClient {
|
||||
/** Статусы */
|
||||
|
||||
markAsRead(request: MarkAsReadRequest, metadata?: Metadata): Observable<MarkAsReadResponse>;
|
||||
|
||||
checkChatMembership(
|
||||
request: CheckChatMembershipRequest,
|
||||
metadata?: Metadata,
|
||||
): Observable<CheckChatMembershipResponse>;
|
||||
}
|
||||
|
||||
export interface ChatServiceController {
|
||||
@@ -293,6 +307,11 @@ export interface ChatServiceController {
|
||||
request: MarkAsReadRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<MarkAsReadResponse> | Observable<MarkAsReadResponse> | MarkAsReadResponse;
|
||||
|
||||
checkChatMembership(
|
||||
request: CheckChatMembershipRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<CheckChatMembershipResponse> | Observable<CheckChatMembershipResponse> | CheckChatMembershipResponse;
|
||||
}
|
||||
|
||||
export function ChatServiceControllerMethods() {
|
||||
@@ -310,6 +329,7 @@ export function ChatServiceControllerMethods() {
|
||||
"editMessage",
|
||||
"deleteMessage",
|
||||
"markAsRead",
|
||||
"checkChatMembership",
|
||||
];
|
||||
for (const method of grpcMethods) {
|
||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||
|
||||
@@ -1474,6 +1474,102 @@ func (x *MarkAsReadResponse) GetSuccess() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
type CheckChatMembershipRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
ChatId string `protobuf:"bytes,2,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipRequest) Reset() {
|
||||
*x = CheckChatMembershipRequest{}
|
||||
mi := &file_chat_chat_proto_msgTypes[25]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CheckChatMembershipRequest) ProtoMessage() {}
|
||||
|
||||
func (x *CheckChatMembershipRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_chat_chat_proto_msgTypes[25]
|
||||
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 CheckChatMembershipRequest.ProtoReflect.Descriptor instead.
|
||||
func (*CheckChatMembershipRequest) Descriptor() ([]byte, []int) {
|
||||
return file_chat_chat_proto_rawDescGZIP(), []int{25}
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipRequest) GetUserId() string {
|
||||
if x != nil {
|
||||
return x.UserId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipRequest) GetChatId() string {
|
||||
if x != nil {
|
||||
return x.ChatId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type CheckChatMembershipResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
IsMember bool `protobuf:"varint,1,opt,name=is_member,json=isMember,proto3" json:"is_member,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipResponse) Reset() {
|
||||
*x = CheckChatMembershipResponse{}
|
||||
mi := &file_chat_chat_proto_msgTypes[26]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CheckChatMembershipResponse) ProtoMessage() {}
|
||||
|
||||
func (x *CheckChatMembershipResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_chat_chat_proto_msgTypes[26]
|
||||
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 CheckChatMembershipResponse.ProtoReflect.Descriptor instead.
|
||||
func (*CheckChatMembershipResponse) Descriptor() ([]byte, []int) {
|
||||
return file_chat_chat_proto_rawDescGZIP(), []int{26}
|
||||
}
|
||||
|
||||
func (x *CheckChatMembershipResponse) GetIsMember() bool {
|
||||
if x != nil {
|
||||
return x.IsMember
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_chat_chat_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_chat_chat_proto_rawDesc = "" +
|
||||
@@ -1581,7 +1677,12 @@ const file_chat_chat_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"message_id\x18\x03 \x01(\tR\tmessageId\".\n" +
|
||||
"\x12MarkAsReadResponse\x12\x18\n" +
|
||||
"\asuccess\x18\x01 \x01(\bR\asuccess2\xea\x06\n" +
|
||||
"\asuccess\x18\x01 \x01(\bR\asuccess\"N\n" +
|
||||
"\x1aCheckChatMembershipRequest\x12\x17\n" +
|
||||
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x17\n" +
|
||||
"\achat_id\x18\x02 \x01(\tR\x06chatId\":\n" +
|
||||
"\x1bCheckChatMembershipResponse\x12\x1b\n" +
|
||||
"\tis_member\x18\x01 \x01(\bR\bisMember2\xcc\a\n" +
|
||||
"\vChatService\x12E\n" +
|
||||
"\n" +
|
||||
"CreateChat\x12\x1a.chat.v1.CreateChatRequest\x1a\x1b.chat.v1.CreateChatResponse\x12K\n" +
|
||||
@@ -1596,7 +1697,8 @@ const file_chat_chat_proto_rawDesc = "" +
|
||||
"\vEditMessage\x12\x1b.chat.v1.EditMessageRequest\x1a\x13.chat.v1.MessageDto\x12N\n" +
|
||||
"\rDeleteMessage\x12\x1d.chat.v1.DeleteMessageRequest\x1a\x1e.chat.v1.DeleteMessageResponse\x12E\n" +
|
||||
"\n" +
|
||||
"MarkAsRead\x12\x1a.chat.v1.MarkAsReadRequest\x1a\x1b.chat.v1.MarkAsReadResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3"
|
||||
"MarkAsRead\x12\x1a.chat.v1.MarkAsReadRequest\x1a\x1b.chat.v1.MarkAsReadResponse\x12`\n" +
|
||||
"\x13CheckChatMembership\x12#.chat.v1.CheckChatMembershipRequest\x1a$.chat.v1.CheckChatMembershipResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3"
|
||||
|
||||
var (
|
||||
file_chat_chat_proto_rawDescOnce sync.Once
|
||||
@@ -1610,7 +1712,7 @@ func file_chat_chat_proto_rawDescGZIP() []byte {
|
||||
return file_chat_chat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_chat_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
||||
var file_chat_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
|
||||
var file_chat_chat_proto_goTypes = []any{
|
||||
(*MessageDto)(nil), // 0: chat.v1.MessageDto
|
||||
(*ChatMemberDto)(nil), // 1: chat.v1.ChatMemberDto
|
||||
@@ -1637,6 +1739,8 @@ var file_chat_chat_proto_goTypes = []any{
|
||||
(*DeleteMessageResponse)(nil), // 22: chat.v1.DeleteMessageResponse
|
||||
(*MarkAsReadRequest)(nil), // 23: chat.v1.MarkAsReadRequest
|
||||
(*MarkAsReadResponse)(nil), // 24: chat.v1.MarkAsReadResponse
|
||||
(*CheckChatMembershipRequest)(nil), // 25: chat.v1.CheckChatMembershipRequest
|
||||
(*CheckChatMembershipResponse)(nil), // 26: chat.v1.CheckChatMembershipResponse
|
||||
}
|
||||
var file_chat_chat_proto_depIdxs = []int32{
|
||||
0, // 0: chat.v1.ChatDto.last_message:type_name -> chat.v1.MessageDto
|
||||
@@ -1657,20 +1761,22 @@ var file_chat_chat_proto_depIdxs = []int32{
|
||||
20, // 15: chat.v1.ChatService.EditMessage:input_type -> chat.v1.EditMessageRequest
|
||||
21, // 16: chat.v1.ChatService.DeleteMessage:input_type -> chat.v1.DeleteMessageRequest
|
||||
23, // 17: chat.v1.ChatService.MarkAsRead:input_type -> chat.v1.MarkAsReadRequest
|
||||
4, // 18: chat.v1.ChatService.CreateChat:output_type -> chat.v1.CreateChatResponse
|
||||
6, // 19: chat.v1.ChatService.GetUserChats:output_type -> chat.v1.GetUserChatsResponse
|
||||
8, // 20: chat.v1.ChatService.GetChatDetails:output_type -> chat.v1.GetChatDetailsResponse
|
||||
10, // 21: chat.v1.ChatService.JoinChat:output_type -> chat.v1.JoinChatResponse
|
||||
12, // 22: chat.v1.ChatService.LeaveChat:output_type -> chat.v1.LeaveChatResponse
|
||||
14, // 23: chat.v1.ChatService.RemoveMember:output_type -> chat.v1.RemoveMemberResponse
|
||||
16, // 24: chat.v1.ChatService.MuteChat:output_type -> chat.v1.MuteChatResponse
|
||||
18, // 25: chat.v1.ChatService.GetMessages:output_type -> chat.v1.GetMessagesResponse
|
||||
0, // 26: chat.v1.ChatService.SendMessage:output_type -> chat.v1.MessageDto
|
||||
0, // 27: chat.v1.ChatService.EditMessage:output_type -> chat.v1.MessageDto
|
||||
22, // 28: chat.v1.ChatService.DeleteMessage:output_type -> chat.v1.DeleteMessageResponse
|
||||
24, // 29: chat.v1.ChatService.MarkAsRead:output_type -> chat.v1.MarkAsReadResponse
|
||||
18, // [18:30] is the sub-list for method output_type
|
||||
6, // [6:18] is the sub-list for method input_type
|
||||
25, // 18: chat.v1.ChatService.CheckChatMembership:input_type -> chat.v1.CheckChatMembershipRequest
|
||||
4, // 19: chat.v1.ChatService.CreateChat:output_type -> chat.v1.CreateChatResponse
|
||||
6, // 20: chat.v1.ChatService.GetUserChats:output_type -> chat.v1.GetUserChatsResponse
|
||||
8, // 21: chat.v1.ChatService.GetChatDetails:output_type -> chat.v1.GetChatDetailsResponse
|
||||
10, // 22: chat.v1.ChatService.JoinChat:output_type -> chat.v1.JoinChatResponse
|
||||
12, // 23: chat.v1.ChatService.LeaveChat:output_type -> chat.v1.LeaveChatResponse
|
||||
14, // 24: chat.v1.ChatService.RemoveMember:output_type -> chat.v1.RemoveMemberResponse
|
||||
16, // 25: chat.v1.ChatService.MuteChat:output_type -> chat.v1.MuteChatResponse
|
||||
18, // 26: chat.v1.ChatService.GetMessages:output_type -> chat.v1.GetMessagesResponse
|
||||
0, // 27: chat.v1.ChatService.SendMessage:output_type -> chat.v1.MessageDto
|
||||
0, // 28: chat.v1.ChatService.EditMessage:output_type -> chat.v1.MessageDto
|
||||
22, // 29: chat.v1.ChatService.DeleteMessage:output_type -> chat.v1.DeleteMessageResponse
|
||||
24, // 30: chat.v1.ChatService.MarkAsRead:output_type -> chat.v1.MarkAsReadResponse
|
||||
26, // 31: chat.v1.ChatService.CheckChatMembership:output_type -> chat.v1.CheckChatMembershipResponse
|
||||
19, // [19:32] is the sub-list for method output_type
|
||||
6, // [6:19] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
@@ -1687,7 +1793,7 @@ func file_chat_chat_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_chat_chat_proto_rawDesc), len(file_chat_chat_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 25,
|
||||
NumMessages: 27,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -31,6 +31,7 @@ const (
|
||||
ChatService_EditMessage_FullMethodName = "/chat.v1.ChatService/EditMessage"
|
||||
ChatService_DeleteMessage_FullMethodName = "/chat.v1.ChatService/DeleteMessage"
|
||||
ChatService_MarkAsRead_FullMethodName = "/chat.v1.ChatService/MarkAsRead"
|
||||
ChatService_CheckChatMembership_FullMethodName = "/chat.v1.ChatService/CheckChatMembership"
|
||||
)
|
||||
|
||||
// ChatServiceClient is the client API for ChatService service.
|
||||
@@ -53,6 +54,7 @@ type ChatServiceClient interface {
|
||||
DeleteMessage(ctx context.Context, in *DeleteMessageRequest, opts ...grpc.CallOption) (*DeleteMessageResponse, error)
|
||||
// Статусы
|
||||
MarkAsRead(ctx context.Context, in *MarkAsReadRequest, opts ...grpc.CallOption) (*MarkAsReadResponse, error)
|
||||
CheckChatMembership(ctx context.Context, in *CheckChatMembershipRequest, opts ...grpc.CallOption) (*CheckChatMembershipResponse, error)
|
||||
}
|
||||
|
||||
type chatServiceClient struct {
|
||||
@@ -183,6 +185,16 @@ func (c *chatServiceClient) MarkAsRead(ctx context.Context, in *MarkAsReadReques
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *chatServiceClient) CheckChatMembership(ctx context.Context, in *CheckChatMembershipRequest, opts ...grpc.CallOption) (*CheckChatMembershipResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CheckChatMembershipResponse)
|
||||
err := c.cc.Invoke(ctx, ChatService_CheckChatMembership_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// ChatServiceServer is the server API for ChatService service.
|
||||
// All implementations must embed UnimplementedChatServiceServer
|
||||
// for forward compatibility.
|
||||
@@ -203,6 +215,7 @@ type ChatServiceServer interface {
|
||||
DeleteMessage(context.Context, *DeleteMessageRequest) (*DeleteMessageResponse, error)
|
||||
// Статусы
|
||||
MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error)
|
||||
CheckChatMembership(context.Context, *CheckChatMembershipRequest) (*CheckChatMembershipResponse, error)
|
||||
mustEmbedUnimplementedChatServiceServer()
|
||||
}
|
||||
|
||||
@@ -249,6 +262,9 @@ func (UnimplementedChatServiceServer) DeleteMessage(context.Context, *DeleteMess
|
||||
func (UnimplementedChatServiceServer) MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method MarkAsRead not implemented")
|
||||
}
|
||||
func (UnimplementedChatServiceServer) CheckChatMembership(context.Context, *CheckChatMembershipRequest) (*CheckChatMembershipResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method CheckChatMembership not implemented")
|
||||
}
|
||||
func (UnimplementedChatServiceServer) mustEmbedUnimplementedChatServiceServer() {}
|
||||
func (UnimplementedChatServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
@@ -486,6 +502,24 @@ func _ChatService_MarkAsRead_Handler(srv interface{}, ctx context.Context, dec f
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ChatService_CheckChatMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CheckChatMembershipRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ChatServiceServer).CheckChatMembership(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ChatService_CheckChatMembership_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ChatServiceServer).CheckChatMembership(ctx, req.(*CheckChatMembershipRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// ChatService_ServiceDesc is the grpc.ServiceDesc for ChatService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
@@ -541,6 +575,10 @@ var ChatService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "MarkAsRead",
|
||||
Handler: _ChatService_MarkAsRead_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CheckChatMembership",
|
||||
Handler: _ChatService_CheckChatMembership_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "chat/chat.proto",
|
||||
|
||||
308
gen/go/media/media.pb.go
Normal file
308
gen/go/media/media.pb.go
Normal file
@@ -0,0 +1,308 @@
|
||||
// contracts/proto/media/v1/media.proto
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.11
|
||||
// protoc v4.25.9
|
||||
// source: media/media.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
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 UploadRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
|
||||
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // Сами байты файла
|
||||
Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` // "avatar", "chat", "raw"
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UploadRequest) Reset() {
|
||||
*x = UploadRequest{}
|
||||
mi := &file_media_media_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UploadRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UploadRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_media_media_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 UploadRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UploadRequest) Descriptor() ([]byte, []int) {
|
||||
return file_media_media_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *UploadRequest) GetFileName() string {
|
||||
if x != nil {
|
||||
return x.FileName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UploadRequest) GetData() []byte {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UploadRequest) GetMode() string {
|
||||
if x != nil {
|
||||
return x.Mode
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type UploadResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
|
||||
Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UploadResponse) Reset() {
|
||||
*x = UploadResponse{}
|
||||
mi := &file_media_media_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UploadResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadResponse) ProtoMessage() {}
|
||||
|
||||
func (x *UploadResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_media_media_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 UploadResponse.ProtoReflect.Descriptor instead.
|
||||
func (*UploadResponse) Descriptor() ([]byte, []int) {
|
||||
return file_media_media_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *UploadResponse) GetFileName() string {
|
||||
if x != nil {
|
||||
return x.FileName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UploadResponse) GetSize() int64 {
|
||||
if x != nil {
|
||||
return x.Size
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type GetPresignedUrlRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
|
||||
IsPublic bool `protobuf:"varint,2,opt,name=is_public,json=isPublic,proto3" json:"is_public,omitempty"` // Если true, ссылка живет 24 часа, иначе 2 минуты
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlRequest) Reset() {
|
||||
*x = GetPresignedUrlRequest{}
|
||||
mi := &file_media_media_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetPresignedUrlRequest) ProtoMessage() {}
|
||||
|
||||
func (x *GetPresignedUrlRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_media_media_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 GetPresignedUrlRequest.ProtoReflect.Descriptor instead.
|
||||
func (*GetPresignedUrlRequest) Descriptor() ([]byte, []int) {
|
||||
return file_media_media_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlRequest) GetFileName() string {
|
||||
if x != nil {
|
||||
return x.FileName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlRequest) GetIsPublic() bool {
|
||||
if x != nil {
|
||||
return x.IsPublic
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type GetPresignedUrlResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlResponse) Reset() {
|
||||
*x = GetPresignedUrlResponse{}
|
||||
mi := &file_media_media_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetPresignedUrlResponse) ProtoMessage() {}
|
||||
|
||||
func (x *GetPresignedUrlResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_media_media_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 GetPresignedUrlResponse.ProtoReflect.Descriptor instead.
|
||||
func (*GetPresignedUrlResponse) Descriptor() ([]byte, []int) {
|
||||
return file_media_media_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *GetPresignedUrlResponse) GetUrl() string {
|
||||
if x != nil {
|
||||
return x.Url
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_media_media_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_media_media_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x11media/media.proto\x12\bmedia.v1\"T\n" +
|
||||
"\rUploadRequest\x12\x1b\n" +
|
||||
"\tfile_name\x18\x01 \x01(\tR\bfileName\x12\x12\n" +
|
||||
"\x04data\x18\x02 \x01(\fR\x04data\x12\x12\n" +
|
||||
"\x04mode\x18\x03 \x01(\tR\x04mode\"A\n" +
|
||||
"\x0eUploadResponse\x12\x1b\n" +
|
||||
"\tfile_name\x18\x01 \x01(\tR\bfileName\x12\x12\n" +
|
||||
"\x04size\x18\x02 \x01(\x03R\x04size\"R\n" +
|
||||
"\x16GetPresignedUrlRequest\x12\x1b\n" +
|
||||
"\tfile_name\x18\x01 \x01(\tR\bfileName\x12\x1b\n" +
|
||||
"\tis_public\x18\x02 \x01(\bR\bisPublic\"+\n" +
|
||||
"\x17GetPresignedUrlResponse\x12\x10\n" +
|
||||
"\x03url\x18\x01 \x01(\tR\x03url2\xa3\x01\n" +
|
||||
"\fMediaService\x12;\n" +
|
||||
"\x06Upload\x12\x17.media.v1.UploadRequest\x1a\x18.media.v1.UploadResponse\x12V\n" +
|
||||
"\x0fGetPresignedUrl\x12 .media.v1.GetPresignedUrlRequest\x1a!.media.v1.GetPresignedUrlResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3"
|
||||
|
||||
var (
|
||||
file_media_media_proto_rawDescOnce sync.Once
|
||||
file_media_media_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_media_media_proto_rawDescGZIP() []byte {
|
||||
file_media_media_proto_rawDescOnce.Do(func() {
|
||||
file_media_media_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_media_media_proto_rawDesc), len(file_media_media_proto_rawDesc)))
|
||||
})
|
||||
return file_media_media_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_media_media_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_media_media_proto_goTypes = []any{
|
||||
(*UploadRequest)(nil), // 0: media.v1.UploadRequest
|
||||
(*UploadResponse)(nil), // 1: media.v1.UploadResponse
|
||||
(*GetPresignedUrlRequest)(nil), // 2: media.v1.GetPresignedUrlRequest
|
||||
(*GetPresignedUrlResponse)(nil), // 3: media.v1.GetPresignedUrlResponse
|
||||
}
|
||||
var file_media_media_proto_depIdxs = []int32{
|
||||
0, // 0: media.v1.MediaService.Upload:input_type -> media.v1.UploadRequest
|
||||
2, // 1: media.v1.MediaService.GetPresignedUrl:input_type -> media.v1.GetPresignedUrlRequest
|
||||
1, // 2: media.v1.MediaService.Upload:output_type -> media.v1.UploadResponse
|
||||
3, // 3: media.v1.MediaService.GetPresignedUrl:output_type -> media.v1.GetPresignedUrlResponse
|
||||
2, // [2:4] is the sub-list for method output_type
|
||||
0, // [0:2] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_media_media_proto_init() }
|
||||
func file_media_media_proto_init() {
|
||||
if File_media_media_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_media_media_proto_rawDesc), len(file_media_media_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_media_media_proto_goTypes,
|
||||
DependencyIndexes: file_media_media_proto_depIdxs,
|
||||
MessageInfos: file_media_media_proto_msgTypes,
|
||||
}.Build()
|
||||
File_media_media_proto = out.File
|
||||
file_media_media_proto_goTypes = nil
|
||||
file_media_media_proto_depIdxs = nil
|
||||
}
|
||||
165
gen/go/media/media_grpc.pb.go
Normal file
165
gen/go/media/media_grpc.pb.go
Normal file
@@ -0,0 +1,165 @@
|
||||
// contracts/proto/media/v1/media.proto
|
||||
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.6.1
|
||||
// - protoc v4.25.9
|
||||
// source: media/media.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
MediaService_Upload_FullMethodName = "/media.v1.MediaService/Upload"
|
||||
MediaService_GetPresignedUrl_FullMethodName = "/media.v1.MediaService/GetPresignedUrl"
|
||||
)
|
||||
|
||||
// MediaServiceClient is the client API for MediaService 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 MediaServiceClient interface {
|
||||
// Загрузка файла
|
||||
Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (*UploadResponse, error)
|
||||
// Генерация временной ссылки для скачивания/просмотра
|
||||
GetPresignedUrl(ctx context.Context, in *GetPresignedUrlRequest, opts ...grpc.CallOption) (*GetPresignedUrlResponse, error)
|
||||
}
|
||||
|
||||
type mediaServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewMediaServiceClient(cc grpc.ClientConnInterface) MediaServiceClient {
|
||||
return &mediaServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *mediaServiceClient) Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (*UploadResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(UploadResponse)
|
||||
err := c.cc.Invoke(ctx, MediaService_Upload_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *mediaServiceClient) GetPresignedUrl(ctx context.Context, in *GetPresignedUrlRequest, opts ...grpc.CallOption) (*GetPresignedUrlResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetPresignedUrlResponse)
|
||||
err := c.cc.Invoke(ctx, MediaService_GetPresignedUrl_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// MediaServiceServer is the server API for MediaService service.
|
||||
// All implementations must embed UnimplementedMediaServiceServer
|
||||
// for forward compatibility.
|
||||
type MediaServiceServer interface {
|
||||
// Загрузка файла
|
||||
Upload(context.Context, *UploadRequest) (*UploadResponse, error)
|
||||
// Генерация временной ссылки для скачивания/просмотра
|
||||
GetPresignedUrl(context.Context, *GetPresignedUrlRequest) (*GetPresignedUrlResponse, error)
|
||||
mustEmbedUnimplementedMediaServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedMediaServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedMediaServiceServer struct{}
|
||||
|
||||
func (UnimplementedMediaServiceServer) Upload(context.Context, *UploadRequest) (*UploadResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method Upload not implemented")
|
||||
}
|
||||
func (UnimplementedMediaServiceServer) GetPresignedUrl(context.Context, *GetPresignedUrlRequest) (*GetPresignedUrlResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method GetPresignedUrl not implemented")
|
||||
}
|
||||
func (UnimplementedMediaServiceServer) mustEmbedUnimplementedMediaServiceServer() {}
|
||||
func (UnimplementedMediaServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeMediaServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to MediaServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeMediaServiceServer interface {
|
||||
mustEmbedUnimplementedMediaServiceServer()
|
||||
}
|
||||
|
||||
func RegisterMediaServiceServer(s grpc.ServiceRegistrar, srv MediaServiceServer) {
|
||||
// If the following call panics, it indicates UnimplementedMediaServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&MediaService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _MediaService_Upload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MediaServiceServer).Upload(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: MediaService_Upload_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MediaServiceServer).Upload(ctx, req.(*UploadRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _MediaService_GetPresignedUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetPresignedUrlRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MediaServiceServer).GetPresignedUrl(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: MediaService_GetPresignedUrl_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MediaServiceServer).GetPresignedUrl(ctx, req.(*GetPresignedUrlRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// MediaService_ServiceDesc is the grpc.ServiceDesc for MediaService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var MediaService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "media.v1.MediaService",
|
||||
HandlerType: (*MediaServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "Upload",
|
||||
Handler: _MediaService_Upload_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetPresignedUrl",
|
||||
Handler: _MediaService_GetPresignedUrl_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "media/media.proto",
|
||||
}
|
||||
1102
gen/go/sso/oauth.pb.go
Normal file
1102
gen/go/sso/oauth.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
353
gen/go/sso/oauth_grpc.pb.go
Normal file
353
gen/go/sso/oauth_grpc.pb.go
Normal file
@@ -0,0 +1,353 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.6.1
|
||||
// - protoc v4.25.9
|
||||
// source: sso/oauth.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
OauthService_GenerateOauthCode_FullMethodName = "/oauth.v1.OauthService/GenerateOauthCode"
|
||||
OauthService_ExchangeOauthCode_FullMethodName = "/oauth.v1.OauthService/ExchangeOauthCode"
|
||||
OauthService_CreateOauthClient_FullMethodName = "/oauth.v1.OauthService/CreateOauthClient"
|
||||
OauthService_GetOauthClients_FullMethodName = "/oauth.v1.OauthService/GetOauthClients"
|
||||
OauthService_UpdateOauthClient_FullMethodName = "/oauth.v1.OauthService/UpdateOauthClient"
|
||||
OauthService_ResetOauthSecret_FullMethodName = "/oauth.v1.OauthService/ResetOauthSecret"
|
||||
OauthService_DeleteOauthClient_FullMethodName = "/oauth.v1.OauthService/DeleteOauthClient"
|
||||
)
|
||||
|
||||
// OauthServiceClient is the client API for OauthService 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 OauthServiceClient interface {
|
||||
// === Базовый SSO (вызывается из Gateway / Графаны) ===
|
||||
GenerateOauthCode(ctx context.Context, in *GenerateOauthCodeRequest, opts ...grpc.CallOption) (*GenerateOauthCodeResponse, error)
|
||||
ExchangeOauthCode(ctx context.Context, in *ExchangeOauthCodeRequest, opts ...grpc.CallOption) (*ExchangeOauthCodeResponse, error)
|
||||
// === Системные методы (Консоль Разработчика / Админка) ===
|
||||
CreateOauthClient(ctx context.Context, in *CreateOauthClientRequest, opts ...grpc.CallOption) (*CreateOauthClientResponse, error)
|
||||
GetOauthClients(ctx context.Context, in *GetOauthClientsRequest, opts ...grpc.CallOption) (*GetOauthClientsResponse, error)
|
||||
UpdateOauthClient(ctx context.Context, in *UpdateOauthClientRequest, opts ...grpc.CallOption) (*UpdateOauthClientResponse, error)
|
||||
ResetOauthSecret(ctx context.Context, in *ResetOauthSecretRequest, opts ...grpc.CallOption) (*ResetOauthSecretResponse, error)
|
||||
DeleteOauthClient(ctx context.Context, in *DeleteOauthClientRequest, opts ...grpc.CallOption) (*DeleteOauthClientResponse, error)
|
||||
}
|
||||
|
||||
type oauthServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewOauthServiceClient(cc grpc.ClientConnInterface) OauthServiceClient {
|
||||
return &oauthServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) GenerateOauthCode(ctx context.Context, in *GenerateOauthCodeRequest, opts ...grpc.CallOption) (*GenerateOauthCodeResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GenerateOauthCodeResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_GenerateOauthCode_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) ExchangeOauthCode(ctx context.Context, in *ExchangeOauthCodeRequest, opts ...grpc.CallOption) (*ExchangeOauthCodeResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ExchangeOauthCodeResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_ExchangeOauthCode_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) CreateOauthClient(ctx context.Context, in *CreateOauthClientRequest, opts ...grpc.CallOption) (*CreateOauthClientResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateOauthClientResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_CreateOauthClient_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) GetOauthClients(ctx context.Context, in *GetOauthClientsRequest, opts ...grpc.CallOption) (*GetOauthClientsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetOauthClientsResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_GetOauthClients_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) UpdateOauthClient(ctx context.Context, in *UpdateOauthClientRequest, opts ...grpc.CallOption) (*UpdateOauthClientResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(UpdateOauthClientResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_UpdateOauthClient_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) ResetOauthSecret(ctx context.Context, in *ResetOauthSecretRequest, opts ...grpc.CallOption) (*ResetOauthSecretResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ResetOauthSecretResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_ResetOauthSecret_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oauthServiceClient) DeleteOauthClient(ctx context.Context, in *DeleteOauthClientRequest, opts ...grpc.CallOption) (*DeleteOauthClientResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(DeleteOauthClientResponse)
|
||||
err := c.cc.Invoke(ctx, OauthService_DeleteOauthClient_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// OauthServiceServer is the server API for OauthService service.
|
||||
// All implementations must embed UnimplementedOauthServiceServer
|
||||
// for forward compatibility.
|
||||
type OauthServiceServer interface {
|
||||
// === Базовый SSO (вызывается из Gateway / Графаны) ===
|
||||
GenerateOauthCode(context.Context, *GenerateOauthCodeRequest) (*GenerateOauthCodeResponse, error)
|
||||
ExchangeOauthCode(context.Context, *ExchangeOauthCodeRequest) (*ExchangeOauthCodeResponse, error)
|
||||
// === Системные методы (Консоль Разработчика / Админка) ===
|
||||
CreateOauthClient(context.Context, *CreateOauthClientRequest) (*CreateOauthClientResponse, error)
|
||||
GetOauthClients(context.Context, *GetOauthClientsRequest) (*GetOauthClientsResponse, error)
|
||||
UpdateOauthClient(context.Context, *UpdateOauthClientRequest) (*UpdateOauthClientResponse, error)
|
||||
ResetOauthSecret(context.Context, *ResetOauthSecretRequest) (*ResetOauthSecretResponse, error)
|
||||
DeleteOauthClient(context.Context, *DeleteOauthClientRequest) (*DeleteOauthClientResponse, error)
|
||||
mustEmbedUnimplementedOauthServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedOauthServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedOauthServiceServer struct{}
|
||||
|
||||
func (UnimplementedOauthServiceServer) GenerateOauthCode(context.Context, *GenerateOauthCodeRequest) (*GenerateOauthCodeResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method GenerateOauthCode not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) ExchangeOauthCode(context.Context, *ExchangeOauthCodeRequest) (*ExchangeOauthCodeResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method ExchangeOauthCode not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) CreateOauthClient(context.Context, *CreateOauthClientRequest) (*CreateOauthClientResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method CreateOauthClient not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) GetOauthClients(context.Context, *GetOauthClientsRequest) (*GetOauthClientsResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method GetOauthClients not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) UpdateOauthClient(context.Context, *UpdateOauthClientRequest) (*UpdateOauthClientResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method UpdateOauthClient not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) ResetOauthSecret(context.Context, *ResetOauthSecretRequest) (*ResetOauthSecretResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method ResetOauthSecret not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) DeleteOauthClient(context.Context, *DeleteOauthClientRequest) (*DeleteOauthClientResponse, error) {
|
||||
return nil, status.Error(codes.Unimplemented, "method DeleteOauthClient not implemented")
|
||||
}
|
||||
func (UnimplementedOauthServiceServer) mustEmbedUnimplementedOauthServiceServer() {}
|
||||
func (UnimplementedOauthServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeOauthServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to OauthServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeOauthServiceServer interface {
|
||||
mustEmbedUnimplementedOauthServiceServer()
|
||||
}
|
||||
|
||||
func RegisterOauthServiceServer(s grpc.ServiceRegistrar, srv OauthServiceServer) {
|
||||
// If the following call panics, it indicates UnimplementedOauthServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&OauthService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _OauthService_GenerateOauthCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GenerateOauthCodeRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).GenerateOauthCode(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_GenerateOauthCode_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).GenerateOauthCode(ctx, req.(*GenerateOauthCodeRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_ExchangeOauthCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ExchangeOauthCodeRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).ExchangeOauthCode(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_ExchangeOauthCode_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).ExchangeOauthCode(ctx, req.(*ExchangeOauthCodeRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_CreateOauthClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateOauthClientRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).CreateOauthClient(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_CreateOauthClient_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).CreateOauthClient(ctx, req.(*CreateOauthClientRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_GetOauthClients_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetOauthClientsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).GetOauthClients(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_GetOauthClients_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).GetOauthClients(ctx, req.(*GetOauthClientsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_UpdateOauthClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateOauthClientRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).UpdateOauthClient(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_UpdateOauthClient_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).UpdateOauthClient(ctx, req.(*UpdateOauthClientRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_ResetOauthSecret_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ResetOauthSecretRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).ResetOauthSecret(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_ResetOauthSecret_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).ResetOauthSecret(ctx, req.(*ResetOauthSecretRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OauthService_DeleteOauthClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteOauthClientRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OauthServiceServer).DeleteOauthClient(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: OauthService_DeleteOauthClient_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OauthServiceServer).DeleteOauthClient(ctx, req.(*DeleteOauthClientRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// OauthService_ServiceDesc is the grpc.ServiceDesc for OauthService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var OauthService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "oauth.v1.OauthService",
|
||||
HandlerType: (*OauthServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "GenerateOauthCode",
|
||||
Handler: _OauthService_GenerateOauthCode_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ExchangeOauthCode",
|
||||
Handler: _OauthService_ExchangeOauthCode_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateOauthClient",
|
||||
Handler: _OauthService_CreateOauthClient_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetOauthClients",
|
||||
Handler: _OauthService_GetOauthClients_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateOauthClient",
|
||||
Handler: _OauthService_UpdateOauthClient_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ResetOauthSecret",
|
||||
Handler: _OauthService_ResetOauthSecret_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteOauthClient",
|
||||
Handler: _OauthService_DeleteOauthClient_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "sso/oauth.proto",
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: google/protobuf/struct.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: google/protobuf/timestamp.proto
|
||||
|
||||
|
||||
82
gen/media/media.ts
Normal file
82
gen/media/media.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: media/media.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import type { Metadata } from "@grpc/grpc-js";
|
||||
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
||||
import { Observable } from "rxjs";
|
||||
|
||||
export const protobufPackage = "media.v1";
|
||||
|
||||
/** contracts/proto/media/v1/media.proto */
|
||||
|
||||
export interface UploadRequest {
|
||||
fileName: string;
|
||||
/** Сами байты файла */
|
||||
data: Uint8Array;
|
||||
/** "avatar", "chat", "raw" */
|
||||
mode: string;
|
||||
}
|
||||
|
||||
export interface UploadResponse {
|
||||
fileName: string;
|
||||
size: number;
|
||||
}
|
||||
|
||||
export interface GetPresignedUrlRequest {
|
||||
fileName: string;
|
||||
/** Если true, ссылка живет 24 часа, иначе 2 минуты */
|
||||
isPublic: boolean;
|
||||
}
|
||||
|
||||
export interface GetPresignedUrlResponse {
|
||||
url: string;
|
||||
}
|
||||
|
||||
export const MEDIA_V1_PACKAGE_NAME = "media.v1";
|
||||
|
||||
export interface MediaServiceClient {
|
||||
/** Загрузка файла */
|
||||
|
||||
upload(request: UploadRequest, metadata?: Metadata): Observable<UploadResponse>;
|
||||
|
||||
/** Генерация временной ссылки для скачивания/просмотра */
|
||||
|
||||
getPresignedUrl(request: GetPresignedUrlRequest, metadata?: Metadata): Observable<GetPresignedUrlResponse>;
|
||||
}
|
||||
|
||||
export interface MediaServiceController {
|
||||
/** Загрузка файла */
|
||||
|
||||
upload(
|
||||
request: UploadRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<UploadResponse> | Observable<UploadResponse> | UploadResponse;
|
||||
|
||||
/** Генерация временной ссылки для скачивания/просмотра */
|
||||
|
||||
getPresignedUrl(
|
||||
request: GetPresignedUrlRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<GetPresignedUrlResponse> | Observable<GetPresignedUrlResponse> | GetPresignedUrlResponse;
|
||||
}
|
||||
|
||||
export function MediaServiceControllerMethods() {
|
||||
return function (constructor: Function) {
|
||||
const grpcMethods: string[] = ["upload", "getPresignedUrl"];
|
||||
for (const method of grpcMethods) {
|
||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||
GrpcMethod("MediaService", method)(constructor.prototype[method], method, descriptor);
|
||||
}
|
||||
const grpcStreamMethods: string[] = [];
|
||||
for (const method of grpcStreamMethods) {
|
||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||
GrpcStreamMethod("MediaService", method)(constructor.prototype[method], method, descriptor);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const MEDIA_SERVICE_NAME = "MediaService";
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: notifications/notifications.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: search/search.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: sso/account.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: sso/auth.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: sso/ldap-auth.proto
|
||||
|
||||
|
||||
197
gen/sso/oauth.ts
Normal file
197
gen/sso/oauth.ts
Normal file
@@ -0,0 +1,197 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: sso/oauth.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import type { Metadata } from "@grpc/grpc-js";
|
||||
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
||||
import { Observable } from "rxjs";
|
||||
|
||||
export const protobufPackage = "oauth.v1";
|
||||
|
||||
/** --- Сообщения для базового SSO --- */
|
||||
export interface GenerateOauthCodeRequest {
|
||||
userId: string;
|
||||
clientId: string;
|
||||
redirectUri: string;
|
||||
}
|
||||
|
||||
export interface GenerateOauthCodeResponse {
|
||||
code: string;
|
||||
}
|
||||
|
||||
export interface ExchangeOauthCodeRequest {
|
||||
code: string;
|
||||
clientId: string;
|
||||
clientSecret: string;
|
||||
}
|
||||
|
||||
export interface ExchangeOauthCodeResponse {
|
||||
accessToken: string;
|
||||
expiresIn: number;
|
||||
}
|
||||
|
||||
/** --- Сообщения для управления клиентами --- */
|
||||
export interface CreateOauthClientRequest {
|
||||
ownerId: string;
|
||||
name: string;
|
||||
redirectUris: string[];
|
||||
description?: string | undefined;
|
||||
}
|
||||
|
||||
export interface CreateOauthClientResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
clientId: string;
|
||||
/** Отдается ТОЛЬКО здесь один раз */
|
||||
plainSecret: string;
|
||||
redirectUris: string[];
|
||||
ownerId: string;
|
||||
}
|
||||
|
||||
export interface GetOauthClientsRequest {
|
||||
ownerId: string;
|
||||
/** Если true, owner_id игнорируется, выдаются все клиенты */
|
||||
isAdmin: boolean;
|
||||
limit: number;
|
||||
offset: number;
|
||||
}
|
||||
|
||||
export interface OauthClientItem {
|
||||
id: string;
|
||||
name: string;
|
||||
clientId: string;
|
||||
redirectUris: string[];
|
||||
description?: string | undefined;
|
||||
ownerId: string;
|
||||
createdAt: number;
|
||||
}
|
||||
|
||||
export interface GetOauthClientsResponse {
|
||||
clients: OauthClientItem[];
|
||||
total: number;
|
||||
}
|
||||
|
||||
export interface UpdateOauthClientRequest {
|
||||
clientId: string;
|
||||
/** ID того, кто делает запрос */
|
||||
ownerId: string;
|
||||
isAdmin: boolean;
|
||||
name?: string | undefined;
|
||||
redirectUris: string[];
|
||||
description?: string | undefined;
|
||||
}
|
||||
|
||||
export interface UpdateOauthClientResponse {
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
export interface ResetOauthSecretRequest {
|
||||
clientId: string;
|
||||
ownerId: string;
|
||||
isAdmin: boolean;
|
||||
}
|
||||
|
||||
export interface ResetOauthSecretResponse {
|
||||
newPlainSecret: string;
|
||||
}
|
||||
|
||||
export interface DeleteOauthClientRequest {
|
||||
clientId: string;
|
||||
ownerId: string;
|
||||
isAdmin: boolean;
|
||||
}
|
||||
|
||||
export interface DeleteOauthClientResponse {
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
export const OAUTH_V1_PACKAGE_NAME = "oauth.v1";
|
||||
|
||||
export interface OauthServiceClient {
|
||||
/** === Базовый SSO (вызывается из Gateway / Графаны) === */
|
||||
|
||||
generateOauthCode(request: GenerateOauthCodeRequest, metadata?: Metadata): Observable<GenerateOauthCodeResponse>;
|
||||
|
||||
exchangeOauthCode(request: ExchangeOauthCodeRequest, metadata?: Metadata): Observable<ExchangeOauthCodeResponse>;
|
||||
|
||||
/** === Системные методы (Консоль Разработчика / Админка) === */
|
||||
|
||||
createOauthClient(request: CreateOauthClientRequest, metadata?: Metadata): Observable<CreateOauthClientResponse>;
|
||||
|
||||
getOauthClients(request: GetOauthClientsRequest, metadata?: Metadata): Observable<GetOauthClientsResponse>;
|
||||
|
||||
updateOauthClient(request: UpdateOauthClientRequest, metadata?: Metadata): Observable<UpdateOauthClientResponse>;
|
||||
|
||||
resetOauthSecret(request: ResetOauthSecretRequest, metadata?: Metadata): Observable<ResetOauthSecretResponse>;
|
||||
|
||||
deleteOauthClient(request: DeleteOauthClientRequest, metadata?: Metadata): Observable<DeleteOauthClientResponse>;
|
||||
}
|
||||
|
||||
export interface OauthServiceController {
|
||||
/** === Базовый SSO (вызывается из Gateway / Графаны) === */
|
||||
|
||||
generateOauthCode(
|
||||
request: GenerateOauthCodeRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<GenerateOauthCodeResponse> | Observable<GenerateOauthCodeResponse> | GenerateOauthCodeResponse;
|
||||
|
||||
exchangeOauthCode(
|
||||
request: ExchangeOauthCodeRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<ExchangeOauthCodeResponse> | Observable<ExchangeOauthCodeResponse> | ExchangeOauthCodeResponse;
|
||||
|
||||
/** === Системные методы (Консоль Разработчика / Админка) === */
|
||||
|
||||
createOauthClient(
|
||||
request: CreateOauthClientRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<CreateOauthClientResponse> | Observable<CreateOauthClientResponse> | CreateOauthClientResponse;
|
||||
|
||||
getOauthClients(
|
||||
request: GetOauthClientsRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<GetOauthClientsResponse> | Observable<GetOauthClientsResponse> | GetOauthClientsResponse;
|
||||
|
||||
updateOauthClient(
|
||||
request: UpdateOauthClientRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<UpdateOauthClientResponse> | Observable<UpdateOauthClientResponse> | UpdateOauthClientResponse;
|
||||
|
||||
resetOauthSecret(
|
||||
request: ResetOauthSecretRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<ResetOauthSecretResponse> | Observable<ResetOauthSecretResponse> | ResetOauthSecretResponse;
|
||||
|
||||
deleteOauthClient(
|
||||
request: DeleteOauthClientRequest,
|
||||
metadata?: Metadata,
|
||||
): Promise<DeleteOauthClientResponse> | Observable<DeleteOauthClientResponse> | DeleteOauthClientResponse;
|
||||
}
|
||||
|
||||
export function OauthServiceControllerMethods() {
|
||||
return function (constructor: Function) {
|
||||
const grpcMethods: string[] = [
|
||||
"generateOauthCode",
|
||||
"exchangeOauthCode",
|
||||
"createOauthClient",
|
||||
"getOauthClients",
|
||||
"updateOauthClient",
|
||||
"resetOauthSecret",
|
||||
"deleteOauthClient",
|
||||
];
|
||||
for (const method of grpcMethods) {
|
||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||
GrpcMethod("OauthService", method)(constructor.prototype[method], method, descriptor);
|
||||
}
|
||||
const grpcStreamMethods: string[] = [];
|
||||
for (const method of grpcStreamMethods) {
|
||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||
GrpcStreamMethod("OauthService", method)(constructor.prototype[method], method, descriptor);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const OAUTH_SERVICE_NAME = "OauthService";
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: sso/twofa.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: users/ldap.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.11.6
|
||||
// protoc-gen-ts_proto v2.11.8
|
||||
// protoc v4.25.9
|
||||
// source: users/users.proto
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@lendry-erp/contracts",
|
||||
"version": "1.2.35",
|
||||
"version": "1.2.43",
|
||||
"description": "Protobuf definitions and generated TypeScript types",
|
||||
"type": "commonjs",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
@@ -24,6 +24,8 @@ service ChatService {
|
||||
|
||||
// Статусы
|
||||
rpc MarkAsRead(MarkAsReadRequest) returns (MarkAsReadResponse);
|
||||
|
||||
rpc CheckChatMembership(CheckChatMembershipRequest) returns (CheckChatMembershipResponse);
|
||||
}
|
||||
|
||||
// --- СТРУКТУРЫ ДАННЫХ --- //
|
||||
@@ -152,3 +154,13 @@ message MarkAsReadRequest {
|
||||
string message_id = 3; // ID последнего видимого сообщения
|
||||
}
|
||||
message MarkAsReadResponse { bool success = 1; }
|
||||
|
||||
|
||||
message CheckChatMembershipRequest {
|
||||
string user_id = 1;
|
||||
string chat_id = 2;
|
||||
}
|
||||
|
||||
message CheckChatMembershipResponse {
|
||||
bool is_member = 1;
|
||||
}
|
||||
33
proto/media/media.proto
Normal file
33
proto/media/media.proto
Normal file
@@ -0,0 +1,33 @@
|
||||
// contracts/proto/media/v1/media.proto
|
||||
syntax = "proto3";
|
||||
|
||||
package media.v1;
|
||||
|
||||
option go_package = "git.lendry.ru/lendry-erp/proto.git/go;pb";
|
||||
|
||||
service MediaService {
|
||||
// Загрузка файла
|
||||
rpc Upload(UploadRequest) returns (UploadResponse);
|
||||
// Генерация временной ссылки для скачивания/просмотра
|
||||
rpc GetPresignedUrl(GetPresignedUrlRequest) returns (GetPresignedUrlResponse);
|
||||
}
|
||||
|
||||
message UploadRequest {
|
||||
string file_name = 1;
|
||||
bytes data = 2; // Сами байты файла
|
||||
string mode = 3; // "avatar", "chat", "raw"
|
||||
}
|
||||
|
||||
message UploadResponse {
|
||||
string file_name = 1;
|
||||
int64 size = 2;
|
||||
}
|
||||
|
||||
message GetPresignedUrlRequest {
|
||||
string file_name = 1;
|
||||
bool is_public = 2; // Если true, ссылка живет 24 часа, иначе 2 минуты
|
||||
}
|
||||
|
||||
message GetPresignedUrlResponse {
|
||||
string url = 1;
|
||||
}
|
||||
@@ -14,9 +14,6 @@ service AuthService {
|
||||
rpc GetSessions(GetSessionRequest) returns (GetSessionsResponse);
|
||||
rpc TerminateSession(TerminateSessionRequest) returns (TerminateSessionResponse);
|
||||
|
||||
// === OAuth2 SSO ===
|
||||
rpc GenerateOauthCode (GenerateOauthCodeRequest) returns (GenerateOauthCodeResponse);
|
||||
rpc ExchangeOauthCode (ExchangeOauthCodeRequest) returns (ExchangeOauthCodeResponse);
|
||||
|
||||
// Системные методы для админа
|
||||
rpc SystemCreateAccount (SystemCreateAccountRequest) returns (SystemCreateAccountResponse);
|
||||
@@ -118,27 +115,6 @@ message TerminateSessionResponse {
|
||||
}
|
||||
|
||||
|
||||
// === Сообщения для OAuth2 SSO ===
|
||||
|
||||
message GenerateOauthCodeRequest {
|
||||
string user_id = 1;
|
||||
}
|
||||
|
||||
message GenerateOauthCodeResponse {
|
||||
string code = 1;
|
||||
}
|
||||
|
||||
message ExchangeOauthCodeRequest {
|
||||
string code = 1;
|
||||
string client_id = 2;
|
||||
string client_secret = 3;
|
||||
}
|
||||
|
||||
message ExchangeOauthCodeResponse {
|
||||
string access_token = 1;
|
||||
int32 expires_in = 2;
|
||||
}
|
||||
|
||||
message SystemCreateAccountRequest {
|
||||
string username = 1;
|
||||
string password_hash = 2; // Хеш пароля генерирует Admin Service и передает сюда
|
||||
|
||||
112
proto/sso/oauth.proto
Normal file
112
proto/sso/oauth.proto
Normal file
@@ -0,0 +1,112 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package oauth.v1;
|
||||
|
||||
option go_package = "git.lendry.ru/lendry-erp/proto.git/go;pb";
|
||||
|
||||
service OauthService {
|
||||
// === Базовый SSO (вызывается из Gateway / Графаны) ===
|
||||
rpc GenerateOauthCode (GenerateOauthCodeRequest) returns (GenerateOauthCodeResponse);
|
||||
rpc ExchangeOauthCode (ExchangeOauthCodeRequest) returns (ExchangeOauthCodeResponse);
|
||||
|
||||
// === Системные методы (Консоль Разработчика / Админка) ===
|
||||
rpc CreateOauthClient (CreateOauthClientRequest) returns (CreateOauthClientResponse);
|
||||
rpc GetOauthClients (GetOauthClientsRequest) returns (GetOauthClientsResponse);
|
||||
rpc UpdateOauthClient (UpdateOauthClientRequest) returns (UpdateOauthClientResponse);
|
||||
rpc ResetOauthSecret (ResetOauthSecretRequest) returns (ResetOauthSecretResponse);
|
||||
rpc DeleteOauthClient (DeleteOauthClientRequest) returns (DeleteOauthClientResponse);
|
||||
}
|
||||
|
||||
// --- Сообщения для базового SSO ---
|
||||
message GenerateOauthCodeRequest {
|
||||
string user_id = 1;
|
||||
string client_id = 2;
|
||||
string redirect_uri = 3;
|
||||
}
|
||||
|
||||
message GenerateOauthCodeResponse {
|
||||
string code = 1;
|
||||
}
|
||||
|
||||
message ExchangeOauthCodeRequest {
|
||||
string code = 1;
|
||||
string client_id = 2;
|
||||
string client_secret = 3;
|
||||
}
|
||||
|
||||
message ExchangeOauthCodeResponse {
|
||||
string access_token = 1;
|
||||
int32 expires_in = 2;
|
||||
}
|
||||
|
||||
// --- Сообщения для управления клиентами ---
|
||||
message CreateOauthClientRequest {
|
||||
string owner_id = 1;
|
||||
string name = 2;
|
||||
repeated string redirect_uris = 3;
|
||||
optional string description = 4;
|
||||
}
|
||||
|
||||
message CreateOauthClientResponse {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string client_id = 3;
|
||||
string plain_secret = 4; // Отдается ТОЛЬКО здесь один раз
|
||||
repeated string redirect_uris = 5;
|
||||
string owner_id = 6;
|
||||
}
|
||||
|
||||
message GetOauthClientsRequest {
|
||||
string owner_id = 1;
|
||||
bool is_admin = 2; // Если true, owner_id игнорируется, выдаются все клиенты
|
||||
int32 limit = 3;
|
||||
int32 offset = 4;
|
||||
}
|
||||
|
||||
message OauthClientItem {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string client_id = 3;
|
||||
repeated string redirect_uris = 4;
|
||||
optional string description = 5;
|
||||
string owner_id = 6;
|
||||
int64 created_at = 7;
|
||||
}
|
||||
|
||||
message GetOauthClientsResponse {
|
||||
repeated OauthClientItem clients = 1;
|
||||
int32 total = 2;
|
||||
}
|
||||
|
||||
message UpdateOauthClientRequest {
|
||||
string client_id = 1;
|
||||
string owner_id = 2; // ID того, кто делает запрос
|
||||
bool is_admin = 3;
|
||||
optional string name = 4;
|
||||
repeated string redirect_uris = 5;
|
||||
optional string description = 6;
|
||||
}
|
||||
|
||||
message UpdateOauthClientResponse {
|
||||
bool success = 1;
|
||||
}
|
||||
|
||||
message ResetOauthSecretRequest {
|
||||
string client_id = 1;
|
||||
string owner_id = 2;
|
||||
bool is_admin = 3;
|
||||
}
|
||||
|
||||
message ResetOauthSecretResponse {
|
||||
string new_plain_secret = 1;
|
||||
}
|
||||
|
||||
message DeleteOauthClientRequest {
|
||||
string client_id = 1;
|
||||
string owner_id = 2;
|
||||
bool is_admin = 3;
|
||||
}
|
||||
|
||||
message DeleteOauthClientResponse {
|
||||
bool success = 1;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ export const PROTO_PATHS = {
|
||||
LDAP_AUTH: join(__dirname, "../../proto/sso/ldap-auth.proto"),
|
||||
ACCOUNT: join(__dirname, "../../proto/sso/account.proto"),
|
||||
TWOFA: join(__dirname, "../../proto/sso/twofa.proto"),
|
||||
OAUTH: join(__dirname, "../../proto/sso/oauth.proto"),
|
||||
ADMIN: join(__dirname, "../../proto/admin/admin-account.proto"),
|
||||
RBAC: join(__dirname, "../../proto/admin/rbac.proto"),
|
||||
USERS: join(__dirname, "../../proto/users/users.proto"),
|
||||
@@ -16,4 +17,5 @@ export const PROTO_PATHS = {
|
||||
"../../proto/notifications/notifications.proto",
|
||||
),
|
||||
CHAT: join(__dirname, "../../proto/chat/chat.proto"),
|
||||
MEDIA: join(__dirname, "../../proto/media/media.proto"),
|
||||
} as const;
|
||||
|
||||
Reference in New Issue
Block a user