diff --git a/gen/account.ts b/gen/account.ts new file mode 100644 index 0000000..1be5286 --- /dev/null +++ b/gen/account.ts @@ -0,0 +1,74 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.6 +// protoc v3.21.12 +// source: account.proto + +/* eslint-disable */ +import type { Metadata } from "@grpc/grpc-js"; +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; + +export const protobufPackage = "account"; + +export enum Presence { + PRESENCE_UNSPECIFIED = 0, + OFFLINE = 1, + ONLINE = 2, + UNRECOGNIZED = -1, +} + +export interface GetAccountRequest { + id: string; +} + +export interface GetAccountResponse { + id: string; + username: string; + email: string; + phone: string; + fullName: string; + isLdap: boolean; + status: string; + roles: string[]; + avatarUrl: string; + employeeId?: string | undefined; + presence: Presence; + lastActive: string; + customStatusText: string; + customStatusEmoji: string; + timezone: string; + language: string; + twoFaEnabled: boolean; + hasPin: boolean; +} + +export const ACCOUNT_PACKAGE_NAME = "account"; + +export interface AccountServiceClient { + getAccount(request: GetAccountRequest, metadata?: Metadata): Observable; +} + +export interface AccountServiceController { + getAccount( + request: GetAccountRequest, + metadata?: Metadata, + ): Promise | Observable | GetAccountResponse; +} + +export function AccountServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = ["getAccount"]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("AccountService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("AccountService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const ACCOUNT_SERVICE_NAME = "AccountService"; diff --git a/gen/auth.ts b/gen/auth.ts new file mode 100644 index 0000000..cd005d4 --- /dev/null +++ b/gen/auth.ts @@ -0,0 +1,159 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.6 +// protoc v3.21.12 +// source: auth.proto + +/* eslint-disable */ +import type { Metadata } from "@grpc/grpc-js"; +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; + +export const protobufPackage = "auth.v1"; + +export interface LoginRequest { + username: string; + password: string; +} + +export interface LoginResponse { + accessToken: string; + refreshToken: string; + status: string; + need2fa: boolean; + tempToken?: string | undefined; + message?: string | undefined; + errorCode?: string | undefined; +} + +export interface RefreshRequest { + refreshToken: string; +} + +export interface RefreshResponse { + accessToken: string; + refreshToken: string; +} + +export interface LogoutRequest { + accessToken: string; +} + +export interface LogoutResponse { + success: boolean; + message: string; +} + +export interface VerifyTokenRequest { + token: string; +} + +export interface VerifyTokenResponse { + isValid: boolean; + errorMessage?: string | undefined; + id?: string | undefined; + username?: string | undefined; + roleLevel?: number | undefined; + permissions: string[]; + sessionId?: string | undefined; + requiresPin?: boolean | undefined; +} + +export interface GetAccountRoleLevelRequest { + accountId: string; +} + +export interface GetAccountRoleLevelResponse { + found: boolean; + roleLevel: number; +} + +export interface UnlockPinRequest { + accessToken: string; + pinCode: string; +} + +export interface UnlockPinResponse { + success: boolean; + message: string; +} + +export const AUTH_V1_PACKAGE_NAME = "auth.v1"; + +export interface AuthServiceClient { + login(request: LoginRequest, metadata?: Metadata): Observable; + + refresh(request: RefreshRequest, metadata?: Metadata): Observable; + + verifyToken(request: VerifyTokenRequest, metadata?: Metadata): Observable; + + getAccountRoleLevel( + request: GetAccountRoleLevelRequest, + metadata?: Metadata, + ): Observable; + + logout(request: LogoutRequest, metadata?: Metadata): Observable; + + logoutAll(request: LogoutRequest, metadata?: Metadata): Observable; + + unlockPin(request: UnlockPinRequest, metadata?: Metadata): Observable; +} + +export interface AuthServiceController { + login(request: LoginRequest, metadata?: Metadata): Promise | Observable | LoginResponse; + + refresh( + request: RefreshRequest, + metadata?: Metadata, + ): Promise | Observable | RefreshResponse; + + verifyToken( + request: VerifyTokenRequest, + metadata?: Metadata, + ): Promise | Observable | VerifyTokenResponse; + + getAccountRoleLevel( + request: GetAccountRoleLevelRequest, + metadata?: Metadata, + ): Promise | Observable | GetAccountRoleLevelResponse; + + logout( + request: LogoutRequest, + metadata?: Metadata, + ): Promise | Observable | LogoutResponse; + + logoutAll( + request: LogoutRequest, + metadata?: Metadata, + ): Promise | Observable | LogoutResponse; + + unlockPin( + request: UnlockPinRequest, + metadata?: Metadata, + ): Promise | Observable | UnlockPinResponse; +} + +export function AuthServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = [ + "login", + "refresh", + "verifyToken", + "getAccountRoleLevel", + "logout", + "logoutAll", + "unlockPin", + ]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("AuthService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("AuthService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const AUTH_SERVICE_NAME = "AuthService"; diff --git a/gen/go/account.pb.go b/gen/go/account.pb.go new file mode 100644 index 0000000..7c9c933 --- /dev/null +++ b/gen/go/account.pb.go @@ -0,0 +1,391 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v3.21.12 +// source: account.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 Presence int32 + +const ( + Presence_PRESENCE_UNSPECIFIED Presence = 0 + Presence_OFFLINE Presence = 1 + Presence_ONLINE Presence = 2 +) + +// Enum value maps for Presence. +var ( + Presence_name = map[int32]string{ + 0: "PRESENCE_UNSPECIFIED", + 1: "OFFLINE", + 2: "ONLINE", + } + Presence_value = map[string]int32{ + "PRESENCE_UNSPECIFIED": 0, + "OFFLINE": 1, + "ONLINE": 2, + } +) + +func (x Presence) Enum() *Presence { + p := new(Presence) + *p = x + return p +} + +func (x Presence) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Presence) Descriptor() protoreflect.EnumDescriptor { + return file_account_proto_enumTypes[0].Descriptor() +} + +func (Presence) Type() protoreflect.EnumType { + return &file_account_proto_enumTypes[0] +} + +func (x Presence) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Presence.Descriptor instead. +func (Presence) EnumDescriptor() ([]byte, []int) { + return file_account_proto_rawDescGZIP(), []int{0} +} + +type GetAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountRequest) Reset() { + *x = GetAccountRequest{} + mi := &file_account_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountRequest) ProtoMessage() {} + +func (x *GetAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_account_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 GetAccountRequest.ProtoReflect.Descriptor instead. +func (*GetAccountRequest) Descriptor() ([]byte, []int) { + return file_account_proto_rawDescGZIP(), []int{0} +} + +func (x *GetAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Phone string `protobuf:"bytes,4,opt,name=phone,proto3" json:"phone,omitempty"` + FullName string `protobuf:"bytes,5,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` + IsLdap bool `protobuf:"varint,6,opt,name=is_ldap,json=isLdap,proto3" json:"is_ldap,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + Roles []string `protobuf:"bytes,8,rep,name=roles,proto3" json:"roles,omitempty"` + AvatarUrl string `protobuf:"bytes,9,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + EmployeeId *string `protobuf:"bytes,10,opt,name=employee_id,json=employeeId,proto3,oneof" json:"employee_id,omitempty"` + Presence Presence `protobuf:"varint,11,opt,name=presence,proto3,enum=account.Presence" json:"presence,omitempty"` + LastActive string `protobuf:"bytes,12,opt,name=last_active,json=lastActive,proto3" json:"last_active,omitempty"` + CustomStatusText string `protobuf:"bytes,13,opt,name=custom_status_text,json=customStatusText,proto3" json:"custom_status_text,omitempty"` + CustomStatusEmoji string `protobuf:"bytes,14,opt,name=custom_status_emoji,json=customStatusEmoji,proto3" json:"custom_status_emoji,omitempty"` + Timezone string `protobuf:"bytes,15,opt,name=timezone,proto3" json:"timezone,omitempty"` + Language string `protobuf:"bytes,16,opt,name=language,proto3" json:"language,omitempty"` + TwoFaEnabled bool `protobuf:"varint,17,opt,name=two_fa_enabled,json=twoFaEnabled,proto3" json:"two_fa_enabled,omitempty"` + HasPin bool `protobuf:"varint,18,opt,name=has_pin,json=hasPin,proto3" json:"has_pin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountResponse) Reset() { + *x = GetAccountResponse{} + mi := &file_account_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountResponse) ProtoMessage() {} + +func (x *GetAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_account_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 GetAccountResponse.ProtoReflect.Descriptor instead. +func (*GetAccountResponse) Descriptor() ([]byte, []int) { + return file_account_proto_rawDescGZIP(), []int{1} +} + +func (x *GetAccountResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetAccountResponse) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *GetAccountResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *GetAccountResponse) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +func (x *GetAccountResponse) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +func (x *GetAccountResponse) GetIsLdap() bool { + if x != nil { + return x.IsLdap + } + return false +} + +func (x *GetAccountResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetAccountResponse) GetRoles() []string { + if x != nil { + return x.Roles + } + return nil +} + +func (x *GetAccountResponse) GetAvatarUrl() string { + if x != nil { + return x.AvatarUrl + } + return "" +} + +func (x *GetAccountResponse) GetEmployeeId() string { + if x != nil && x.EmployeeId != nil { + return *x.EmployeeId + } + return "" +} + +func (x *GetAccountResponse) GetPresence() Presence { + if x != nil { + return x.Presence + } + return Presence_PRESENCE_UNSPECIFIED +} + +func (x *GetAccountResponse) GetLastActive() string { + if x != nil { + return x.LastActive + } + return "" +} + +func (x *GetAccountResponse) GetCustomStatusText() string { + if x != nil { + return x.CustomStatusText + } + return "" +} + +func (x *GetAccountResponse) GetCustomStatusEmoji() string { + if x != nil { + return x.CustomStatusEmoji + } + return "" +} + +func (x *GetAccountResponse) GetTimezone() string { + if x != nil { + return x.Timezone + } + return "" +} + +func (x *GetAccountResponse) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *GetAccountResponse) GetTwoFaEnabled() bool { + if x != nil { + return x.TwoFaEnabled + } + return false +} + +func (x *GetAccountResponse) GetHasPin() bool { + if x != nil { + return x.HasPin + } + return false +} + +var File_account_proto protoreflect.FileDescriptor + +const file_account_proto_rawDesc = "" + + "\n" + + "\raccount.proto\x12\aaccount\"#\n" + + "\x11GetAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xca\x04\n" + + "\x12GetAccountResponse\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busername\x12\x14\n" + + "\x05email\x18\x03 \x01(\tR\x05email\x12\x14\n" + + "\x05phone\x18\x04 \x01(\tR\x05phone\x12\x1b\n" + + "\tfull_name\x18\x05 \x01(\tR\bfullName\x12\x17\n" + + "\ais_ldap\x18\x06 \x01(\bR\x06isLdap\x12\x16\n" + + "\x06status\x18\a \x01(\tR\x06status\x12\x14\n" + + "\x05roles\x18\b \x03(\tR\x05roles\x12\x1d\n" + + "\n" + + "avatar_url\x18\t \x01(\tR\tavatarUrl\x12$\n" + + "\vemployee_id\x18\n" + + " \x01(\tH\x00R\n" + + "employeeId\x88\x01\x01\x12-\n" + + "\bpresence\x18\v \x01(\x0e2\x11.account.PresenceR\bpresence\x12\x1f\n" + + "\vlast_active\x18\f \x01(\tR\n" + + "lastActive\x12,\n" + + "\x12custom_status_text\x18\r \x01(\tR\x10customStatusText\x12.\n" + + "\x13custom_status_emoji\x18\x0e \x01(\tR\x11customStatusEmoji\x12\x1a\n" + + "\btimezone\x18\x0f \x01(\tR\btimezone\x12\x1a\n" + + "\blanguage\x18\x10 \x01(\tR\blanguage\x12$\n" + + "\x0etwo_fa_enabled\x18\x11 \x01(\bR\ftwoFaEnabled\x12\x17\n" + + "\ahas_pin\x18\x12 \x01(\bR\x06hasPinB\x0e\n" + + "\f_employee_id*=\n" + + "\bPresence\x12\x18\n" + + "\x14PRESENCE_UNSPECIFIED\x10\x00\x12\v\n" + + "\aOFFLINE\x10\x01\x12\n" + + "\n" + + "\x06ONLINE\x10\x022W\n" + + "\x0eAccountService\x12E\n" + + "\n" + + "GetAccount\x12\x1a.account.GetAccountRequest\x1a\x1b.account.GetAccountResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3" + +var ( + file_account_proto_rawDescOnce sync.Once + file_account_proto_rawDescData []byte +) + +func file_account_proto_rawDescGZIP() []byte { + file_account_proto_rawDescOnce.Do(func() { + file_account_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_account_proto_rawDesc), len(file_account_proto_rawDesc))) + }) + return file_account_proto_rawDescData +} + +var file_account_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_account_proto_goTypes = []any{ + (Presence)(0), // 0: account.Presence + (*GetAccountRequest)(nil), // 1: account.GetAccountRequest + (*GetAccountResponse)(nil), // 2: account.GetAccountResponse +} +var file_account_proto_depIdxs = []int32{ + 0, // 0: account.GetAccountResponse.presence:type_name -> account.Presence + 1, // 1: account.AccountService.GetAccount:input_type -> account.GetAccountRequest + 2, // 2: account.AccountService.GetAccount:output_type -> account.GetAccountResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_account_proto_init() } +func file_account_proto_init() { + if File_account_proto != nil { + return + } + file_account_proto_msgTypes[1].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_account_proto_rawDesc), len(file_account_proto_rawDesc)), + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_account_proto_goTypes, + DependencyIndexes: file_account_proto_depIdxs, + EnumInfos: file_account_proto_enumTypes, + MessageInfos: file_account_proto_msgTypes, + }.Build() + File_account_proto = out.File + file_account_proto_goTypes = nil + file_account_proto_depIdxs = nil +} diff --git a/gen/go/account_grpc.pb.go b/gen/go/account_grpc.pb.go new file mode 100644 index 0000000..bce451c --- /dev/null +++ b/gen/go/account_grpc.pb.go @@ -0,0 +1,121 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v3.21.12 +// source: account.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 ( + AccountService_GetAccount_FullMethodName = "/account.AccountService/GetAccount" +) + +// AccountServiceClient is the client API for AccountService 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 AccountServiceClient interface { + GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) +} + +type accountServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAccountServiceClient(cc grpc.ClientConnInterface) AccountServiceClient { + return &accountServiceClient{cc} +} + +func (c *accountServiceClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAccountResponse) + err := c.cc.Invoke(ctx, AccountService_GetAccount_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AccountServiceServer is the server API for AccountService service. +// All implementations must embed UnimplementedAccountServiceServer +// for forward compatibility. +type AccountServiceServer interface { + GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) + mustEmbedUnimplementedAccountServiceServer() +} + +// UnimplementedAccountServiceServer 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 UnimplementedAccountServiceServer struct{} + +func (UnimplementedAccountServiceServer) GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetAccount not implemented") +} +func (UnimplementedAccountServiceServer) mustEmbedUnimplementedAccountServiceServer() {} +func (UnimplementedAccountServiceServer) testEmbeddedByValue() {} + +// UnsafeAccountServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AccountServiceServer will +// result in compilation errors. +type UnsafeAccountServiceServer interface { + mustEmbedUnimplementedAccountServiceServer() +} + +func RegisterAccountServiceServer(s grpc.ServiceRegistrar, srv AccountServiceServer) { + // If the following call panics, it indicates UnimplementedAccountServiceServer 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(&AccountService_ServiceDesc, srv) +} + +func _AccountService_GetAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccountServiceServer).GetAccount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccountService_GetAccount_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccountServiceServer).GetAccount(ctx, req.(*GetAccountRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AccountService_ServiceDesc is the grpc.ServiceDesc for AccountService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AccountService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "account.AccountService", + HandlerType: (*AccountServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetAccount", + Handler: _AccountService_GetAccount_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "account.proto", +} diff --git a/gen/go/auth.pb.go b/gen/go/auth.pb.go new file mode 100644 index 0000000..d3eebf7 --- /dev/null +++ b/gen/go/auth.pb.go @@ -0,0 +1,851 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v3.21.12 +// source: auth.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 LoginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + mi := &file_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRequest) ProtoMessage() {} + +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_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 LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{0} +} + +func (x *LoginRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type LoginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Need2Fa bool `protobuf:"varint,4,opt,name=need2fa,proto3" json:"need2fa,omitempty"` + TempToken *string `protobuf:"bytes,5,opt,name=temp_token,json=tempToken,proto3,oneof" json:"temp_token,omitempty"` + Message *string `protobuf:"bytes,6,opt,name=message,proto3,oneof" json:"message,omitempty"` + ErrorCode *string `protobuf:"bytes,7,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginResponse) Reset() { + *x = LoginResponse{} + mi := &file_auth_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginResponse) ProtoMessage() {} + +func (x *LoginResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_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 LoginResponse.ProtoReflect.Descriptor instead. +func (*LoginResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{1} +} + +func (x *LoginResponse) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *LoginResponse) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *LoginResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *LoginResponse) GetNeed2Fa() bool { + if x != nil { + return x.Need2Fa + } + return false +} + +func (x *LoginResponse) GetTempToken() string { + if x != nil && x.TempToken != nil { + return *x.TempToken + } + return "" +} + +func (x *LoginResponse) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *LoginResponse) GetErrorCode() string { + if x != nil && x.ErrorCode != nil { + return *x.ErrorCode + } + return "" +} + +type RefreshRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RefreshToken string `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshRequest) Reset() { + *x = RefreshRequest{} + mi := &file_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshRequest) ProtoMessage() {} + +func (x *RefreshRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_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 RefreshRequest.ProtoReflect.Descriptor instead. +func (*RefreshRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{2} +} + +func (x *RefreshRequest) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +type RefreshResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshResponse) Reset() { + *x = RefreshResponse{} + mi := &file_auth_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshResponse) ProtoMessage() {} + +func (x *RefreshResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_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 RefreshResponse.ProtoReflect.Descriptor instead. +func (*RefreshResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{3} +} + +func (x *RefreshResponse) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *RefreshResponse) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +type LogoutRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogoutRequest) Reset() { + *x = LogoutRequest{} + mi := &file_auth_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogoutRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogoutRequest) ProtoMessage() {} + +func (x *LogoutRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogoutRequest.ProtoReflect.Descriptor instead. +func (*LogoutRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{4} +} + +func (x *LogoutRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +type LogoutResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogoutResponse) Reset() { + *x = LogoutResponse{} + mi := &file_auth_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogoutResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogoutResponse) ProtoMessage() {} + +func (x *LogoutResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogoutResponse.ProtoReflect.Descriptor instead. +func (*LogoutResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{5} +} + +func (x *LogoutResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *LogoutResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type VerifyTokenRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyTokenRequest) Reset() { + *x = VerifyTokenRequest{} + mi := &file_auth_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyTokenRequest) ProtoMessage() {} + +func (x *VerifyTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyTokenRequest.ProtoReflect.Descriptor instead. +func (*VerifyTokenRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{6} +} + +func (x *VerifyTokenRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type VerifyTokenResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsValid bool `protobuf:"varint,1,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` + ErrorMessage *string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + Id *string `protobuf:"bytes,3,opt,name=id,proto3,oneof" json:"id,omitempty"` + Username *string `protobuf:"bytes,4,opt,name=username,proto3,oneof" json:"username,omitempty"` + RoleLevel *int32 `protobuf:"varint,5,opt,name=role_level,json=roleLevel,proto3,oneof" json:"role_level,omitempty"` + Permissions []string `protobuf:"bytes,6,rep,name=permissions,proto3" json:"permissions,omitempty"` + SessionId *string `protobuf:"bytes,7,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"` + RequiresPin *bool `protobuf:"varint,8,opt,name=requires_pin,json=requiresPin,proto3,oneof" json:"requires_pin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyTokenResponse) Reset() { + *x = VerifyTokenResponse{} + mi := &file_auth_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyTokenResponse) ProtoMessage() {} + +func (x *VerifyTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyTokenResponse.ProtoReflect.Descriptor instead. +func (*VerifyTokenResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{7} +} + +func (x *VerifyTokenResponse) GetIsValid() bool { + if x != nil { + return x.IsValid + } + return false +} + +func (x *VerifyTokenResponse) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +func (x *VerifyTokenResponse) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *VerifyTokenResponse) GetUsername() string { + if x != nil && x.Username != nil { + return *x.Username + } + return "" +} + +func (x *VerifyTokenResponse) GetRoleLevel() int32 { + if x != nil && x.RoleLevel != nil { + return *x.RoleLevel + } + return 0 +} + +func (x *VerifyTokenResponse) GetPermissions() []string { + if x != nil { + return x.Permissions + } + return nil +} + +func (x *VerifyTokenResponse) GetSessionId() string { + if x != nil && x.SessionId != nil { + return *x.SessionId + } + return "" +} + +func (x *VerifyTokenResponse) GetRequiresPin() bool { + if x != nil && x.RequiresPin != nil { + return *x.RequiresPin + } + return false +} + +type GetAccountRoleLevelRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountRoleLevelRequest) Reset() { + *x = GetAccountRoleLevelRequest{} + mi := &file_auth_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountRoleLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountRoleLevelRequest) ProtoMessage() {} + +func (x *GetAccountRoleLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountRoleLevelRequest.ProtoReflect.Descriptor instead. +func (*GetAccountRoleLevelRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{8} +} + +func (x *GetAccountRoleLevelRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type GetAccountRoleLevelResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"` + RoleLevel int32 `protobuf:"varint,2,opt,name=role_level,json=roleLevel,proto3" json:"role_level,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountRoleLevelResponse) Reset() { + *x = GetAccountRoleLevelResponse{} + mi := &file_auth_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountRoleLevelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountRoleLevelResponse) ProtoMessage() {} + +func (x *GetAccountRoleLevelResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountRoleLevelResponse.ProtoReflect.Descriptor instead. +func (*GetAccountRoleLevelResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{9} +} + +func (x *GetAccountRoleLevelResponse) GetFound() bool { + if x != nil { + return x.Found + } + return false +} + +func (x *GetAccountRoleLevelResponse) GetRoleLevel() int32 { + if x != nil { + return x.RoleLevel + } + return 0 +} + +type UnlockPinRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + PinCode string `protobuf:"bytes,2,opt,name=pin_code,json=pinCode,proto3" json:"pin_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnlockPinRequest) Reset() { + *x = UnlockPinRequest{} + mi := &file_auth_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnlockPinRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnlockPinRequest) ProtoMessage() {} + +func (x *UnlockPinRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnlockPinRequest.ProtoReflect.Descriptor instead. +func (*UnlockPinRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{10} +} + +func (x *UnlockPinRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *UnlockPinRequest) GetPinCode() string { + if x != nil { + return x.PinCode + } + return "" +} + +type UnlockPinResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnlockPinResponse) Reset() { + *x = UnlockPinResponse{} + mi := &file_auth_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnlockPinResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnlockPinResponse) ProtoMessage() {} + +func (x *UnlockPinResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnlockPinResponse.ProtoReflect.Descriptor instead. +func (*UnlockPinResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{11} +} + +func (x *UnlockPinResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UnlockPinResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +var File_auth_proto protoreflect.FileDescriptor + +const file_auth_proto_rawDesc = "" + + "\n" + + "\n" + + "auth.proto\x12\aauth.v1\"F\n" + + "\fLoginRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\"\x9a\x02\n" + + "\rLoginResponse\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12#\n" + + "\rrefresh_token\x18\x02 \x01(\tR\frefreshToken\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x12\x18\n" + + "\aneed2fa\x18\x04 \x01(\bR\aneed2fa\x12\"\n" + + "\n" + + "temp_token\x18\x05 \x01(\tH\x00R\ttempToken\x88\x01\x01\x12\x1d\n" + + "\amessage\x18\x06 \x01(\tH\x01R\amessage\x88\x01\x01\x12\"\n" + + "\n" + + "error_code\x18\a \x01(\tH\x02R\terrorCode\x88\x01\x01B\r\n" + + "\v_temp_tokenB\n" + + "\n" + + "\b_messageB\r\n" + + "\v_error_code\"5\n" + + "\x0eRefreshRequest\x12#\n" + + "\rrefresh_token\x18\x01 \x01(\tR\frefreshToken\"Y\n" + + "\x0fRefreshResponse\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12#\n" + + "\rrefresh_token\x18\x02 \x01(\tR\frefreshToken\"2\n" + + "\rLogoutRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\"D\n" + + "\x0eLogoutResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"*\n" + + "\x12VerifyTokenRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"\xf7\x02\n" + + "\x13VerifyTokenResponse\x12\x19\n" + + "\bis_valid\x18\x01 \x01(\bR\aisValid\x12(\n" + + "\rerror_message\x18\x02 \x01(\tH\x00R\ferrorMessage\x88\x01\x01\x12\x13\n" + + "\x02id\x18\x03 \x01(\tH\x01R\x02id\x88\x01\x01\x12\x1f\n" + + "\busername\x18\x04 \x01(\tH\x02R\busername\x88\x01\x01\x12\"\n" + + "\n" + + "role_level\x18\x05 \x01(\x05H\x03R\troleLevel\x88\x01\x01\x12 \n" + + "\vpermissions\x18\x06 \x03(\tR\vpermissions\x12\"\n" + + "\n" + + "session_id\x18\a \x01(\tH\x04R\tsessionId\x88\x01\x01\x12&\n" + + "\frequires_pin\x18\b \x01(\bH\x05R\vrequiresPin\x88\x01\x01B\x10\n" + + "\x0e_error_messageB\x05\n" + + "\x03_idB\v\n" + + "\t_usernameB\r\n" + + "\v_role_levelB\r\n" + + "\v_session_idB\x0f\n" + + "\r_requires_pin\";\n" + + "\x1aGetAccountRoleLevelRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"R\n" + + "\x1bGetAccountRoleLevelResponse\x12\x14\n" + + "\x05found\x18\x01 \x01(\bR\x05found\x12\x1d\n" + + "\n" + + "role_level\x18\x02 \x01(\x05R\troleLevel\"P\n" + + "\x10UnlockPinRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x19\n" + + "\bpin_code\x18\x02 \x01(\tR\apinCode\"G\n" + + "\x11UnlockPinResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage2\xec\x03\n" + + "\vAuthService\x126\n" + + "\x05Login\x12\x15.auth.v1.LoginRequest\x1a\x16.auth.v1.LoginResponse\x12<\n" + + "\aRefresh\x12\x17.auth.v1.RefreshRequest\x1a\x18.auth.v1.RefreshResponse\x12H\n" + + "\vVerifyToken\x12\x1b.auth.v1.VerifyTokenRequest\x1a\x1c.auth.v1.VerifyTokenResponse\x12`\n" + + "\x13GetAccountRoleLevel\x12#.auth.v1.GetAccountRoleLevelRequest\x1a$.auth.v1.GetAccountRoleLevelResponse\x129\n" + + "\x06Logout\x12\x16.auth.v1.LogoutRequest\x1a\x17.auth.v1.LogoutResponse\x12<\n" + + "\tLogoutAll\x12\x16.auth.v1.LogoutRequest\x1a\x17.auth.v1.LogoutResponse\x12B\n" + + "\tUnlockPin\x12\x19.auth.v1.UnlockPinRequest\x1a\x1a.auth.v1.UnlockPinResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3" + +var ( + file_auth_proto_rawDescOnce sync.Once + file_auth_proto_rawDescData []byte +) + +func file_auth_proto_rawDescGZIP() []byte { + file_auth_proto_rawDescOnce.Do(func() { + file_auth_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_auth_proto_rawDesc), len(file_auth_proto_rawDesc))) + }) + return file_auth_proto_rawDescData +} + +var file_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_auth_proto_goTypes = []any{ + (*LoginRequest)(nil), // 0: auth.v1.LoginRequest + (*LoginResponse)(nil), // 1: auth.v1.LoginResponse + (*RefreshRequest)(nil), // 2: auth.v1.RefreshRequest + (*RefreshResponse)(nil), // 3: auth.v1.RefreshResponse + (*LogoutRequest)(nil), // 4: auth.v1.LogoutRequest + (*LogoutResponse)(nil), // 5: auth.v1.LogoutResponse + (*VerifyTokenRequest)(nil), // 6: auth.v1.VerifyTokenRequest + (*VerifyTokenResponse)(nil), // 7: auth.v1.VerifyTokenResponse + (*GetAccountRoleLevelRequest)(nil), // 8: auth.v1.GetAccountRoleLevelRequest + (*GetAccountRoleLevelResponse)(nil), // 9: auth.v1.GetAccountRoleLevelResponse + (*UnlockPinRequest)(nil), // 10: auth.v1.UnlockPinRequest + (*UnlockPinResponse)(nil), // 11: auth.v1.UnlockPinResponse +} +var file_auth_proto_depIdxs = []int32{ + 0, // 0: auth.v1.AuthService.Login:input_type -> auth.v1.LoginRequest + 2, // 1: auth.v1.AuthService.Refresh:input_type -> auth.v1.RefreshRequest + 6, // 2: auth.v1.AuthService.VerifyToken:input_type -> auth.v1.VerifyTokenRequest + 8, // 3: auth.v1.AuthService.GetAccountRoleLevel:input_type -> auth.v1.GetAccountRoleLevelRequest + 4, // 4: auth.v1.AuthService.Logout:input_type -> auth.v1.LogoutRequest + 4, // 5: auth.v1.AuthService.LogoutAll:input_type -> auth.v1.LogoutRequest + 10, // 6: auth.v1.AuthService.UnlockPin:input_type -> auth.v1.UnlockPinRequest + 1, // 7: auth.v1.AuthService.Login:output_type -> auth.v1.LoginResponse + 3, // 8: auth.v1.AuthService.Refresh:output_type -> auth.v1.RefreshResponse + 7, // 9: auth.v1.AuthService.VerifyToken:output_type -> auth.v1.VerifyTokenResponse + 9, // 10: auth.v1.AuthService.GetAccountRoleLevel:output_type -> auth.v1.GetAccountRoleLevelResponse + 5, // 11: auth.v1.AuthService.Logout:output_type -> auth.v1.LogoutResponse + 5, // 12: auth.v1.AuthService.LogoutAll:output_type -> auth.v1.LogoutResponse + 11, // 13: auth.v1.AuthService.UnlockPin:output_type -> auth.v1.UnlockPinResponse + 7, // [7:14] is the sub-list for method output_type + 0, // [0:7] 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_auth_proto_init() } +func file_auth_proto_init() { + if File_auth_proto != nil { + return + } + file_auth_proto_msgTypes[1].OneofWrappers = []any{} + file_auth_proto_msgTypes[7].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_auth_proto_rawDesc), len(file_auth_proto_rawDesc)), + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_auth_proto_goTypes, + DependencyIndexes: file_auth_proto_depIdxs, + MessageInfos: file_auth_proto_msgTypes, + }.Build() + File_auth_proto = out.File + file_auth_proto_goTypes = nil + file_auth_proto_depIdxs = nil +} diff --git a/gen/go/auth_grpc.pb.go b/gen/go/auth_grpc.pb.go new file mode 100644 index 0000000..ee3d325 --- /dev/null +++ b/gen/go/auth_grpc.pb.go @@ -0,0 +1,349 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v3.21.12 +// source: auth.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 ( + AuthService_Login_FullMethodName = "/auth.v1.AuthService/Login" + AuthService_Refresh_FullMethodName = "/auth.v1.AuthService/Refresh" + AuthService_VerifyToken_FullMethodName = "/auth.v1.AuthService/VerifyToken" + AuthService_GetAccountRoleLevel_FullMethodName = "/auth.v1.AuthService/GetAccountRoleLevel" + AuthService_Logout_FullMethodName = "/auth.v1.AuthService/Logout" + AuthService_LogoutAll_FullMethodName = "/auth.v1.AuthService/LogoutAll" + AuthService_UnlockPin_FullMethodName = "/auth.v1.AuthService/UnlockPin" +) + +// AuthServiceClient is the client API for AuthService 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 AuthServiceClient interface { + Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) + Refresh(ctx context.Context, in *RefreshRequest, opts ...grpc.CallOption) (*RefreshResponse, error) + VerifyToken(ctx context.Context, in *VerifyTokenRequest, opts ...grpc.CallOption) (*VerifyTokenResponse, error) + GetAccountRoleLevel(ctx context.Context, in *GetAccountRoleLevelRequest, opts ...grpc.CallOption) (*GetAccountRoleLevelResponse, error) + Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) + LogoutAll(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) + UnlockPin(ctx context.Context, in *UnlockPinRequest, opts ...grpc.CallOption) (*UnlockPinResponse, error) +} + +type authServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAuthServiceClient(cc grpc.ClientConnInterface) AuthServiceClient { + return &authServiceClient{cc} +} + +func (c *authServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(LoginResponse) + err := c.cc.Invoke(ctx, AuthService_Login_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) Refresh(ctx context.Context, in *RefreshRequest, opts ...grpc.CallOption) (*RefreshResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RefreshResponse) + err := c.cc.Invoke(ctx, AuthService_Refresh_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) VerifyToken(ctx context.Context, in *VerifyTokenRequest, opts ...grpc.CallOption) (*VerifyTokenResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VerifyTokenResponse) + err := c.cc.Invoke(ctx, AuthService_VerifyToken_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) GetAccountRoleLevel(ctx context.Context, in *GetAccountRoleLevelRequest, opts ...grpc.CallOption) (*GetAccountRoleLevelResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAccountRoleLevelResponse) + err := c.cc.Invoke(ctx, AuthService_GetAccountRoleLevel_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(LogoutResponse) + err := c.cc.Invoke(ctx, AuthService_Logout_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) LogoutAll(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(LogoutResponse) + err := c.cc.Invoke(ctx, AuthService_LogoutAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authServiceClient) UnlockPin(ctx context.Context, in *UnlockPinRequest, opts ...grpc.CallOption) (*UnlockPinResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UnlockPinResponse) + err := c.cc.Invoke(ctx, AuthService_UnlockPin_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AuthServiceServer is the server API for AuthService service. +// All implementations must embed UnimplementedAuthServiceServer +// for forward compatibility. +type AuthServiceServer interface { + Login(context.Context, *LoginRequest) (*LoginResponse, error) + Refresh(context.Context, *RefreshRequest) (*RefreshResponse, error) + VerifyToken(context.Context, *VerifyTokenRequest) (*VerifyTokenResponse, error) + GetAccountRoleLevel(context.Context, *GetAccountRoleLevelRequest) (*GetAccountRoleLevelResponse, error) + Logout(context.Context, *LogoutRequest) (*LogoutResponse, error) + LogoutAll(context.Context, *LogoutRequest) (*LogoutResponse, error) + UnlockPin(context.Context, *UnlockPinRequest) (*UnlockPinResponse, error) + mustEmbedUnimplementedAuthServiceServer() +} + +// UnimplementedAuthServiceServer 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 UnimplementedAuthServiceServer struct{} + +func (UnimplementedAuthServiceServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Login not implemented") +} +func (UnimplementedAuthServiceServer) Refresh(context.Context, *RefreshRequest) (*RefreshResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Refresh not implemented") +} +func (UnimplementedAuthServiceServer) VerifyToken(context.Context, *VerifyTokenRequest) (*VerifyTokenResponse, error) { + return nil, status.Error(codes.Unimplemented, "method VerifyToken not implemented") +} +func (UnimplementedAuthServiceServer) GetAccountRoleLevel(context.Context, *GetAccountRoleLevelRequest) (*GetAccountRoleLevelResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetAccountRoleLevel not implemented") +} +func (UnimplementedAuthServiceServer) Logout(context.Context, *LogoutRequest) (*LogoutResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Logout not implemented") +} +func (UnimplementedAuthServiceServer) LogoutAll(context.Context, *LogoutRequest) (*LogoutResponse, error) { + return nil, status.Error(codes.Unimplemented, "method LogoutAll not implemented") +} +func (UnimplementedAuthServiceServer) UnlockPin(context.Context, *UnlockPinRequest) (*UnlockPinResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UnlockPin not implemented") +} +func (UnimplementedAuthServiceServer) mustEmbedUnimplementedAuthServiceServer() {} +func (UnimplementedAuthServiceServer) testEmbeddedByValue() {} + +// UnsafeAuthServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AuthServiceServer will +// result in compilation errors. +type UnsafeAuthServiceServer interface { + mustEmbedUnimplementedAuthServiceServer() +} + +func RegisterAuthServiceServer(s grpc.ServiceRegistrar, srv AuthServiceServer) { + // If the following call panics, it indicates UnimplementedAuthServiceServer 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(&AuthService_ServiceDesc, srv) +} + +func _AuthService_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).Login(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_Login_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).Login(ctx, req.(*LoginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_Refresh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).Refresh(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_Refresh_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).Refresh(ctx, req.(*RefreshRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_VerifyToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifyTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).VerifyToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_VerifyToken_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).VerifyToken(ctx, req.(*VerifyTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_GetAccountRoleLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountRoleLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).GetAccountRoleLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_GetAccountRoleLevel_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).GetAccountRoleLevel(ctx, req.(*GetAccountRoleLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LogoutRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).Logout(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_Logout_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).Logout(ctx, req.(*LogoutRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_LogoutAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LogoutRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).LogoutAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_LogoutAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).LogoutAll(ctx, req.(*LogoutRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthService_UnlockPin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnlockPinRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthServiceServer).UnlockPin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthService_UnlockPin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthServiceServer).UnlockPin(ctx, req.(*UnlockPinRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AuthService_ServiceDesc is the grpc.ServiceDesc for AuthService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AuthService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "auth.v1.AuthService", + HandlerType: (*AuthServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Login", + Handler: _AuthService_Login_Handler, + }, + { + MethodName: "Refresh", + Handler: _AuthService_Refresh_Handler, + }, + { + MethodName: "VerifyToken", + Handler: _AuthService_VerifyToken_Handler, + }, + { + MethodName: "GetAccountRoleLevel", + Handler: _AuthService_GetAccountRoleLevel_Handler, + }, + { + MethodName: "Logout", + Handler: _AuthService_Logout_Handler, + }, + { + MethodName: "LogoutAll", + Handler: _AuthService_LogoutAll_Handler, + }, + { + MethodName: "UnlockPin", + Handler: _AuthService_UnlockPin_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "auth.proto", +} diff --git a/gen/go/ldap-auth.pb.go b/gen/go/ldap-auth.pb.go new file mode 100644 index 0000000..dedb1f5 --- /dev/null +++ b/gen/go/ldap-auth.pb.go @@ -0,0 +1,314 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v3.21.12 +// source: ldap-auth.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 UserData struct { + state protoimpl.MessageState `protogen:"open.v1"` + Dn string `protobuf:"bytes,1,opt,name=dn,proto3" json:"dn,omitempty"` // Полный путь в AD (Distinguished Name) + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // Логин (sAMAccountName) + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // ФИО (displayName) + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` // Почта (mail) + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` // Описание/Должность (description) + Avatar []byte `protobuf:"bytes,6,opt,name=avatar,proto3" json:"avatar,omitempty"` // Аватарка в байтах (thumbnailPhoto) + Groups []string `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups,omitempty"` // Список групп + IsActive bool `protobuf:"varint,8,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` // Статус аккаунта + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserData) Reset() { + *x = UserData{} + mi := &file_ldap_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserData) ProtoMessage() {} + +func (x *UserData) ProtoReflect() protoreflect.Message { + mi := &file_ldap_auth_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 UserData.ProtoReflect.Descriptor instead. +func (*UserData) Descriptor() ([]byte, []int) { + return file_ldap_auth_proto_rawDescGZIP(), []int{0} +} + +func (x *UserData) GetDn() string { + if x != nil { + return x.Dn + } + return "" +} + +func (x *UserData) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserData) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *UserData) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *UserData) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UserData) GetAvatar() []byte { + if x != nil { + return x.Avatar + } + return nil +} + +func (x *UserData) GetGroups() []string { + if x != nil { + return x.Groups + } + return nil +} + +func (x *UserData) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +// --- Авторизация --- +type VerifyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyRequest) Reset() { + *x = VerifyRequest{} + mi := &file_ldap_auth_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyRequest) ProtoMessage() {} + +func (x *VerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_auth_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 VerifyRequest.ProtoReflect.Descriptor instead. +func (*VerifyRequest) Descriptor() ([]byte, []int) { + return file_ldap_auth_proto_rawDescGZIP(), []int{1} +} + +func (x *VerifyRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *VerifyRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type VerifyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + User *UserData `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` // Отдаем полные данные при успешном входе + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyResponse) Reset() { + *x = VerifyResponse{} + mi := &file_ldap_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyResponse) ProtoMessage() {} + +func (x *VerifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_ldap_auth_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 VerifyResponse.ProtoReflect.Descriptor instead. +func (*VerifyResponse) Descriptor() ([]byte, []int) { + return file_ldap_auth_proto_rawDescGZIP(), []int{2} +} + +func (x *VerifyResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *VerifyResponse) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *VerifyResponse) GetUser() *UserData { + if x != nil { + return x.User + } + return nil +} + +var File_ldap_auth_proto protoreflect.FileDescriptor + +const file_ldap_auth_proto_rawDesc = "" + + "\n" + + "\x0fldap-auth.proto\x12\fldap_auth.v1\"\xde\x01\n" + + "\bUserData\x12\x0e\n" + + "\x02dn\x18\x01 \x01(\tR\x02dn\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busername\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x14\n" + + "\x05email\x18\x04 \x01(\tR\x05email\x12 \n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + + "\x06avatar\x18\x06 \x01(\fR\x06avatar\x12\x16\n" + + "\x06groups\x18\a \x03(\tR\x06groups\x12\x1b\n" + + "\tis_active\x18\b \x01(\bR\bisActive\"G\n" + + "\rVerifyRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\"{\n" + + "\x0eVerifyResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12*\n" + + "\x04user\x18\x03 \x01(\v2\x16.ldap_auth.v1.UserDataR\x04user2Z\n" + + "\x0fLdapAuthService\x12G\n" + + "\n" + + "VerifyUser\x12\x1b.ldap_auth.v1.VerifyRequest\x1a\x1c.ldap_auth.v1.VerifyResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3" + +var ( + file_ldap_auth_proto_rawDescOnce sync.Once + file_ldap_auth_proto_rawDescData []byte +) + +func file_ldap_auth_proto_rawDescGZIP() []byte { + file_ldap_auth_proto_rawDescOnce.Do(func() { + file_ldap_auth_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ldap_auth_proto_rawDesc), len(file_ldap_auth_proto_rawDesc))) + }) + return file_ldap_auth_proto_rawDescData +} + +var file_ldap_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_ldap_auth_proto_goTypes = []any{ + (*UserData)(nil), // 0: ldap_auth.v1.UserData + (*VerifyRequest)(nil), // 1: ldap_auth.v1.VerifyRequest + (*VerifyResponse)(nil), // 2: ldap_auth.v1.VerifyResponse +} +var file_ldap_auth_proto_depIdxs = []int32{ + 0, // 0: ldap_auth.v1.VerifyResponse.user:type_name -> ldap_auth.v1.UserData + 1, // 1: ldap_auth.v1.LdapAuthService.VerifyUser:input_type -> ldap_auth.v1.VerifyRequest + 2, // 2: ldap_auth.v1.LdapAuthService.VerifyUser:output_type -> ldap_auth.v1.VerifyResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_ldap_auth_proto_init() } +func file_ldap_auth_proto_init() { + if File_ldap_auth_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_ldap_auth_proto_rawDesc), len(file_ldap_auth_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_ldap_auth_proto_goTypes, + DependencyIndexes: file_ldap_auth_proto_depIdxs, + MessageInfos: file_ldap_auth_proto_msgTypes, + }.Build() + File_ldap_auth_proto = out.File + file_ldap_auth_proto_goTypes = nil + file_ldap_auth_proto_depIdxs = nil +} diff --git a/gen/go/ldap-auth_grpc.pb.go b/gen/go/ldap-auth_grpc.pb.go new file mode 100644 index 0000000..fa0626c --- /dev/null +++ b/gen/go/ldap-auth_grpc.pb.go @@ -0,0 +1,121 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v3.21.12 +// source: ldap-auth.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 ( + LdapAuthService_VerifyUser_FullMethodName = "/ldap_auth.v1.LdapAuthService/VerifyUser" +) + +// LdapAuthServiceClient is the client API for LdapAuthService 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 LdapAuthServiceClient interface { + VerifyUser(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyResponse, error) +} + +type ldapAuthServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewLdapAuthServiceClient(cc grpc.ClientConnInterface) LdapAuthServiceClient { + return &ldapAuthServiceClient{cc} +} + +func (c *ldapAuthServiceClient) VerifyUser(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VerifyResponse) + err := c.cc.Invoke(ctx, LdapAuthService_VerifyUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// LdapAuthServiceServer is the server API for LdapAuthService service. +// All implementations must embed UnimplementedLdapAuthServiceServer +// for forward compatibility. +type LdapAuthServiceServer interface { + VerifyUser(context.Context, *VerifyRequest) (*VerifyResponse, error) + mustEmbedUnimplementedLdapAuthServiceServer() +} + +// UnimplementedLdapAuthServiceServer 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 UnimplementedLdapAuthServiceServer struct{} + +func (UnimplementedLdapAuthServiceServer) VerifyUser(context.Context, *VerifyRequest) (*VerifyResponse, error) { + return nil, status.Error(codes.Unimplemented, "method VerifyUser not implemented") +} +func (UnimplementedLdapAuthServiceServer) mustEmbedUnimplementedLdapAuthServiceServer() {} +func (UnimplementedLdapAuthServiceServer) testEmbeddedByValue() {} + +// UnsafeLdapAuthServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to LdapAuthServiceServer will +// result in compilation errors. +type UnsafeLdapAuthServiceServer interface { + mustEmbedUnimplementedLdapAuthServiceServer() +} + +func RegisterLdapAuthServiceServer(s grpc.ServiceRegistrar, srv LdapAuthServiceServer) { + // If the following call panics, it indicates UnimplementedLdapAuthServiceServer 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(&LdapAuthService_ServiceDesc, srv) +} + +func _LdapAuthService_VerifyUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapAuthServiceServer).VerifyUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapAuthService_VerifyUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapAuthServiceServer).VerifyUser(ctx, req.(*VerifyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// LdapAuthService_ServiceDesc is the grpc.ServiceDesc for LdapAuthService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var LdapAuthService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "ldap_auth.v1.LdapAuthService", + HandlerType: (*LdapAuthServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "VerifyUser", + Handler: _LdapAuthService_VerifyUser_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ldap-auth.proto", +} diff --git a/gen/go/ldap.pb.go b/gen/go/ldap.pb.go new file mode 100644 index 0000000..00ad45c --- /dev/null +++ b/gen/go/ldap.pb.go @@ -0,0 +1,838 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v3.21.12 +// source: ldap.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 EmptyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EmptyRequest) Reset() { + *x = EmptyRequest{} + mi := &file_ldap_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EmptyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmptyRequest) ProtoMessage() {} + +func (x *EmptyRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_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 EmptyRequest.ProtoReflect.Descriptor instead. +func (*EmptyRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{0} +} + +// Стандартный ответ для мутаций (создание, обновление, удаление) +type StatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusResponse) Reset() { + *x = StatusResponse{} + mi := &file_ldap_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusResponse) ProtoMessage() {} + +func (x *StatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_ldap_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 StatusResponse.ProtoReflect.Descriptor instead. +func (*StatusResponse) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{1} +} + +func (x *StatusResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *StatusResponse) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +// Полная модель пользователя +type UserData struct { + state protoimpl.MessageState `protogen:"open.v1"` + Dn string `protobuf:"bytes,1,opt,name=dn,proto3" json:"dn,omitempty"` // Полный путь в AD (Distinguished Name) + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // Логин (sAMAccountName) + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // ФИО (displayName) + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` // Почта (mail) + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` // Описание/Должность (description) + Avatar []byte `protobuf:"bytes,6,opt,name=avatar,proto3" json:"avatar,omitempty"` // Аватарка в байтах (thumbnailPhoto) + Groups []string `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups,omitempty"` // Список групп + IsActive bool `protobuf:"varint,8,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` // Статус аккаунта + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserData) Reset() { + *x = UserData{} + mi := &file_ldap_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserData) ProtoMessage() {} + +func (x *UserData) ProtoReflect() protoreflect.Message { + mi := &file_ldap_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 UserData.ProtoReflect.Descriptor instead. +func (*UserData) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{2} +} + +func (x *UserData) GetDn() string { + if x != nil { + return x.Dn + } + return "" +} + +func (x *UserData) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserData) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *UserData) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *UserData) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UserData) GetAvatar() []byte { + if x != nil { + return x.Avatar + } + return nil +} + +func (x *UserData) GetGroups() []string { + if x != nil { + return x.Groups + } + return nil +} + +func (x *UserData) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +// Модель группы +type GroupData struct { + state protoimpl.MessageState `protogen:"open.v1"` + Dn string `protobuf:"bytes,1,opt,name=dn,proto3" json:"dn,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Короткое имя группы (cn) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupData) Reset() { + *x = GroupData{} + mi := &file_ldap_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupData) ProtoMessage() {} + +func (x *GroupData) ProtoReflect() protoreflect.Message { + mi := &file_ldap_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 GroupData.ProtoReflect.Descriptor instead. +func (*GroupData) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{3} +} + +func (x *GroupData) GetDn() string { + if x != nil { + return x.Dn + } + return "" +} + +func (x *GroupData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// --- Списки --- +type UserListResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + Users []*UserData `protobuf:"bytes,3,rep,name=users,proto3" json:"users,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserListResponse) Reset() { + *x = UserListResponse{} + mi := &file_ldap_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListResponse) ProtoMessage() {} + +func (x *UserListResponse) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserListResponse.ProtoReflect.Descriptor instead. +func (*UserListResponse) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{4} +} + +func (x *UserListResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UserListResponse) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *UserListResponse) GetUsers() []*UserData { + if x != nil { + return x.Users + } + return nil +} + +type GroupListResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + Groups []*GroupData `protobuf:"bytes,3,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupListResponse) Reset() { + *x = GroupListResponse{} + mi := &file_ldap_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupListResponse) ProtoMessage() {} + +func (x *GroupListResponse) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupListResponse.ProtoReflect.Descriptor instead. +func (*GroupListResponse) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{5} +} + +func (x *GroupListResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GroupListResponse) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *GroupListResponse) GetGroups() []*GroupData { + if x != nil { + return x.Groups + } + return nil +} + +// --- Управление профилем --- +type CreateUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + FullName string `protobuf:"bytes,2,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` + Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` + Email *string `protobuf:"bytes,4,opt,name=email,proto3,oneof" json:"email,omitempty"` // Сразу при создании можно задать почту + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateUserRequest) Reset() { + *x = CreateUserRequest{} + mi := &file_ldap_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserRequest) ProtoMessage() {} + +func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead. +func (*CreateUserRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateUserRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *CreateUserRequest) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +func (x *CreateUserRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *CreateUserRequest) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" +} + +// Запрос на обновление. Используем optional для частичного обновления. +type UpdateUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // Обязательное поле: кого обновляем + DisplayName *string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3,oneof" json:"display_name,omitempty"` // Новое ФИО (повлечет Rename CN) + Email *string `protobuf:"bytes,3,opt,name=email,proto3,oneof" json:"email,omitempty"` // Новая почта + Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"` // Новое описание + Avatar []byte `protobuf:"bytes,5,opt,name=avatar,proto3,oneof" json:"avatar,omitempty"` // Новая аватарка (бинарник картинки) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateUserRequest) Reset() { + *x = UpdateUserRequest{} + mi := &file_ldap_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserRequest) ProtoMessage() {} + +func (x *UpdateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateUserRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateUserRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UpdateUserRequest) GetDisplayName() string { + if x != nil && x.DisplayName != nil { + return *x.DisplayName + } + return "" +} + +func (x *UpdateUserRequest) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" +} + +func (x *UpdateUserRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *UpdateUserRequest) GetAvatar() []byte { + if x != nil { + return x.Avatar + } + return nil +} + +type ChangePasswordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + NewPassword string `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangePasswordRequest) Reset() { + *x = ChangePasswordRequest{} + mi := &file_ldap_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangePasswordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangePasswordRequest) ProtoMessage() {} + +func (x *ChangePasswordRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangePasswordRequest.ProtoReflect.Descriptor instead. +func (*ChangePasswordRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{8} +} + +func (x *ChangePasswordRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ChangePasswordRequest) GetNewPassword() string { + if x != nil { + return x.NewPassword + } + return "" +} + +type ToggleStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + SetActive bool `protobuf:"varint,2,opt,name=set_active,json=setActive,proto3" json:"set_active,omitempty"` // true - включить (512), false - отключить (514) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ToggleStatusRequest) Reset() { + *x = ToggleStatusRequest{} + mi := &file_ldap_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToggleStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToggleStatusRequest) ProtoMessage() {} + +func (x *ToggleStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToggleStatusRequest.ProtoReflect.Descriptor instead. +func (*ToggleStatusRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{9} +} + +func (x *ToggleStatusRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ToggleStatusRequest) GetSetActive() bool { + if x != nil { + return x.SetActive + } + return false +} + +// --- Управление членством в группах --- +type GroupMemberRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // Логин пользователя + GroupDn string `protobuf:"bytes,2,opt,name=group_dn,json=groupDn,proto3" json:"group_dn,omitempty"` // Полный путь группы (в которую добавляем / из которой удаляем) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupMemberRequest) Reset() { + *x = GroupMemberRequest{} + mi := &file_ldap_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupMemberRequest) ProtoMessage() {} + +func (x *GroupMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_ldap_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupMemberRequest.ProtoReflect.Descriptor instead. +func (*GroupMemberRequest) Descriptor() ([]byte, []int) { + return file_ldap_proto_rawDescGZIP(), []int{10} +} + +func (x *GroupMemberRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *GroupMemberRequest) GetGroupDn() string { + if x != nil { + return x.GroupDn + } + return "" +} + +var File_ldap_proto protoreflect.FileDescriptor + +const file_ldap_proto_rawDesc = "" + + "\n" + + "\n" + + "ldap.proto\x12\aldap.v1\"\x0e\n" + + "\fEmptyRequest\"O\n" + + "\x0eStatusResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\"\xde\x01\n" + + "\bUserData\x12\x0e\n" + + "\x02dn\x18\x01 \x01(\tR\x02dn\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busername\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x14\n" + + "\x05email\x18\x04 \x01(\tR\x05email\x12 \n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" + + "\x06avatar\x18\x06 \x01(\fR\x06avatar\x12\x16\n" + + "\x06groups\x18\a \x03(\tR\x06groups\x12\x1b\n" + + "\tis_active\x18\b \x01(\bR\bisActive\"/\n" + + "\tGroupData\x12\x0e\n" + + "\x02dn\x18\x01 \x01(\tR\x02dn\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"z\n" + + "\x10UserListResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12'\n" + + "\x05users\x18\x03 \x03(\v2\x11.ldap.v1.UserDataR\x05users\"~\n" + + "\x11GroupListResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" + + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12*\n" + + "\x06groups\x18\x03 \x03(\v2\x12.ldap.v1.GroupDataR\x06groups\"\x8d\x01\n" + + "\x11CreateUserRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12\x1b\n" + + "\tfull_name\x18\x02 \x01(\tR\bfullName\x12\x1a\n" + + "\bpassword\x18\x03 \x01(\tR\bpassword\x12\x19\n" + + "\x05email\x18\x04 \x01(\tH\x00R\x05email\x88\x01\x01B\b\n" + + "\x06_email\"\xec\x01\n" + + "\x11UpdateUserRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12&\n" + + "\fdisplay_name\x18\x02 \x01(\tH\x00R\vdisplayName\x88\x01\x01\x12\x19\n" + + "\x05email\x18\x03 \x01(\tH\x01R\x05email\x88\x01\x01\x12%\n" + + "\vdescription\x18\x04 \x01(\tH\x02R\vdescription\x88\x01\x01\x12\x1b\n" + + "\x06avatar\x18\x05 \x01(\fH\x03R\x06avatar\x88\x01\x01B\x0f\n" + + "\r_display_nameB\b\n" + + "\x06_emailB\x0e\n" + + "\f_descriptionB\t\n" + + "\a_avatar\"V\n" + + "\x15ChangePasswordRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12!\n" + + "\fnew_password\x18\x02 \x01(\tR\vnewPassword\"P\n" + + "\x13ToggleStatusRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12\x1d\n" + + "\n" + + "set_active\x18\x02 \x01(\bR\tsetActive\"K\n" + + "\x12GroupMemberRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12\x19\n" + + "\bgroup_dn\x18\x02 \x01(\tR\agroupDn2\xbc\x04\n" + + "\vLdapService\x12<\n" + + "\bGetUsers\x12\x15.ldap.v1.EmptyRequest\x1a\x19.ldap.v1.UserListResponse\x12A\n" + + "\n" + + "CreateUser\x12\x1a.ldap.v1.CreateUserRequest\x1a\x17.ldap.v1.StatusResponse\x12A\n" + + "\n" + + "UpdateUser\x12\x1a.ldap.v1.UpdateUserRequest\x1a\x17.ldap.v1.StatusResponse\x12I\n" + + "\x0eChangePassword\x12\x1e.ldap.v1.ChangePasswordRequest\x1a\x17.ldap.v1.StatusResponse\x12I\n" + + "\x10ToggleUserStatus\x12\x1c.ldap.v1.ToggleStatusRequest\x1a\x17.ldap.v1.StatusResponse\x12>\n" + + "\tGetGroups\x12\x15.ldap.v1.EmptyRequest\x1a\x1a.ldap.v1.GroupListResponse\x12F\n" + + "\x0eAddUserToGroup\x12\x1b.ldap.v1.GroupMemberRequest\x1a\x17.ldap.v1.StatusResponse\x12K\n" + + "\x13RemoveUserFromGroup\x12\x1b.ldap.v1.GroupMemberRequest\x1a\x17.ldap.v1.StatusResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3" + +var ( + file_ldap_proto_rawDescOnce sync.Once + file_ldap_proto_rawDescData []byte +) + +func file_ldap_proto_rawDescGZIP() []byte { + file_ldap_proto_rawDescOnce.Do(func() { + file_ldap_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ldap_proto_rawDesc), len(file_ldap_proto_rawDesc))) + }) + return file_ldap_proto_rawDescData +} + +var file_ldap_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_ldap_proto_goTypes = []any{ + (*EmptyRequest)(nil), // 0: ldap.v1.EmptyRequest + (*StatusResponse)(nil), // 1: ldap.v1.StatusResponse + (*UserData)(nil), // 2: ldap.v1.UserData + (*GroupData)(nil), // 3: ldap.v1.GroupData + (*UserListResponse)(nil), // 4: ldap.v1.UserListResponse + (*GroupListResponse)(nil), // 5: ldap.v1.GroupListResponse + (*CreateUserRequest)(nil), // 6: ldap.v1.CreateUserRequest + (*UpdateUserRequest)(nil), // 7: ldap.v1.UpdateUserRequest + (*ChangePasswordRequest)(nil), // 8: ldap.v1.ChangePasswordRequest + (*ToggleStatusRequest)(nil), // 9: ldap.v1.ToggleStatusRequest + (*GroupMemberRequest)(nil), // 10: ldap.v1.GroupMemberRequest +} +var file_ldap_proto_depIdxs = []int32{ + 2, // 0: ldap.v1.UserListResponse.users:type_name -> ldap.v1.UserData + 3, // 1: ldap.v1.GroupListResponse.groups:type_name -> ldap.v1.GroupData + 0, // 2: ldap.v1.LdapService.GetUsers:input_type -> ldap.v1.EmptyRequest + 6, // 3: ldap.v1.LdapService.CreateUser:input_type -> ldap.v1.CreateUserRequest + 7, // 4: ldap.v1.LdapService.UpdateUser:input_type -> ldap.v1.UpdateUserRequest + 8, // 5: ldap.v1.LdapService.ChangePassword:input_type -> ldap.v1.ChangePasswordRequest + 9, // 6: ldap.v1.LdapService.ToggleUserStatus:input_type -> ldap.v1.ToggleStatusRequest + 0, // 7: ldap.v1.LdapService.GetGroups:input_type -> ldap.v1.EmptyRequest + 10, // 8: ldap.v1.LdapService.AddUserToGroup:input_type -> ldap.v1.GroupMemberRequest + 10, // 9: ldap.v1.LdapService.RemoveUserFromGroup:input_type -> ldap.v1.GroupMemberRequest + 4, // 10: ldap.v1.LdapService.GetUsers:output_type -> ldap.v1.UserListResponse + 1, // 11: ldap.v1.LdapService.CreateUser:output_type -> ldap.v1.StatusResponse + 1, // 12: ldap.v1.LdapService.UpdateUser:output_type -> ldap.v1.StatusResponse + 1, // 13: ldap.v1.LdapService.ChangePassword:output_type -> ldap.v1.StatusResponse + 1, // 14: ldap.v1.LdapService.ToggleUserStatus:output_type -> ldap.v1.StatusResponse + 5, // 15: ldap.v1.LdapService.GetGroups:output_type -> ldap.v1.GroupListResponse + 1, // 16: ldap.v1.LdapService.AddUserToGroup:output_type -> ldap.v1.StatusResponse + 1, // 17: ldap.v1.LdapService.RemoveUserFromGroup:output_type -> ldap.v1.StatusResponse + 10, // [10:18] is the sub-list for method output_type + 2, // [2:10] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_ldap_proto_init() } +func file_ldap_proto_init() { + if File_ldap_proto != nil { + return + } + file_ldap_proto_msgTypes[6].OneofWrappers = []any{} + file_ldap_proto_msgTypes[7].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_ldap_proto_rawDesc), len(file_ldap_proto_rawDesc)), + NumEnums: 0, + NumMessages: 11, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_ldap_proto_goTypes, + DependencyIndexes: file_ldap_proto_depIdxs, + MessageInfos: file_ldap_proto_msgTypes, + }.Build() + File_ldap_proto = out.File + file_ldap_proto_goTypes = nil + file_ldap_proto_depIdxs = nil +} diff --git a/gen/go/ldap_grpc.pb.go b/gen/go/ldap_grpc.pb.go new file mode 100644 index 0000000..955c663 --- /dev/null +++ b/gen/go/ldap_grpc.pb.go @@ -0,0 +1,391 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v3.21.12 +// source: ldap.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 ( + LdapService_GetUsers_FullMethodName = "/ldap.v1.LdapService/GetUsers" + LdapService_CreateUser_FullMethodName = "/ldap.v1.LdapService/CreateUser" + LdapService_UpdateUser_FullMethodName = "/ldap.v1.LdapService/UpdateUser" + LdapService_ChangePassword_FullMethodName = "/ldap.v1.LdapService/ChangePassword" + LdapService_ToggleUserStatus_FullMethodName = "/ldap.v1.LdapService/ToggleUserStatus" + LdapService_GetGroups_FullMethodName = "/ldap.v1.LdapService/GetGroups" + LdapService_AddUserToGroup_FullMethodName = "/ldap.v1.LdapService/AddUserToGroup" + LdapService_RemoveUserFromGroup_FullMethodName = "/ldap.v1.LdapService/RemoveUserFromGroup" +) + +// LdapServiceClient is the client API for LdapService 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 LdapServiceClient interface { + // Управление Пользователями (Bind системного аккаунта) --- + GetUsers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*UserListResponse, error) + CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*StatusResponse, error) + UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*StatusResponse, error) + ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*StatusResponse, error) + ToggleUserStatus(ctx context.Context, in *ToggleStatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) + // Управление Группами --- + GetGroups(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GroupListResponse, error) + AddUserToGroup(ctx context.Context, in *GroupMemberRequest, opts ...grpc.CallOption) (*StatusResponse, error) + RemoveUserFromGroup(ctx context.Context, in *GroupMemberRequest, opts ...grpc.CallOption) (*StatusResponse, error) +} + +type ldapServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewLdapServiceClient(cc grpc.ClientConnInterface) LdapServiceClient { + return &ldapServiceClient{cc} +} + +func (c *ldapServiceClient) GetUsers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*UserListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserListResponse) + err := c.cc.Invoke(ctx, LdapService_GetUsers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_CreateUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_UpdateUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_ChangePassword_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) ToggleUserStatus(ctx context.Context, in *ToggleStatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_ToggleUserStatus_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) GetGroups(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GroupListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GroupListResponse) + err := c.cc.Invoke(ctx, LdapService_GetGroups_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) AddUserToGroup(ctx context.Context, in *GroupMemberRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_AddUserToGroup_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *ldapServiceClient) RemoveUserFromGroup(ctx context.Context, in *GroupMemberRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StatusResponse) + err := c.cc.Invoke(ctx, LdapService_RemoveUserFromGroup_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// LdapServiceServer is the server API for LdapService service. +// All implementations must embed UnimplementedLdapServiceServer +// for forward compatibility. +type LdapServiceServer interface { + // Управление Пользователями (Bind системного аккаунта) --- + GetUsers(context.Context, *EmptyRequest) (*UserListResponse, error) + CreateUser(context.Context, *CreateUserRequest) (*StatusResponse, error) + UpdateUser(context.Context, *UpdateUserRequest) (*StatusResponse, error) + ChangePassword(context.Context, *ChangePasswordRequest) (*StatusResponse, error) + ToggleUserStatus(context.Context, *ToggleStatusRequest) (*StatusResponse, error) + // Управление Группами --- + GetGroups(context.Context, *EmptyRequest) (*GroupListResponse, error) + AddUserToGroup(context.Context, *GroupMemberRequest) (*StatusResponse, error) + RemoveUserFromGroup(context.Context, *GroupMemberRequest) (*StatusResponse, error) + mustEmbedUnimplementedLdapServiceServer() +} + +// UnimplementedLdapServiceServer 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 UnimplementedLdapServiceServer struct{} + +func (UnimplementedLdapServiceServer) GetUsers(context.Context, *EmptyRequest) (*UserListResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUsers not implemented") +} +func (UnimplementedLdapServiceServer) CreateUser(context.Context, *CreateUserRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateUser not implemented") +} +func (UnimplementedLdapServiceServer) UpdateUser(context.Context, *UpdateUserRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateUser not implemented") +} +func (UnimplementedLdapServiceServer) ChangePassword(context.Context, *ChangePasswordRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ChangePassword not implemented") +} +func (UnimplementedLdapServiceServer) ToggleUserStatus(context.Context, *ToggleStatusRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ToggleUserStatus not implemented") +} +func (UnimplementedLdapServiceServer) GetGroups(context.Context, *EmptyRequest) (*GroupListResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetGroups not implemented") +} +func (UnimplementedLdapServiceServer) AddUserToGroup(context.Context, *GroupMemberRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AddUserToGroup not implemented") +} +func (UnimplementedLdapServiceServer) RemoveUserFromGroup(context.Context, *GroupMemberRequest) (*StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RemoveUserFromGroup not implemented") +} +func (UnimplementedLdapServiceServer) mustEmbedUnimplementedLdapServiceServer() {} +func (UnimplementedLdapServiceServer) testEmbeddedByValue() {} + +// UnsafeLdapServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to LdapServiceServer will +// result in compilation errors. +type UnsafeLdapServiceServer interface { + mustEmbedUnimplementedLdapServiceServer() +} + +func RegisterLdapServiceServer(s grpc.ServiceRegistrar, srv LdapServiceServer) { + // If the following call panics, it indicates UnimplementedLdapServiceServer 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(&LdapService_ServiceDesc, srv) +} + +func _LdapService_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).GetUsers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_GetUsers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).GetUsers(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).CreateUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_CreateUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).CreateUser(ctx, req.(*CreateUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_UpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).UpdateUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_UpdateUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).UpdateUser(ctx, req.(*UpdateUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_ChangePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangePasswordRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).ChangePassword(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_ChangePassword_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).ChangePassword(ctx, req.(*ChangePasswordRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_ToggleUserStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ToggleStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).ToggleUserStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_ToggleUserStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).ToggleUserStatus(ctx, req.(*ToggleStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).GetGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_GetGroups_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).GetGroups(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_AddUserToGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GroupMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).AddUserToGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_AddUserToGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).AddUserToGroup(ctx, req.(*GroupMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _LdapService_RemoveUserFromGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GroupMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LdapServiceServer).RemoveUserFromGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: LdapService_RemoveUserFromGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LdapServiceServer).RemoveUserFromGroup(ctx, req.(*GroupMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// LdapService_ServiceDesc is the grpc.ServiceDesc for LdapService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var LdapService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "ldap.v1.LdapService", + HandlerType: (*LdapServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetUsers", + Handler: _LdapService_GetUsers_Handler, + }, + { + MethodName: "CreateUser", + Handler: _LdapService_CreateUser_Handler, + }, + { + MethodName: "UpdateUser", + Handler: _LdapService_UpdateUser_Handler, + }, + { + MethodName: "ChangePassword", + Handler: _LdapService_ChangePassword_Handler, + }, + { + MethodName: "ToggleUserStatus", + Handler: _LdapService_ToggleUserStatus_Handler, + }, + { + MethodName: "GetGroups", + Handler: _LdapService_GetGroups_Handler, + }, + { + MethodName: "AddUserToGroup", + Handler: _LdapService_AddUserToGroup_Handler, + }, + { + MethodName: "RemoveUserFromGroup", + Handler: _LdapService_RemoveUserFromGroup_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ldap.proto", +} diff --git a/gen/go/twofa.pb.go b/gen/go/twofa.pb.go new file mode 100644 index 0000000..0ff1a6b --- /dev/null +++ b/gen/go/twofa.pb.go @@ -0,0 +1,1127 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v3.21.12 +// source: twofa.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 Verify2FaRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TempToken string `protobuf:"bytes,1,opt,name=temp_token,json=tempToken,proto3" json:"temp_token,omitempty"` + TotpCode *string `protobuf:"bytes,2,opt,name=totp_code,json=totpCode,proto3,oneof" json:"totp_code,omitempty"` + TelegramCode *string `protobuf:"bytes,3,opt,name=telegram_code,json=telegramCode,proto3,oneof" json:"telegram_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Verify2FaRequest) Reset() { + *x = Verify2FaRequest{} + mi := &file_twofa_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Verify2FaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Verify2FaRequest) ProtoMessage() {} + +func (x *Verify2FaRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_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 Verify2FaRequest.ProtoReflect.Descriptor instead. +func (*Verify2FaRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{0} +} + +func (x *Verify2FaRequest) GetTempToken() string { + if x != nil { + return x.TempToken + } + return "" +} + +func (x *Verify2FaRequest) GetTotpCode() string { + if x != nil && x.TotpCode != nil { + return *x.TotpCode + } + return "" +} + +func (x *Verify2FaRequest) GetTelegramCode() string { + if x != nil && x.TelegramCode != nil { + return *x.TelegramCode + } + return "" +} + +type Verify2FaResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + ReserveCodes []string `protobuf:"bytes,5,rep,name=reserve_codes,json=reserveCodes,proto3" json:"reserve_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Verify2FaResponse) Reset() { + *x = Verify2FaResponse{} + mi := &file_twofa_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Verify2FaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Verify2FaResponse) ProtoMessage() {} + +func (x *Verify2FaResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_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 Verify2FaResponse.ProtoReflect.Descriptor instead. +func (*Verify2FaResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{1} +} + +func (x *Verify2FaResponse) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *Verify2FaResponse) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *Verify2FaResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Verify2FaResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Verify2FaResponse) GetReserveCodes() []string { + if x != nil { + return x.ReserveCodes + } + return nil +} + +type AuthenticatedAccessRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuthenticatedAccessRequest) Reset() { + *x = AuthenticatedAccessRequest{} + mi := &file_twofa_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuthenticatedAccessRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticatedAccessRequest) ProtoMessage() {} + +func (x *AuthenticatedAccessRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_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 AuthenticatedAccessRequest.ProtoReflect.Descriptor instead. +func (*AuthenticatedAccessRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{2} +} + +func (x *AuthenticatedAccessRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +type GetTwoFaStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTwoFaStatusRequest) Reset() { + *x = GetTwoFaStatusRequest{} + mi := &file_twofa_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTwoFaStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTwoFaStatusRequest) ProtoMessage() {} + +func (x *GetTwoFaStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_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 GetTwoFaStatusRequest.ProtoReflect.Descriptor instead. +func (*GetTwoFaStatusRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{3} +} + +func (x *GetTwoFaStatusRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +type GetTwoFaStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + TotpEnabled bool `protobuf:"varint,1,opt,name=totp_enabled,json=totpEnabled,proto3" json:"totp_enabled,omitempty"` + TelegramEnabled bool `protobuf:"varint,2,opt,name=telegram_enabled,json=telegramEnabled,proto3" json:"telegram_enabled,omitempty"` + TotpEnrollmentPending bool `protobuf:"varint,3,opt,name=totp_enrollment_pending,json=totpEnrollmentPending,proto3" json:"totp_enrollment_pending,omitempty"` + TelegramEnrollmentPending bool `protobuf:"varint,4,opt,name=telegram_enrollment_pending,json=telegramEnrollmentPending,proto3" json:"telegram_enrollment_pending,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTwoFaStatusResponse) Reset() { + *x = GetTwoFaStatusResponse{} + mi := &file_twofa_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTwoFaStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTwoFaStatusResponse) ProtoMessage() {} + +func (x *GetTwoFaStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTwoFaStatusResponse.ProtoReflect.Descriptor instead. +func (*GetTwoFaStatusResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{4} +} + +func (x *GetTwoFaStatusResponse) GetTotpEnabled() bool { + if x != nil { + return x.TotpEnabled + } + return false +} + +func (x *GetTwoFaStatusResponse) GetTelegramEnabled() bool { + if x != nil { + return x.TelegramEnabled + } + return false +} + +func (x *GetTwoFaStatusResponse) GetTotpEnrollmentPending() bool { + if x != nil { + return x.TotpEnrollmentPending + } + return false +} + +func (x *GetTwoFaStatusResponse) GetTelegramEnrollmentPending() bool { + if x != nil { + return x.TelegramEnrollmentPending + } + return false +} + +type StartTotpEnrollmentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + SecretBase32 string `protobuf:"bytes,1,opt,name=secret_base32,json=secretBase32,proto3" json:"secret_base32,omitempty"` + OtpauthUri string `protobuf:"bytes,2,opt,name=otpauth_uri,json=otpauthUri,proto3" json:"otpauth_uri,omitempty"` + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` + AccountLabel string `protobuf:"bytes,4,opt,name=account_label,json=accountLabel,proto3" json:"account_label,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartTotpEnrollmentResponse) Reset() { + *x = StartTotpEnrollmentResponse{} + mi := &file_twofa_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartTotpEnrollmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartTotpEnrollmentResponse) ProtoMessage() {} + +func (x *StartTotpEnrollmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartTotpEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*StartTotpEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{5} +} + +func (x *StartTotpEnrollmentResponse) GetSecretBase32() string { + if x != nil { + return x.SecretBase32 + } + return "" +} + +func (x *StartTotpEnrollmentResponse) GetOtpauthUri() string { + if x != nil { + return x.OtpauthUri + } + return "" +} + +func (x *StartTotpEnrollmentResponse) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *StartTotpEnrollmentResponse) GetAccountLabel() string { + if x != nil { + return x.AccountLabel + } + return "" +} + +type ConfirmTotpEnrollmentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + TotpCode string `protobuf:"bytes,2,opt,name=totp_code,json=totpCode,proto3" json:"totp_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmTotpEnrollmentRequest) Reset() { + *x = ConfirmTotpEnrollmentRequest{} + mi := &file_twofa_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmTotpEnrollmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmTotpEnrollmentRequest) ProtoMessage() {} + +func (x *ConfirmTotpEnrollmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmTotpEnrollmentRequest.ProtoReflect.Descriptor instead. +func (*ConfirmTotpEnrollmentRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{6} +} + +func (x *ConfirmTotpEnrollmentRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *ConfirmTotpEnrollmentRequest) GetTotpCode() string { + if x != nil { + return x.TotpCode + } + return "" +} + +type ConfirmTotpEnrollmentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + ReserveCodes []string `protobuf:"bytes,3,rep,name=reserve_codes,json=reserveCodes,proto3" json:"reserve_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmTotpEnrollmentResponse) Reset() { + *x = ConfirmTotpEnrollmentResponse{} + mi := &file_twofa_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmTotpEnrollmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmTotpEnrollmentResponse) ProtoMessage() {} + +func (x *ConfirmTotpEnrollmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmTotpEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*ConfirmTotpEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{7} +} + +func (x *ConfirmTotpEnrollmentResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ConfirmTotpEnrollmentResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ConfirmTotpEnrollmentResponse) GetReserveCodes() []string { + if x != nil { + return x.ReserveCodes + } + return nil +} + +type CancelTotpEnrollmentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelTotpEnrollmentResponse) Reset() { + *x = CancelTotpEnrollmentResponse{} + mi := &file_twofa_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelTotpEnrollmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelTotpEnrollmentResponse) ProtoMessage() {} + +func (x *CancelTotpEnrollmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelTotpEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*CancelTotpEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{8} +} + +func (x *CancelTotpEnrollmentResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CancelTotpEnrollmentResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type DisableTotpRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + TotpCode *string `protobuf:"bytes,3,opt,name=totp_code,json=totpCode,proto3,oneof" json:"totp_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTotpRequest) Reset() { + *x = DisableTotpRequest{} + mi := &file_twofa_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTotpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTotpRequest) ProtoMessage() {} + +func (x *DisableTotpRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableTotpRequest.ProtoReflect.Descriptor instead. +func (*DisableTotpRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{9} +} + +func (x *DisableTotpRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *DisableTotpRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *DisableTotpRequest) GetTotpCode() string { + if x != nil && x.TotpCode != nil { + return *x.TotpCode + } + return "" +} + +type DisableTotpResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTotpResponse) Reset() { + *x = DisableTotpResponse{} + mi := &file_twofa_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTotpResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTotpResponse) ProtoMessage() {} + +func (x *DisableTotpResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableTotpResponse.ProtoReflect.Descriptor instead. +func (*DisableTotpResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{10} +} + +func (x *DisableTotpResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *DisableTotpResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type StartTelegramEnrollmentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + EnrollmentToken string `protobuf:"bytes,1,opt,name=enrollment_token,json=enrollmentToken,proto3" json:"enrollment_token,omitempty"` + DeepLink string `protobuf:"bytes,2,opt,name=deep_link,json=deepLink,proto3" json:"deep_link,omitempty"` + BotUsername string `protobuf:"bytes,3,opt,name=bot_username,json=botUsername,proto3" json:"bot_username,omitempty"` + ExpiresAtIso string `protobuf:"bytes,4,opt,name=expires_at_iso,json=expiresAtIso,proto3" json:"expires_at_iso,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartTelegramEnrollmentResponse) Reset() { + *x = StartTelegramEnrollmentResponse{} + mi := &file_twofa_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartTelegramEnrollmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartTelegramEnrollmentResponse) ProtoMessage() {} + +func (x *StartTelegramEnrollmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartTelegramEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*StartTelegramEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{11} +} + +func (x *StartTelegramEnrollmentResponse) GetEnrollmentToken() string { + if x != nil { + return x.EnrollmentToken + } + return "" +} + +func (x *StartTelegramEnrollmentResponse) GetDeepLink() string { + if x != nil { + return x.DeepLink + } + return "" +} + +func (x *StartTelegramEnrollmentResponse) GetBotUsername() string { + if x != nil { + return x.BotUsername + } + return "" +} + +func (x *StartTelegramEnrollmentResponse) GetExpiresAtIso() string { + if x != nil { + return x.ExpiresAtIso + } + return "" +} + +type ConfirmTelegramEnrollmentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + EnrollmentToken string `protobuf:"bytes,2,opt,name=enrollment_token,json=enrollmentToken,proto3" json:"enrollment_token,omitempty"` + OtpCode string `protobuf:"bytes,3,opt,name=otp_code,json=otpCode,proto3" json:"otp_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmTelegramEnrollmentRequest) Reset() { + *x = ConfirmTelegramEnrollmentRequest{} + mi := &file_twofa_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmTelegramEnrollmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmTelegramEnrollmentRequest) ProtoMessage() {} + +func (x *ConfirmTelegramEnrollmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmTelegramEnrollmentRequest.ProtoReflect.Descriptor instead. +func (*ConfirmTelegramEnrollmentRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{12} +} + +func (x *ConfirmTelegramEnrollmentRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *ConfirmTelegramEnrollmentRequest) GetEnrollmentToken() string { + if x != nil { + return x.EnrollmentToken + } + return "" +} + +func (x *ConfirmTelegramEnrollmentRequest) GetOtpCode() string { + if x != nil { + return x.OtpCode + } + return "" +} + +type ConfirmTelegramEnrollmentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + ReserveCodes []string `protobuf:"bytes,3,rep,name=reserve_codes,json=reserveCodes,proto3" json:"reserve_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmTelegramEnrollmentResponse) Reset() { + *x = ConfirmTelegramEnrollmentResponse{} + mi := &file_twofa_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmTelegramEnrollmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmTelegramEnrollmentResponse) ProtoMessage() {} + +func (x *ConfirmTelegramEnrollmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmTelegramEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*ConfirmTelegramEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{13} +} + +func (x *ConfirmTelegramEnrollmentResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ConfirmTelegramEnrollmentResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ConfirmTelegramEnrollmentResponse) GetReserveCodes() []string { + if x != nil { + return x.ReserveCodes + } + return nil +} + +type DisableTelegramRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + TelegramOtpCode *string `protobuf:"bytes,3,opt,name=telegram_otp_code,json=telegramOtpCode,proto3,oneof" json:"telegram_otp_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTelegramRequest) Reset() { + *x = DisableTelegramRequest{} + mi := &file_twofa_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTelegramRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTelegramRequest) ProtoMessage() {} + +func (x *DisableTelegramRequest) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[14] + 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 DisableTelegramRequest.ProtoReflect.Descriptor instead. +func (*DisableTelegramRequest) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{14} +} + +func (x *DisableTelegramRequest) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *DisableTelegramRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *DisableTelegramRequest) GetTelegramOtpCode() string { + if x != nil && x.TelegramOtpCode != nil { + return *x.TelegramOtpCode + } + return "" +} + +type DisableTelegramResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTelegramResponse) Reset() { + *x = DisableTelegramResponse{} + mi := &file_twofa_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTelegramResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTelegramResponse) ProtoMessage() {} + +func (x *DisableTelegramResponse) ProtoReflect() protoreflect.Message { + mi := &file_twofa_proto_msgTypes[15] + 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 DisableTelegramResponse.ProtoReflect.Descriptor instead. +func (*DisableTelegramResponse) Descriptor() ([]byte, []int) { + return file_twofa_proto_rawDescGZIP(), []int{15} +} + +func (x *DisableTelegramResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *DisableTelegramResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +var File_twofa_proto protoreflect.FileDescriptor + +const file_twofa_proto_rawDesc = "" + + "\n" + + "\vtwofa.proto\x12\btwofa.v1\"\x9d\x01\n" + + "\x10Verify2FaRequest\x12\x1d\n" + + "\n" + + "temp_token\x18\x01 \x01(\tR\ttempToken\x12 \n" + + "\ttotp_code\x18\x02 \x01(\tH\x00R\btotpCode\x88\x01\x01\x12(\n" + + "\rtelegram_code\x18\x03 \x01(\tH\x01R\ftelegramCode\x88\x01\x01B\f\n" + + "\n" + + "_totp_codeB\x10\n" + + "\x0e_telegram_code\"\xb2\x01\n" + + "\x11Verify2FaResponse\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12#\n" + + "\rrefresh_token\x18\x02 \x01(\tR\frefreshToken\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage\x12#\n" + + "\rreserve_codes\x18\x05 \x03(\tR\freserveCodes\"?\n" + + "\x1aAuthenticatedAccessRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\":\n" + + "\x15GetTwoFaStatusRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\"\xde\x01\n" + + "\x16GetTwoFaStatusResponse\x12!\n" + + "\ftotp_enabled\x18\x01 \x01(\bR\vtotpEnabled\x12)\n" + + "\x10telegram_enabled\x18\x02 \x01(\bR\x0ftelegramEnabled\x126\n" + + "\x17totp_enrollment_pending\x18\x03 \x01(\bR\x15totpEnrollmentPending\x12>\n" + + "\x1btelegram_enrollment_pending\x18\x04 \x01(\bR\x19telegramEnrollmentPending\"\xa0\x01\n" + + "\x1bStartTotpEnrollmentResponse\x12#\n" + + "\rsecret_base32\x18\x01 \x01(\tR\fsecretBase32\x12\x1f\n" + + "\votpauth_uri\x18\x02 \x01(\tR\n" + + "otpauthUri\x12\x16\n" + + "\x06issuer\x18\x03 \x01(\tR\x06issuer\x12#\n" + + "\raccount_label\x18\x04 \x01(\tR\faccountLabel\"^\n" + + "\x1cConfirmTotpEnrollmentRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x1b\n" + + "\ttotp_code\x18\x02 \x01(\tR\btotpCode\"v\n" + + "\x1dConfirmTotpEnrollmentResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12#\n" + + "\rreserve_codes\x18\x03 \x03(\tR\freserveCodes\"P\n" + + "\x1cCancelTotpEnrollmentResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\x83\x01\n" + + "\x12DisableTotpRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\x12 \n" + + "\ttotp_code\x18\x03 \x01(\tH\x00R\btotpCode\x88\x01\x01B\f\n" + + "\n" + + "_totp_code\"G\n" + + "\x13DisableTotpResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\xb2\x01\n" + + "\x1fStartTelegramEnrollmentResponse\x12)\n" + + "\x10enrollment_token\x18\x01 \x01(\tR\x0fenrollmentToken\x12\x1b\n" + + "\tdeep_link\x18\x02 \x01(\tR\bdeepLink\x12!\n" + + "\fbot_username\x18\x03 \x01(\tR\vbotUsername\x12$\n" + + "\x0eexpires_at_iso\x18\x04 \x01(\tR\fexpiresAtIso\"\x8b\x01\n" + + " ConfirmTelegramEnrollmentRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12)\n" + + "\x10enrollment_token\x18\x02 \x01(\tR\x0fenrollmentToken\x12\x19\n" + + "\botp_code\x18\x03 \x01(\tR\aotpCode\"z\n" + + "!ConfirmTelegramEnrollmentResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12#\n" + + "\rreserve_codes\x18\x03 \x03(\tR\freserveCodes\"\x9e\x01\n" + + "\x16DisableTelegramRequest\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\x12/\n" + + "\x11telegram_otp_code\x18\x03 \x01(\tH\x00R\x0ftelegramOtpCode\x88\x01\x01B\x14\n" + + "\x12_telegram_otp_code\"K\n" + + "\x17DisableTelegramResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage2\xe2\x06\n" + + "\fTwoFaService\x12D\n" + + "\tVerify2Fa\x12\x1a.twofa.v1.Verify2FaRequest\x1a\x1b.twofa.v1.Verify2FaResponse\x12S\n" + + "\x0eGetTwoFaStatus\x12\x1f.twofa.v1.GetTwoFaStatusRequest\x1a .twofa.v1.GetTwoFaStatusResponse\x12b\n" + + "\x13StartTotpEnrollment\x12$.twofa.v1.AuthenticatedAccessRequest\x1a%.twofa.v1.StartTotpEnrollmentResponse\x12g\n" + + "\x14ConfirmTotpErollment\x12&.twofa.v1.ConfirmTotpEnrollmentRequest\x1a'.twofa.v1.ConfirmTotpEnrollmentResponse\x12d\n" + + "\x14CancelTotpEnrollment\x12$.twofa.v1.AuthenticatedAccessRequest\x1a&.twofa.v1.CancelTotpEnrollmentResponse\x12J\n" + + "\vDisableTotp\x12\x1c.twofa.v1.DisableTotpRequest\x1a\x1d.twofa.v1.DisableTotpResponse\x12j\n" + + "\x17StartTelegramEnrollment\x12$.twofa.v1.AuthenticatedAccessRequest\x1a).twofa.v1.StartTelegramEnrollmentResponse\x12t\n" + + "\x19ConfirmTelegramEnrollment\x12*.twofa.v1.ConfirmTelegramEnrollmentRequest\x1a+.twofa.v1.ConfirmTelegramEnrollmentResponse\x12V\n" + + "\x0fDisableTelegram\x12 .twofa.v1.DisableTelegramRequest\x1a!.twofa.v1.DisableTelegramResponseB*Z(git.lendry.ru/lendry-erp/proto.git/go;pbb\x06proto3" + +var ( + file_twofa_proto_rawDescOnce sync.Once + file_twofa_proto_rawDescData []byte +) + +func file_twofa_proto_rawDescGZIP() []byte { + file_twofa_proto_rawDescOnce.Do(func() { + file_twofa_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_twofa_proto_rawDesc), len(file_twofa_proto_rawDesc))) + }) + return file_twofa_proto_rawDescData +} + +var file_twofa_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_twofa_proto_goTypes = []any{ + (*Verify2FaRequest)(nil), // 0: twofa.v1.Verify2FaRequest + (*Verify2FaResponse)(nil), // 1: twofa.v1.Verify2FaResponse + (*AuthenticatedAccessRequest)(nil), // 2: twofa.v1.AuthenticatedAccessRequest + (*GetTwoFaStatusRequest)(nil), // 3: twofa.v1.GetTwoFaStatusRequest + (*GetTwoFaStatusResponse)(nil), // 4: twofa.v1.GetTwoFaStatusResponse + (*StartTotpEnrollmentResponse)(nil), // 5: twofa.v1.StartTotpEnrollmentResponse + (*ConfirmTotpEnrollmentRequest)(nil), // 6: twofa.v1.ConfirmTotpEnrollmentRequest + (*ConfirmTotpEnrollmentResponse)(nil), // 7: twofa.v1.ConfirmTotpEnrollmentResponse + (*CancelTotpEnrollmentResponse)(nil), // 8: twofa.v1.CancelTotpEnrollmentResponse + (*DisableTotpRequest)(nil), // 9: twofa.v1.DisableTotpRequest + (*DisableTotpResponse)(nil), // 10: twofa.v1.DisableTotpResponse + (*StartTelegramEnrollmentResponse)(nil), // 11: twofa.v1.StartTelegramEnrollmentResponse + (*ConfirmTelegramEnrollmentRequest)(nil), // 12: twofa.v1.ConfirmTelegramEnrollmentRequest + (*ConfirmTelegramEnrollmentResponse)(nil), // 13: twofa.v1.ConfirmTelegramEnrollmentResponse + (*DisableTelegramRequest)(nil), // 14: twofa.v1.DisableTelegramRequest + (*DisableTelegramResponse)(nil), // 15: twofa.v1.DisableTelegramResponse +} +var file_twofa_proto_depIdxs = []int32{ + 0, // 0: twofa.v1.TwoFaService.Verify2Fa:input_type -> twofa.v1.Verify2FaRequest + 3, // 1: twofa.v1.TwoFaService.GetTwoFaStatus:input_type -> twofa.v1.GetTwoFaStatusRequest + 2, // 2: twofa.v1.TwoFaService.StartTotpEnrollment:input_type -> twofa.v1.AuthenticatedAccessRequest + 6, // 3: twofa.v1.TwoFaService.ConfirmTotpErollment:input_type -> twofa.v1.ConfirmTotpEnrollmentRequest + 2, // 4: twofa.v1.TwoFaService.CancelTotpEnrollment:input_type -> twofa.v1.AuthenticatedAccessRequest + 9, // 5: twofa.v1.TwoFaService.DisableTotp:input_type -> twofa.v1.DisableTotpRequest + 2, // 6: twofa.v1.TwoFaService.StartTelegramEnrollment:input_type -> twofa.v1.AuthenticatedAccessRequest + 12, // 7: twofa.v1.TwoFaService.ConfirmTelegramEnrollment:input_type -> twofa.v1.ConfirmTelegramEnrollmentRequest + 14, // 8: twofa.v1.TwoFaService.DisableTelegram:input_type -> twofa.v1.DisableTelegramRequest + 1, // 9: twofa.v1.TwoFaService.Verify2Fa:output_type -> twofa.v1.Verify2FaResponse + 4, // 10: twofa.v1.TwoFaService.GetTwoFaStatus:output_type -> twofa.v1.GetTwoFaStatusResponse + 5, // 11: twofa.v1.TwoFaService.StartTotpEnrollment:output_type -> twofa.v1.StartTotpEnrollmentResponse + 7, // 12: twofa.v1.TwoFaService.ConfirmTotpErollment:output_type -> twofa.v1.ConfirmTotpEnrollmentResponse + 8, // 13: twofa.v1.TwoFaService.CancelTotpEnrollment:output_type -> twofa.v1.CancelTotpEnrollmentResponse + 10, // 14: twofa.v1.TwoFaService.DisableTotp:output_type -> twofa.v1.DisableTotpResponse + 11, // 15: twofa.v1.TwoFaService.StartTelegramEnrollment:output_type -> twofa.v1.StartTelegramEnrollmentResponse + 13, // 16: twofa.v1.TwoFaService.ConfirmTelegramEnrollment:output_type -> twofa.v1.ConfirmTelegramEnrollmentResponse + 15, // 17: twofa.v1.TwoFaService.DisableTelegram:output_type -> twofa.v1.DisableTelegramResponse + 9, // [9:18] is the sub-list for method output_type + 0, // [0:9] 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_twofa_proto_init() } +func file_twofa_proto_init() { + if File_twofa_proto != nil { + return + } + file_twofa_proto_msgTypes[0].OneofWrappers = []any{} + file_twofa_proto_msgTypes[9].OneofWrappers = []any{} + file_twofa_proto_msgTypes[14].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_twofa_proto_rawDesc), len(file_twofa_proto_rawDesc)), + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_twofa_proto_goTypes, + DependencyIndexes: file_twofa_proto_depIdxs, + MessageInfos: file_twofa_proto_msgTypes, + }.Build() + File_twofa_proto = out.File + file_twofa_proto_goTypes = nil + file_twofa_proto_depIdxs = nil +} diff --git a/gen/go/twofa_grpc.pb.go b/gen/go/twofa_grpc.pb.go new file mode 100644 index 0000000..a852698 --- /dev/null +++ b/gen/go/twofa_grpc.pb.go @@ -0,0 +1,425 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.1 +// - protoc v3.21.12 +// source: twofa.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 ( + TwoFaService_Verify2Fa_FullMethodName = "/twofa.v1.TwoFaService/Verify2Fa" + TwoFaService_GetTwoFaStatus_FullMethodName = "/twofa.v1.TwoFaService/GetTwoFaStatus" + TwoFaService_StartTotpEnrollment_FullMethodName = "/twofa.v1.TwoFaService/StartTotpEnrollment" + TwoFaService_ConfirmTotpErollment_FullMethodName = "/twofa.v1.TwoFaService/ConfirmTotpErollment" + TwoFaService_CancelTotpEnrollment_FullMethodName = "/twofa.v1.TwoFaService/CancelTotpEnrollment" + TwoFaService_DisableTotp_FullMethodName = "/twofa.v1.TwoFaService/DisableTotp" + TwoFaService_StartTelegramEnrollment_FullMethodName = "/twofa.v1.TwoFaService/StartTelegramEnrollment" + TwoFaService_ConfirmTelegramEnrollment_FullMethodName = "/twofa.v1.TwoFaService/ConfirmTelegramEnrollment" + TwoFaService_DisableTelegram_FullMethodName = "/twofa.v1.TwoFaService/DisableTelegram" +) + +// TwoFaServiceClient is the client API for TwoFaService 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 TwoFaServiceClient interface { + Verify2Fa(ctx context.Context, in *Verify2FaRequest, opts ...grpc.CallOption) (*Verify2FaResponse, error) + GetTwoFaStatus(ctx context.Context, in *GetTwoFaStatusRequest, opts ...grpc.CallOption) (*GetTwoFaStatusResponse, error) + StartTotpEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*StartTotpEnrollmentResponse, error) + ConfirmTotpErollment(ctx context.Context, in *ConfirmTotpEnrollmentRequest, opts ...grpc.CallOption) (*ConfirmTotpEnrollmentResponse, error) + CancelTotpEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*CancelTotpEnrollmentResponse, error) + DisableTotp(ctx context.Context, in *DisableTotpRequest, opts ...grpc.CallOption) (*DisableTotpResponse, error) + StartTelegramEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*StartTelegramEnrollmentResponse, error) + ConfirmTelegramEnrollment(ctx context.Context, in *ConfirmTelegramEnrollmentRequest, opts ...grpc.CallOption) (*ConfirmTelegramEnrollmentResponse, error) + DisableTelegram(ctx context.Context, in *DisableTelegramRequest, opts ...grpc.CallOption) (*DisableTelegramResponse, error) +} + +type twoFaServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewTwoFaServiceClient(cc grpc.ClientConnInterface) TwoFaServiceClient { + return &twoFaServiceClient{cc} +} + +func (c *twoFaServiceClient) Verify2Fa(ctx context.Context, in *Verify2FaRequest, opts ...grpc.CallOption) (*Verify2FaResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Verify2FaResponse) + err := c.cc.Invoke(ctx, TwoFaService_Verify2Fa_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) GetTwoFaStatus(ctx context.Context, in *GetTwoFaStatusRequest, opts ...grpc.CallOption) (*GetTwoFaStatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetTwoFaStatusResponse) + err := c.cc.Invoke(ctx, TwoFaService_GetTwoFaStatus_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) StartTotpEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*StartTotpEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartTotpEnrollmentResponse) + err := c.cc.Invoke(ctx, TwoFaService_StartTotpEnrollment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) ConfirmTotpErollment(ctx context.Context, in *ConfirmTotpEnrollmentRequest, opts ...grpc.CallOption) (*ConfirmTotpEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ConfirmTotpEnrollmentResponse) + err := c.cc.Invoke(ctx, TwoFaService_ConfirmTotpErollment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) CancelTotpEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*CancelTotpEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CancelTotpEnrollmentResponse) + err := c.cc.Invoke(ctx, TwoFaService_CancelTotpEnrollment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) DisableTotp(ctx context.Context, in *DisableTotpRequest, opts ...grpc.CallOption) (*DisableTotpResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DisableTotpResponse) + err := c.cc.Invoke(ctx, TwoFaService_DisableTotp_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) StartTelegramEnrollment(ctx context.Context, in *AuthenticatedAccessRequest, opts ...grpc.CallOption) (*StartTelegramEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartTelegramEnrollmentResponse) + err := c.cc.Invoke(ctx, TwoFaService_StartTelegramEnrollment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) ConfirmTelegramEnrollment(ctx context.Context, in *ConfirmTelegramEnrollmentRequest, opts ...grpc.CallOption) (*ConfirmTelegramEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ConfirmTelegramEnrollmentResponse) + err := c.cc.Invoke(ctx, TwoFaService_ConfirmTelegramEnrollment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *twoFaServiceClient) DisableTelegram(ctx context.Context, in *DisableTelegramRequest, opts ...grpc.CallOption) (*DisableTelegramResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DisableTelegramResponse) + err := c.cc.Invoke(ctx, TwoFaService_DisableTelegram_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TwoFaServiceServer is the server API for TwoFaService service. +// All implementations must embed UnimplementedTwoFaServiceServer +// for forward compatibility. +type TwoFaServiceServer interface { + Verify2Fa(context.Context, *Verify2FaRequest) (*Verify2FaResponse, error) + GetTwoFaStatus(context.Context, *GetTwoFaStatusRequest) (*GetTwoFaStatusResponse, error) + StartTotpEnrollment(context.Context, *AuthenticatedAccessRequest) (*StartTotpEnrollmentResponse, error) + ConfirmTotpErollment(context.Context, *ConfirmTotpEnrollmentRequest) (*ConfirmTotpEnrollmentResponse, error) + CancelTotpEnrollment(context.Context, *AuthenticatedAccessRequest) (*CancelTotpEnrollmentResponse, error) + DisableTotp(context.Context, *DisableTotpRequest) (*DisableTotpResponse, error) + StartTelegramEnrollment(context.Context, *AuthenticatedAccessRequest) (*StartTelegramEnrollmentResponse, error) + ConfirmTelegramEnrollment(context.Context, *ConfirmTelegramEnrollmentRequest) (*ConfirmTelegramEnrollmentResponse, error) + DisableTelegram(context.Context, *DisableTelegramRequest) (*DisableTelegramResponse, error) + mustEmbedUnimplementedTwoFaServiceServer() +} + +// UnimplementedTwoFaServiceServer 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 UnimplementedTwoFaServiceServer struct{} + +func (UnimplementedTwoFaServiceServer) Verify2Fa(context.Context, *Verify2FaRequest) (*Verify2FaResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Verify2Fa not implemented") +} +func (UnimplementedTwoFaServiceServer) GetTwoFaStatus(context.Context, *GetTwoFaStatusRequest) (*GetTwoFaStatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetTwoFaStatus not implemented") +} +func (UnimplementedTwoFaServiceServer) StartTotpEnrollment(context.Context, *AuthenticatedAccessRequest) (*StartTotpEnrollmentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartTotpEnrollment not implemented") +} +func (UnimplementedTwoFaServiceServer) ConfirmTotpErollment(context.Context, *ConfirmTotpEnrollmentRequest) (*ConfirmTotpEnrollmentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ConfirmTotpErollment not implemented") +} +func (UnimplementedTwoFaServiceServer) CancelTotpEnrollment(context.Context, *AuthenticatedAccessRequest) (*CancelTotpEnrollmentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CancelTotpEnrollment not implemented") +} +func (UnimplementedTwoFaServiceServer) DisableTotp(context.Context, *DisableTotpRequest) (*DisableTotpResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DisableTotp not implemented") +} +func (UnimplementedTwoFaServiceServer) StartTelegramEnrollment(context.Context, *AuthenticatedAccessRequest) (*StartTelegramEnrollmentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartTelegramEnrollment not implemented") +} +func (UnimplementedTwoFaServiceServer) ConfirmTelegramEnrollment(context.Context, *ConfirmTelegramEnrollmentRequest) (*ConfirmTelegramEnrollmentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ConfirmTelegramEnrollment not implemented") +} +func (UnimplementedTwoFaServiceServer) DisableTelegram(context.Context, *DisableTelegramRequest) (*DisableTelegramResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DisableTelegram not implemented") +} +func (UnimplementedTwoFaServiceServer) mustEmbedUnimplementedTwoFaServiceServer() {} +func (UnimplementedTwoFaServiceServer) testEmbeddedByValue() {} + +// UnsafeTwoFaServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TwoFaServiceServer will +// result in compilation errors. +type UnsafeTwoFaServiceServer interface { + mustEmbedUnimplementedTwoFaServiceServer() +} + +func RegisterTwoFaServiceServer(s grpc.ServiceRegistrar, srv TwoFaServiceServer) { + // If the following call panics, it indicates UnimplementedTwoFaServiceServer 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(&TwoFaService_ServiceDesc, srv) +} + +func _TwoFaService_Verify2Fa_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Verify2FaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).Verify2Fa(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_Verify2Fa_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).Verify2Fa(ctx, req.(*Verify2FaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_GetTwoFaStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTwoFaStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).GetTwoFaStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_GetTwoFaStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).GetTwoFaStatus(ctx, req.(*GetTwoFaStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_StartTotpEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthenticatedAccessRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).StartTotpEnrollment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_StartTotpEnrollment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).StartTotpEnrollment(ctx, req.(*AuthenticatedAccessRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_ConfirmTotpErollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfirmTotpEnrollmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).ConfirmTotpErollment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_ConfirmTotpErollment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).ConfirmTotpErollment(ctx, req.(*ConfirmTotpEnrollmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_CancelTotpEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthenticatedAccessRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).CancelTotpEnrollment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_CancelTotpEnrollment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).CancelTotpEnrollment(ctx, req.(*AuthenticatedAccessRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_DisableTotp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableTotpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).DisableTotp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_DisableTotp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).DisableTotp(ctx, req.(*DisableTotpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_StartTelegramEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthenticatedAccessRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).StartTelegramEnrollment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_StartTelegramEnrollment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).StartTelegramEnrollment(ctx, req.(*AuthenticatedAccessRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_ConfirmTelegramEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfirmTelegramEnrollmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).ConfirmTelegramEnrollment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_ConfirmTelegramEnrollment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).ConfirmTelegramEnrollment(ctx, req.(*ConfirmTelegramEnrollmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TwoFaService_DisableTelegram_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableTelegramRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TwoFaServiceServer).DisableTelegram(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TwoFaService_DisableTelegram_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TwoFaServiceServer).DisableTelegram(ctx, req.(*DisableTelegramRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// TwoFaService_ServiceDesc is the grpc.ServiceDesc for TwoFaService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var TwoFaService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "twofa.v1.TwoFaService", + HandlerType: (*TwoFaServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Verify2Fa", + Handler: _TwoFaService_Verify2Fa_Handler, + }, + { + MethodName: "GetTwoFaStatus", + Handler: _TwoFaService_GetTwoFaStatus_Handler, + }, + { + MethodName: "StartTotpEnrollment", + Handler: _TwoFaService_StartTotpEnrollment_Handler, + }, + { + MethodName: "ConfirmTotpErollment", + Handler: _TwoFaService_ConfirmTotpErollment_Handler, + }, + { + MethodName: "CancelTotpEnrollment", + Handler: _TwoFaService_CancelTotpEnrollment_Handler, + }, + { + MethodName: "DisableTotp", + Handler: _TwoFaService_DisableTotp_Handler, + }, + { + MethodName: "StartTelegramEnrollment", + Handler: _TwoFaService_StartTelegramEnrollment_Handler, + }, + { + MethodName: "ConfirmTelegramEnrollment", + Handler: _TwoFaService_ConfirmTelegramEnrollment_Handler, + }, + { + MethodName: "DisableTelegram", + Handler: _TwoFaService_DisableTelegram_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "twofa.proto", +} diff --git a/gen/ldap-auth.ts b/gen/ldap-auth.ts new file mode 100644 index 0000000..53c8d38 --- /dev/null +++ b/gen/ldap-auth.ts @@ -0,0 +1,75 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.6 +// protoc v3.21.12 +// source: ldap-auth.proto + +/* eslint-disable */ +import type { Metadata } from "@grpc/grpc-js"; +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; + +export const protobufPackage = "ldap_auth.v1"; + +/** Полная модель пользователя */ +export interface UserData { + /** Полный путь в AD (Distinguished Name) */ + dn: string; + /** Логин (sAMAccountName) */ + username: string; + /** ФИО (displayName) */ + displayName: string; + /** Почта (mail) */ + email: string; + /** Описание/Должность (description) */ + description: string; + /** Аватарка в байтах (thumbnailPhoto) */ + avatar: Uint8Array; + /** Список групп */ + groups: string[]; + /** Статус аккаунта */ + isActive: boolean; +} + +/** --- Авторизация --- */ +export interface VerifyRequest { + username: string; + password: string; +} + +export interface VerifyResponse { + success: boolean; + errorMessage: string; + /** Отдаем полные данные при успешном входе */ + user: UserData | undefined; +} + +export const LDAP_AUTH_V1_PACKAGE_NAME = "ldap_auth.v1"; + +export interface LdapAuthServiceClient { + verifyUser(request: VerifyRequest, metadata?: Metadata): Observable; +} + +export interface LdapAuthServiceController { + verifyUser( + request: VerifyRequest, + metadata?: Metadata, + ): Promise | Observable | VerifyResponse; +} + +export function LdapAuthServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = ["verifyUser"]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("LdapAuthService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("LdapAuthService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const LDAP_AUTH_SERVICE_NAME = "LdapAuthService"; diff --git a/gen/ldap.ts b/gen/ldap.ts new file mode 100644 index 0000000..33b020e --- /dev/null +++ b/gen/ldap.ts @@ -0,0 +1,210 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.6 +// protoc v3.21.12 +// source: ldap.proto + +/* eslint-disable */ +import type { Metadata } from "@grpc/grpc-js"; +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; + +export const protobufPackage = "ldap.v1"; + +/** + * ========================================== + * БАЗОВЫЕ И ПЕРЕИСПОЛЬЗУЕМЫЕ СТРУКТУРЫ + * ========================================== + */ +export interface EmptyRequest { +} + +/** Стандартный ответ для мутаций (создание, обновление, удаление) */ +export interface StatusResponse { + success: boolean; + errorMessage: string; +} + +/** Полная модель пользователя */ +export interface UserData { + /** Полный путь в AD (Distinguished Name) */ + dn: string; + /** Логин (sAMAccountName) */ + username: string; + /** ФИО (displayName) */ + displayName: string; + /** Почта (mail) */ + email: string; + /** Описание/Должность (description) */ + description: string; + /** Аватарка в байтах (thumbnailPhoto) */ + avatar: Uint8Array; + /** Список групп */ + groups: string[]; + /** Статус аккаунта */ + isActive: boolean; +} + +/** Модель группы */ +export interface GroupData { + dn: string; + /** Короткое имя группы (cn) */ + name: string; +} + +/** --- Списки --- */ +export interface UserListResponse { + success: boolean; + errorMessage: string; + users: UserData[]; +} + +export interface GroupListResponse { + success: boolean; + errorMessage: string; + groups: GroupData[]; +} + +/** --- Управление профилем --- */ +export interface CreateUserRequest { + username: string; + fullName: string; + password: string; + /** Сразу при создании можно задать почту */ + email?: string | undefined; +} + +/** Запрос на обновление. Используем optional для частичного обновления. */ +export interface UpdateUserRequest { + /** Обязательное поле: кого обновляем */ + username: string; + /** Новое ФИО (повлечет Rename CN) */ + displayName?: + | string + | undefined; + /** Новая почта */ + email?: + | string + | undefined; + /** Новое описание */ + description?: + | string + | undefined; + /** Новая аватарка (бинарник картинки) */ + avatar?: Uint8Array | undefined; +} + +export interface ChangePasswordRequest { + username: string; + newPassword: string; +} + +export interface ToggleStatusRequest { + username: string; + /** true - включить (512), false - отключить (514) */ + setActive: boolean; +} + +/** --- Управление членством в группах --- */ +export interface GroupMemberRequest { + /** Логин пользователя */ + username: string; + /** Полный путь группы (в которую добавляем / из которой удаляем) */ + groupDn: string; +} + +export const LDAP_V1_PACKAGE_NAME = "ldap.v1"; + +export interface LdapServiceClient { + /** Управление Пользователями (Bind системного аккаунта) --- */ + + getUsers(request: EmptyRequest, metadata?: Metadata): Observable; + + createUser(request: CreateUserRequest, metadata?: Metadata): Observable; + + updateUser(request: UpdateUserRequest, metadata?: Metadata): Observable; + + changePassword(request: ChangePasswordRequest, metadata?: Metadata): Observable; + + toggleUserStatus(request: ToggleStatusRequest, metadata?: Metadata): Observable; + + /** Управление Группами --- */ + + getGroups(request: EmptyRequest, metadata?: Metadata): Observable; + + addUserToGroup(request: GroupMemberRequest, metadata?: Metadata): Observable; + + removeUserFromGroup(request: GroupMemberRequest, metadata?: Metadata): Observable; +} + +export interface LdapServiceController { + /** Управление Пользователями (Bind системного аккаунта) --- */ + + getUsers( + request: EmptyRequest, + metadata?: Metadata, + ): Promise | Observable | UserListResponse; + + createUser( + request: CreateUserRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; + + updateUser( + request: UpdateUserRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; + + changePassword( + request: ChangePasswordRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; + + toggleUserStatus( + request: ToggleStatusRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; + + /** Управление Группами --- */ + + getGroups( + request: EmptyRequest, + metadata?: Metadata, + ): Promise | Observable | GroupListResponse; + + addUserToGroup( + request: GroupMemberRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; + + removeUserFromGroup( + request: GroupMemberRequest, + metadata?: Metadata, + ): Promise | Observable | StatusResponse; +} + +export function LdapServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = [ + "getUsers", + "createUser", + "updateUser", + "changePassword", + "toggleUserStatus", + "getGroups", + "addUserToGroup", + "removeUserFromGroup", + ]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("LdapService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("LdapService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const LDAP_SERVICE_NAME = "LdapService"; diff --git a/gen/twofa.ts b/gen/twofa.ts new file mode 100644 index 0000000..eb0e728 --- /dev/null +++ b/gen/twofa.ts @@ -0,0 +1,222 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.6 +// protoc v3.21.12 +// source: twofa.proto + +/* eslint-disable */ +import type { Metadata } from "@grpc/grpc-js"; +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; + +export const protobufPackage = "twofa.v1"; + +export interface Verify2FaRequest { + tempToken: string; + totpCode?: string | undefined; + telegramCode?: string | undefined; +} + +export interface Verify2FaResponse { + accessToken: string; + refreshToken: string; + status: string; + message: string; + reserveCodes: string[]; +} + +export interface AuthenticatedAccessRequest { + accessToken: string; +} + +export interface GetTwoFaStatusRequest { + accessToken: string; +} + +export interface GetTwoFaStatusResponse { + totpEnabled: boolean; + telegramEnabled: boolean; + totpEnrollmentPending: boolean; + telegramEnrollmentPending: boolean; +} + +export interface StartTotpEnrollmentResponse { + secretBase32: string; + otpauthUri: string; + issuer: string; + accountLabel: string; +} + +export interface ConfirmTotpEnrollmentRequest { + accessToken: string; + totpCode: string; +} + +export interface ConfirmTotpEnrollmentResponse { + status: string; + message: string; + reserveCodes: string[]; +} + +export interface CancelTotpEnrollmentResponse { + status: string; + message: string; +} + +export interface DisableTotpRequest { + accessToken: string; + password: string; + totpCode?: string | undefined; +} + +export interface DisableTotpResponse { + status: string; + message: string; +} + +export interface StartTelegramEnrollmentResponse { + enrollmentToken: string; + deepLink: string; + botUsername: string; + expiresAtIso: string; +} + +export interface ConfirmTelegramEnrollmentRequest { + accessToken: string; + enrollmentToken: string; + otpCode: string; +} + +export interface ConfirmTelegramEnrollmentResponse { + status: string; + message: string; + reserveCodes: string[]; +} + +export interface DisableTelegramRequest { + accessToken: string; + password: string; + telegramOtpCode?: string | undefined; +} + +export interface DisableTelegramResponse { + status: string; + message: string; +} + +export const TWOFA_V1_PACKAGE_NAME = "twofa.v1"; + +export interface TwoFaServiceClient { + verify2Fa(request: Verify2FaRequest, metadata?: Metadata): Observable; + + getTwoFaStatus(request: GetTwoFaStatusRequest, metadata?: Metadata): Observable; + + startTotpEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): Observable; + + confirmTotpErollment( + request: ConfirmTotpEnrollmentRequest, + metadata?: Metadata, + ): Observable; + + cancelTotpEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): Observable; + + disableTotp(request: DisableTotpRequest, metadata?: Metadata): Observable; + + startTelegramEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): Observable; + + confirmTelegramEnrollment( + request: ConfirmTelegramEnrollmentRequest, + metadata?: Metadata, + ): Observable; + + disableTelegram(request: DisableTelegramRequest, metadata?: Metadata): Observable; +} + +export interface TwoFaServiceController { + verify2Fa( + request: Verify2FaRequest, + metadata?: Metadata, + ): Promise | Observable | Verify2FaResponse; + + getTwoFaStatus( + request: GetTwoFaStatusRequest, + metadata?: Metadata, + ): Promise | Observable | GetTwoFaStatusResponse; + + startTotpEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): Promise | Observable | StartTotpEnrollmentResponse; + + confirmTotpErollment( + request: ConfirmTotpEnrollmentRequest, + metadata?: Metadata, + ): Promise | Observable | ConfirmTotpEnrollmentResponse; + + cancelTotpEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): Promise | Observable | CancelTotpEnrollmentResponse; + + disableTotp( + request: DisableTotpRequest, + metadata?: Metadata, + ): Promise | Observable | DisableTotpResponse; + + startTelegramEnrollment( + request: AuthenticatedAccessRequest, + metadata?: Metadata, + ): + | Promise + | Observable + | StartTelegramEnrollmentResponse; + + confirmTelegramEnrollment( + request: ConfirmTelegramEnrollmentRequest, + metadata?: Metadata, + ): + | Promise + | Observable + | ConfirmTelegramEnrollmentResponse; + + disableTelegram( + request: DisableTelegramRequest, + metadata?: Metadata, + ): Promise | Observable | DisableTelegramResponse; +} + +export function TwoFaServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = [ + "verify2Fa", + "getTwoFaStatus", + "startTotpEnrollment", + "confirmTotpErollment", + "cancelTotpEnrollment", + "disableTotp", + "startTelegramEnrollment", + "confirmTelegramEnrollment", + "disableTelegram", + ]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("TwoFaService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("TwoFaService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const TWO_FA_SERVICE_NAME = "TwoFaService";