Compare commits
15 Commits
9a7073c8ae
...
v1.0.33
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04bfccb868 | ||
|
|
1ce76254e5 | ||
|
|
2733943488 | ||
|
|
e1ca345e38 | ||
|
|
cbc5dd3551 | ||
|
|
ae86764d43 | ||
|
|
5847a6e560 | ||
|
|
28f8834c7b | ||
|
|
d6f8906f22 | ||
|
|
0f12ea6451 | ||
|
|
e5d52ab0ba | ||
|
|
061cc7a928 | ||
| 656f90d11f | |||
|
|
3319b124df | ||
|
|
465ed43531 |
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: admin/admin-account.proto
|
// source: admin/admin-account.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: admin/audit.proto
|
// source: admin/audit.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: admin/rbac.proto
|
// source: admin/rbac.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: chat/chat.proto
|
// source: chat/chat.proto
|
||||||
|
|
||||||
@@ -173,6 +173,15 @@ export interface MarkAsReadResponse {
|
|||||||
success: boolean;
|
success: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface CheckChatMembershipRequest {
|
||||||
|
userId: string;
|
||||||
|
chatId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CheckChatMembershipResponse {
|
||||||
|
isMember: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
export const CHAT_V1_PACKAGE_NAME = "chat.v1";
|
export const CHAT_V1_PACKAGE_NAME = "chat.v1";
|
||||||
|
|
||||||
export interface ChatServiceClient {
|
export interface ChatServiceClient {
|
||||||
@@ -215,6 +224,11 @@ export interface ChatServiceClient {
|
|||||||
/** Статусы */
|
/** Статусы */
|
||||||
|
|
||||||
markAsRead(request: MarkAsReadRequest, metadata?: Metadata): Observable<MarkAsReadResponse>;
|
markAsRead(request: MarkAsReadRequest, metadata?: Metadata): Observable<MarkAsReadResponse>;
|
||||||
|
|
||||||
|
checkChatMembership(
|
||||||
|
request: CheckChatMembershipRequest,
|
||||||
|
metadata?: Metadata,
|
||||||
|
): Observable<CheckChatMembershipResponse>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ChatServiceController {
|
export interface ChatServiceController {
|
||||||
@@ -293,6 +307,11 @@ export interface ChatServiceController {
|
|||||||
request: MarkAsReadRequest,
|
request: MarkAsReadRequest,
|
||||||
metadata?: Metadata,
|
metadata?: Metadata,
|
||||||
): Promise<MarkAsReadResponse> | Observable<MarkAsReadResponse> | MarkAsReadResponse;
|
): Promise<MarkAsReadResponse> | Observable<MarkAsReadResponse> | MarkAsReadResponse;
|
||||||
|
|
||||||
|
checkChatMembership(
|
||||||
|
request: CheckChatMembershipRequest,
|
||||||
|
metadata?: Metadata,
|
||||||
|
): Promise<CheckChatMembershipResponse> | Observable<CheckChatMembershipResponse> | CheckChatMembershipResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ChatServiceControllerMethods() {
|
export function ChatServiceControllerMethods() {
|
||||||
@@ -310,6 +329,7 @@ export function ChatServiceControllerMethods() {
|
|||||||
"editMessage",
|
"editMessage",
|
||||||
"deleteMessage",
|
"deleteMessage",
|
||||||
"markAsRead",
|
"markAsRead",
|
||||||
|
"checkChatMembership",
|
||||||
];
|
];
|
||||||
for (const method of grpcMethods) {
|
for (const method of grpcMethods) {
|
||||||
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
||||||
|
|||||||
@@ -1474,6 +1474,102 @@ func (x *MarkAsReadResponse) GetSuccess() bool {
|
|||||||
return false
|
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
|
var File_chat_chat_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
const file_chat_chat_proto_rawDesc = "" +
|
const file_chat_chat_proto_rawDesc = "" +
|
||||||
@@ -1581,7 +1677,12 @@ const file_chat_chat_proto_rawDesc = "" +
|
|||||||
"\n" +
|
"\n" +
|
||||||
"message_id\x18\x03 \x01(\tR\tmessageId\".\n" +
|
"message_id\x18\x03 \x01(\tR\tmessageId\".\n" +
|
||||||
"\x12MarkAsReadResponse\x12\x18\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" +
|
"\vChatService\x12E\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"CreateChat\x12\x1a.chat.v1.CreateChatRequest\x1a\x1b.chat.v1.CreateChatResponse\x12K\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" +
|
"\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" +
|
"\rDeleteMessage\x12\x1d.chat.v1.DeleteMessageRequest\x1a\x1e.chat.v1.DeleteMessageResponse\x12E\n" +
|
||||||
"\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 (
|
var (
|
||||||
file_chat_chat_proto_rawDescOnce sync.Once
|
file_chat_chat_proto_rawDescOnce sync.Once
|
||||||
@@ -1610,7 +1712,7 @@ func file_chat_chat_proto_rawDescGZIP() []byte {
|
|||||||
return file_chat_chat_proto_rawDescData
|
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{
|
var file_chat_chat_proto_goTypes = []any{
|
||||||
(*MessageDto)(nil), // 0: chat.v1.MessageDto
|
(*MessageDto)(nil), // 0: chat.v1.MessageDto
|
||||||
(*ChatMemberDto)(nil), // 1: chat.v1.ChatMemberDto
|
(*ChatMemberDto)(nil), // 1: chat.v1.ChatMemberDto
|
||||||
@@ -1637,6 +1739,8 @@ var file_chat_chat_proto_goTypes = []any{
|
|||||||
(*DeleteMessageResponse)(nil), // 22: chat.v1.DeleteMessageResponse
|
(*DeleteMessageResponse)(nil), // 22: chat.v1.DeleteMessageResponse
|
||||||
(*MarkAsReadRequest)(nil), // 23: chat.v1.MarkAsReadRequest
|
(*MarkAsReadRequest)(nil), // 23: chat.v1.MarkAsReadRequest
|
||||||
(*MarkAsReadResponse)(nil), // 24: chat.v1.MarkAsReadResponse
|
(*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{
|
var file_chat_chat_proto_depIdxs = []int32{
|
||||||
0, // 0: chat.v1.ChatDto.last_message:type_name -> chat.v1.MessageDto
|
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
|
20, // 15: chat.v1.ChatService.EditMessage:input_type -> chat.v1.EditMessageRequest
|
||||||
21, // 16: chat.v1.ChatService.DeleteMessage:input_type -> chat.v1.DeleteMessageRequest
|
21, // 16: chat.v1.ChatService.DeleteMessage:input_type -> chat.v1.DeleteMessageRequest
|
||||||
23, // 17: chat.v1.ChatService.MarkAsRead:input_type -> chat.v1.MarkAsReadRequest
|
23, // 17: chat.v1.ChatService.MarkAsRead:input_type -> chat.v1.MarkAsReadRequest
|
||||||
4, // 18: chat.v1.ChatService.CreateChat:output_type -> chat.v1.CreateChatResponse
|
25, // 18: chat.v1.ChatService.CheckChatMembership:input_type -> chat.v1.CheckChatMembershipRequest
|
||||||
6, // 19: chat.v1.ChatService.GetUserChats:output_type -> chat.v1.GetUserChatsResponse
|
4, // 19: chat.v1.ChatService.CreateChat:output_type -> chat.v1.CreateChatResponse
|
||||||
8, // 20: chat.v1.ChatService.GetChatDetails:output_type -> chat.v1.GetChatDetailsResponse
|
6, // 20: chat.v1.ChatService.GetUserChats:output_type -> chat.v1.GetUserChatsResponse
|
||||||
10, // 21: chat.v1.ChatService.JoinChat:output_type -> chat.v1.JoinChatResponse
|
8, // 21: chat.v1.ChatService.GetChatDetails:output_type -> chat.v1.GetChatDetailsResponse
|
||||||
12, // 22: chat.v1.ChatService.LeaveChat:output_type -> chat.v1.LeaveChatResponse
|
10, // 22: chat.v1.ChatService.JoinChat:output_type -> chat.v1.JoinChatResponse
|
||||||
14, // 23: chat.v1.ChatService.RemoveMember:output_type -> chat.v1.RemoveMemberResponse
|
12, // 23: chat.v1.ChatService.LeaveChat:output_type -> chat.v1.LeaveChatResponse
|
||||||
16, // 24: chat.v1.ChatService.MuteChat:output_type -> chat.v1.MuteChatResponse
|
14, // 24: chat.v1.ChatService.RemoveMember:output_type -> chat.v1.RemoveMemberResponse
|
||||||
18, // 25: chat.v1.ChatService.GetMessages:output_type -> chat.v1.GetMessagesResponse
|
16, // 25: chat.v1.ChatService.MuteChat:output_type -> chat.v1.MuteChatResponse
|
||||||
0, // 26: chat.v1.ChatService.SendMessage:output_type -> chat.v1.MessageDto
|
18, // 26: chat.v1.ChatService.GetMessages:output_type -> chat.v1.GetMessagesResponse
|
||||||
0, // 27: chat.v1.ChatService.EditMessage:output_type -> chat.v1.MessageDto
|
0, // 27: chat.v1.ChatService.SendMessage:output_type -> chat.v1.MessageDto
|
||||||
22, // 28: chat.v1.ChatService.DeleteMessage:output_type -> chat.v1.DeleteMessageResponse
|
0, // 28: chat.v1.ChatService.EditMessage:output_type -> chat.v1.MessageDto
|
||||||
24, // 29: chat.v1.ChatService.MarkAsRead:output_type -> chat.v1.MarkAsReadResponse
|
22, // 29: chat.v1.ChatService.DeleteMessage:output_type -> chat.v1.DeleteMessageResponse
|
||||||
18, // [18:30] is the sub-list for method output_type
|
24, // 30: chat.v1.ChatService.MarkAsRead:output_type -> chat.v1.MarkAsReadResponse
|
||||||
6, // [6:18] is the sub-list for method input_type
|
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 type_name
|
||||||
6, // [6:6] is the sub-list for extension extendee
|
6, // [6:6] is the sub-list for extension extendee
|
||||||
0, // [0:6] is the sub-list for field type_name
|
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(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_chat_chat_proto_rawDesc), len(file_chat_chat_proto_rawDesc)),
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_chat_chat_proto_rawDesc), len(file_chat_chat_proto_rawDesc)),
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 25,
|
NumMessages: 27,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const (
|
|||||||
ChatService_EditMessage_FullMethodName = "/chat.v1.ChatService/EditMessage"
|
ChatService_EditMessage_FullMethodName = "/chat.v1.ChatService/EditMessage"
|
||||||
ChatService_DeleteMessage_FullMethodName = "/chat.v1.ChatService/DeleteMessage"
|
ChatService_DeleteMessage_FullMethodName = "/chat.v1.ChatService/DeleteMessage"
|
||||||
ChatService_MarkAsRead_FullMethodName = "/chat.v1.ChatService/MarkAsRead"
|
ChatService_MarkAsRead_FullMethodName = "/chat.v1.ChatService/MarkAsRead"
|
||||||
|
ChatService_CheckChatMembership_FullMethodName = "/chat.v1.ChatService/CheckChatMembership"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ChatServiceClient is the client API for ChatService service.
|
// 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)
|
DeleteMessage(ctx context.Context, in *DeleteMessageRequest, opts ...grpc.CallOption) (*DeleteMessageResponse, error)
|
||||||
// Статусы
|
// Статусы
|
||||||
MarkAsRead(ctx context.Context, in *MarkAsReadRequest, opts ...grpc.CallOption) (*MarkAsReadResponse, 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 {
|
type chatServiceClient struct {
|
||||||
@@ -183,6 +185,16 @@ func (c *chatServiceClient) MarkAsRead(ctx context.Context, in *MarkAsReadReques
|
|||||||
return out, nil
|
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.
|
// ChatServiceServer is the server API for ChatService service.
|
||||||
// All implementations must embed UnimplementedChatServiceServer
|
// All implementations must embed UnimplementedChatServiceServer
|
||||||
// for forward compatibility.
|
// for forward compatibility.
|
||||||
@@ -203,6 +215,7 @@ type ChatServiceServer interface {
|
|||||||
DeleteMessage(context.Context, *DeleteMessageRequest) (*DeleteMessageResponse, error)
|
DeleteMessage(context.Context, *DeleteMessageRequest) (*DeleteMessageResponse, error)
|
||||||
// Статусы
|
// Статусы
|
||||||
MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error)
|
MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error)
|
||||||
|
CheckChatMembership(context.Context, *CheckChatMembershipRequest) (*CheckChatMembershipResponse, error)
|
||||||
mustEmbedUnimplementedChatServiceServer()
|
mustEmbedUnimplementedChatServiceServer()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,6 +262,9 @@ func (UnimplementedChatServiceServer) DeleteMessage(context.Context, *DeleteMess
|
|||||||
func (UnimplementedChatServiceServer) MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error) {
|
func (UnimplementedChatServiceServer) MarkAsRead(context.Context, *MarkAsReadRequest) (*MarkAsReadResponse, error) {
|
||||||
return nil, status.Error(codes.Unimplemented, "method MarkAsRead not implemented")
|
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) mustEmbedUnimplementedChatServiceServer() {}
|
||||||
func (UnimplementedChatServiceServer) testEmbeddedByValue() {}
|
func (UnimplementedChatServiceServer) testEmbeddedByValue() {}
|
||||||
|
|
||||||
@@ -486,6 +502,24 @@ func _ChatService_MarkAsRead_Handler(srv interface{}, ctx context.Context, dec f
|
|||||||
return interceptor(ctx, in, info, handler)
|
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.
|
// ChatService_ServiceDesc is the grpc.ServiceDesc for ChatService service.
|
||||||
// It's only intended for direct use with grpc.RegisterService,
|
// It's only intended for direct use with grpc.RegisterService,
|
||||||
// and not to be introspected or modified (even as a copy)
|
// and not to be introspected or modified (even as a copy)
|
||||||
@@ -541,6 +575,10 @@ var ChatService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "MarkAsRead",
|
MethodName: "MarkAsRead",
|
||||||
Handler: _ChatService_MarkAsRead_Handler,
|
Handler: _ChatService_MarkAsRead_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "CheckChatMembership",
|
||||||
|
Handler: _ChatService_CheckChatMembership_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{},
|
Streams: []grpc.StreamDesc{},
|
||||||
Metadata: "chat/chat.proto",
|
Metadata: "chat/chat.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.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: google/protobuf/struct.proto
|
// source: google/protobuf/struct.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: google/protobuf/timestamp.proto
|
// source: google/protobuf/timestamp.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: notifications/notifications.proto
|
// source: notifications/notifications.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: search/search.proto
|
// source: search/search.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: sso/account.proto
|
// source: sso/account.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: sso/auth.proto
|
// source: sso/auth.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: sso/ldap-auth.proto
|
// 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.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: sso/twofa.proto
|
// source: sso/twofa.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: users/ldap.proto
|
// source: users/ldap.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-ts_proto v2.11.6
|
// protoc-gen-ts_proto v2.11.8
|
||||||
// protoc v4.25.9
|
// protoc v4.25.9
|
||||||
// source: users/users.proto
|
// source: users/users.proto
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@lendry-erp/contracts",
|
"name": "@lendry-erp/contracts",
|
||||||
"version": "1.2.35",
|
"version": "1.2.41",
|
||||||
"description": "Protobuf definitions and generated TypeScript types",
|
"description": "Protobuf definitions and generated TypeScript types",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ service ChatService {
|
|||||||
|
|
||||||
// Статусы
|
// Статусы
|
||||||
rpc MarkAsRead(MarkAsReadRequest) returns (MarkAsReadResponse);
|
rpc MarkAsRead(MarkAsReadRequest) returns (MarkAsReadResponse);
|
||||||
|
|
||||||
|
rpc CheckChatMembership(CheckChatMembershipRequest) returns (CheckChatMembershipResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- СТРУКТУРЫ ДАННЫХ --- //
|
// --- СТРУКТУРЫ ДАННЫХ --- //
|
||||||
@@ -152,3 +154,13 @@ message MarkAsReadRequest {
|
|||||||
string message_id = 3; // ID последнего видимого сообщения
|
string message_id = 3; // ID последнего видимого сообщения
|
||||||
}
|
}
|
||||||
message MarkAsReadResponse { bool success = 1; }
|
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,6 +14,7 @@ service AuthService {
|
|||||||
rpc GetSessions(GetSessionRequest) returns (GetSessionsResponse);
|
rpc GetSessions(GetSessionRequest) returns (GetSessionsResponse);
|
||||||
rpc TerminateSession(TerminateSessionRequest) returns (TerminateSessionResponse);
|
rpc TerminateSession(TerminateSessionRequest) returns (TerminateSessionResponse);
|
||||||
|
|
||||||
|
|
||||||
// Системные методы для админа
|
// Системные методы для админа
|
||||||
rpc SystemCreateAccount (SystemCreateAccountRequest) returns (SystemCreateAccountResponse);
|
rpc SystemCreateAccount (SystemCreateAccountRequest) returns (SystemCreateAccountResponse);
|
||||||
rpc SystemChangeStatus (SystemChangeStatusRequest) returns (SystemChangeStatusResponse);
|
rpc SystemChangeStatus (SystemChangeStatusRequest) returns (SystemChangeStatusResponse);
|
||||||
@@ -113,6 +114,7 @@ message TerminateSessionResponse {
|
|||||||
string message = 2;
|
string message = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message SystemCreateAccountRequest {
|
message SystemCreateAccountRequest {
|
||||||
string username = 1;
|
string username = 1;
|
||||||
string password_hash = 2; // Хеш пароля генерирует Admin Service и передает сюда
|
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"),
|
LDAP_AUTH: join(__dirname, "../../proto/sso/ldap-auth.proto"),
|
||||||
ACCOUNT: join(__dirname, "../../proto/sso/account.proto"),
|
ACCOUNT: join(__dirname, "../../proto/sso/account.proto"),
|
||||||
TWOFA: join(__dirname, "../../proto/sso/twofa.proto"),
|
TWOFA: join(__dirname, "../../proto/sso/twofa.proto"),
|
||||||
|
OAUTH: join(__dirname, "../../proto/sso/oauth.proto"),
|
||||||
ADMIN: join(__dirname, "../../proto/admin/admin-account.proto"),
|
ADMIN: join(__dirname, "../../proto/admin/admin-account.proto"),
|
||||||
RBAC: join(__dirname, "../../proto/admin/rbac.proto"),
|
RBAC: join(__dirname, "../../proto/admin/rbac.proto"),
|
||||||
USERS: join(__dirname, "../../proto/users/users.proto"),
|
USERS: join(__dirname, "../../proto/users/users.proto"),
|
||||||
|
|||||||
Reference in New Issue
Block a user