From 21ef5a9bc0fb1fd65e69be14d35799585668be26 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 28 Jan 2024 07:35:42 +0800 Subject: [PATCH] chore: tweak workspace service --- api/v2/acl_config.go | 19 +- api/v2/v2.go | 6 +- api/v2/v2.swagger.yaml | 123 ++--- ...system_service.go => workspace_service.go} | 39 +- proto/api/v2/system_service.proto | 48 -- proto/api/v2/workspace_service.proto | 47 ++ proto/gen/api/v2/README.md | 225 ++++---- proto/gen/api/v2/system_service.pb.go | 513 ------------------ proto/gen/api/v2/system_service.pb.gw.go | 272 ---------- proto/gen/api/v2/system_service_grpc.pb.go | 146 ----- proto/gen/api/v2/workspace_service.pb.go | 513 ++++++++++++++++++ proto/gen/api/v2/workspace_service.pb.gw.go | 272 ++++++++++ proto/gen/api/v2/workspace_service_grpc.pb.go | 146 +++++ web/src/components/ActivityCalendar.tsx | 8 +- web/src/components/Settings/SystemSection.tsx | 26 - web/src/grpcweb.ts | 6 +- web/src/helpers/api.ts | 4 - web/src/store/module/global.ts | 3 - web/src/store/reducer/global.ts | 1 - web/src/types/modules/system.d.ts | 1 - 20 files changed, 1182 insertions(+), 1236 deletions(-) rename api/v2/{system_service.go => workspace_service.go} (61%) delete mode 100644 proto/api/v2/system_service.proto create mode 100644 proto/api/v2/workspace_service.proto delete mode 100644 proto/gen/api/v2/system_service.pb.go delete mode 100644 proto/gen/api/v2/system_service.pb.gw.go delete mode 100644 proto/gen/api/v2/system_service_grpc.pb.go create mode 100644 proto/gen/api/v2/workspace_service.pb.go create mode 100644 proto/gen/api/v2/workspace_service.pb.gw.go create mode 100644 proto/gen/api/v2/workspace_service_grpc.pb.go diff --git a/api/v2/acl_config.go b/api/v2/acl_config.go index f3482eb7a..72f7240ae 100644 --- a/api/v2/acl_config.go +++ b/api/v2/acl_config.go @@ -3,16 +3,15 @@ package v2 import "strings" var authenticationAllowlistMethods = map[string]bool{ - "/memos.api.v2.SystemService/GetSystemInfo": true, - "/memos.api.v2.AuthService/GetAuthStatus": true, - "/memos.api.v2.UserService/GetUser": true, - "/memos.api.v2.MemoService/ListMemos": true, - "/memos.api.v2.MemoService/GetMemo": true, - "/memos.api.v2.MemoService/GetMemoByName": true, - "/memos.api.v2.MemoService/ListMemoResources": true, - "/memos.api.v2.MemoService/ListMemoRelations": true, - "/memos.api.v2.MemoService/ListMemoComments": true, - "/memos.api.v2.MarkdownService/ParseMarkdown": true, + "/memos.api.v2.WorkspaceService/GetWorkspaceProfile": true, + "/memos.api.v2.AuthService/GetAuthStatus": true, + "/memos.api.v2.UserService/GetUser": true, + "/memos.api.v2.MemoService/ListMemos": true, + "/memos.api.v2.MemoService/GetMemo": true, + "/memos.api.v2.MemoService/GetMemoByName": true, + "/memos.api.v2.MemoService/ListMemoResources": true, + "/memos.api.v2.MemoService/ListMemoRelations": true, + "/memos.api.v2.MemoService/ListMemoComments": true, } // isUnauthorizeAllowedMethod returns whether the method is exempted from authentication. diff --git a/api/v2/v2.go b/api/v2/v2.go index e4a2f4374..9a54a72bd 100644 --- a/api/v2/v2.go +++ b/api/v2/v2.go @@ -21,7 +21,7 @@ import ( ) type APIV2Service struct { - apiv2pb.UnimplementedSystemServiceServer + apiv2pb.UnimplementedWorkspaceServiceServer apiv2pb.UnimplementedAuthServiceServer apiv2pb.UnimplementedUserServiceServer apiv2pb.UnimplementedMemoServiceServer @@ -56,7 +56,7 @@ func NewAPIV2Service(secret string, profile *profile.Profile, store *store.Store grpcServerPort: grpcServerPort, } - apiv2pb.RegisterSystemServiceServer(grpcServer, apiv2Service) + apiv2pb.RegisterWorkspaceServiceServer(grpcServer, apiv2Service) apiv2pb.RegisterAuthServiceServer(grpcServer, apiv2Service) apiv2pb.RegisterUserServiceServer(grpcServer, apiv2Service) apiv2pb.RegisterMemoServiceServer(grpcServer, apiv2Service) @@ -89,7 +89,7 @@ func (s *APIV2Service) RegisterGateway(ctx context.Context, e *echo.Echo) error } gwMux := runtime.NewServeMux() - if err := apiv2pb.RegisterSystemServiceHandler(context.Background(), gwMux, conn); err != nil { + if err := apiv2pb.RegisterWorkspaceServiceHandler(context.Background(), gwMux, conn); err != nil { return err } if err := apiv2pb.RegisterAuthServiceHandler(context.Background(), gwMux, conn); err != nil { diff --git a/api/v2/v2.swagger.yaml b/api/v2/v2.swagger.yaml index ba44a4713..71c43d49b 100644 --- a/api/v2/v2.swagger.yaml +++ b/api/v2/v2.swagger.yaml @@ -10,9 +10,9 @@ tags: - name: MarkdownService - name: ResourceService - name: MemoService - - name: SystemService - name: TagService - name: WebhookService + - name: WorkspaceService consumes: - application/json produces: @@ -546,40 +546,6 @@ paths: format: int32 tags: - ResourceService - /api/v2/system/info: - get: - operationId: SystemService_GetSystemInfo - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v2GetSystemInfoResponse' - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - tags: - - SystemService - patch: - operationId: SystemService_UpdateSystemInfo - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v2UpdateSystemInfoResponse' - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: systemInfo - description: System info is the updated data. - in: body - required: true - schema: - $ref: '#/definitions/v2SystemInfo' - tags: - - SystemService /api/v2/tags: get: operationId: TagService_ListTags @@ -815,6 +781,40 @@ paths: $ref: '#/definitions/WebhookServiceUpdateWebhookBody' tags: - WebhookService + /api/v2/workspace/profile: + get: + operationId: WorkspaceService_GetWorkspaceProfile + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/v2GetWorkspaceProfileResponse' + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/googlerpcStatus' + tags: + - WorkspaceService + patch: + operationId: WorkspaceService_UpdateWorkspaceProfile + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/v2UpdateWorkspaceProfileResponse' + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/googlerpcStatus' + parameters: + - name: workspaceProfile + description: System info is the updated data. + in: body + required: true + schema: + $ref: '#/definitions/v2WorkspaceProfile' + tags: + - WorkspaceService /api/v2/{name}: get: summary: GetUser gets a user by name. @@ -1464,11 +1464,6 @@ definitions: properties: resource: $ref: '#/definitions/v2Resource' - v2GetSystemInfoResponse: - type: object - properties: - systemInfo: - $ref: '#/definitions/v2SystemInfo' v2GetTagSuggestionsResponse: type: object properties: @@ -1502,6 +1497,11 @@ definitions: properties: webhook: $ref: '#/definitions/apiv2Webhook' + v2GetWorkspaceProfileResponse: + type: object + properties: + workspaceProfile: + $ref: '#/definitions/v2WorkspaceProfile' v2HeadingNode: type: object properties: @@ -1937,24 +1937,6 @@ definitions: properties: content: type: string - v2SystemInfo: - type: object - properties: - version: - type: string - mode: - type: string - allowRegistration: - type: boolean - disablePasswordLogin: - type: boolean - additionalScript: - type: string - additionalStyle: - type: string - dbSize: - type: string - format: int64 v2TableNode: type: object properties: @@ -2034,11 +2016,6 @@ definitions: properties: resource: $ref: '#/definitions/v2Resource' - v2UpdateSystemInfoResponse: - type: object - properties: - systemInfo: - $ref: '#/definitions/v2SystemInfo' v2UpdateUserResponse: type: object properties: @@ -2054,6 +2031,11 @@ definitions: properties: webhook: $ref: '#/definitions/apiv2Webhook' + v2UpdateWorkspaceProfileResponse: + type: object + properties: + workspaceProfile: + $ref: '#/definitions/v2WorkspaceProfile' v2UpsertTagResponse: type: object properties: @@ -2111,3 +2093,18 @@ definitions: - PROTECTED - PUBLIC default: VISIBILITY_UNSPECIFIED + v2WorkspaceProfile: + type: object + properties: + version: + type: string + mode: + type: string + allowRegistration: + type: boolean + disablePasswordLogin: + type: boolean + additionalScript: + type: string + additionalStyle: + type: string diff --git a/api/v2/system_service.go b/api/v2/workspace_service.go similarity index 61% rename from api/v2/system_service.go rename to api/v2/workspace_service.go index 4605387d5..69559b78e 100644 --- a/api/v2/system_service.go +++ b/api/v2/workspace_service.go @@ -11,29 +11,18 @@ import ( "github.com/usememos/memos/store" ) -func (s *APIV2Service) GetSystemInfo(ctx context.Context, _ *apiv2pb.GetSystemInfoRequest) (*apiv2pb.GetSystemInfoResponse, error) { - defaultSystemInfo := &apiv2pb.SystemInfo{} - - // Get the database size if the user is a host. - currentUser, err := getCurrentUser(ctx, s.Store) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err) +func (s *APIV2Service) GetWorkspaceProfile(ctx context.Context, _ *apiv2pb.GetWorkspaceProfileRequest) (*apiv2pb.GetWorkspaceProfileResponse, error) { + workspaceProfile := &apiv2pb.WorkspaceProfile{ + Version: s.Profile.Version, + Mode: s.Profile.Mode, } - if currentUser != nil && currentUser.Role == store.RoleHost { - size, err := s.Store.GetCurrentDBSize(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to get db size: %v", err) - } - defaultSystemInfo.DbSize = size - } - - response := &apiv2pb.GetSystemInfoResponse{ - SystemInfo: defaultSystemInfo, + response := &apiv2pb.GetWorkspaceProfileResponse{ + WorkspaceProfile: workspaceProfile, } return response, nil } -func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.UpdateSystemInfoRequest) (*apiv2pb.UpdateSystemInfoResponse, error) { +func (s *APIV2Service) UpdateWorkspaceProfile(ctx context.Context, request *apiv2pb.UpdateWorkspaceProfileRequest) (*apiv2pb.UpdateWorkspaceProfileResponse, error) { user, err := getCurrentUser(ctx, s.Store) if err != nil { return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err) @@ -50,7 +39,7 @@ func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.Up if field == "allow_registration" { _, err := s.Store.UpsertSystemSetting(ctx, &store.SystemSetting{ Name: "allow-signup", - Value: strconv.FormatBool(request.SystemInfo.AllowRegistration), + Value: strconv.FormatBool(request.WorkspaceProfile.AllowRegistration), }) if err != nil { return nil, status.Errorf(codes.Internal, "failed to update allow_registration system setting: %v", err) @@ -58,7 +47,7 @@ func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.Up } else if field == "disable_password_login" { _, err := s.Store.UpsertSystemSetting(ctx, &store.SystemSetting{ Name: "disable-password-login", - Value: strconv.FormatBool(request.SystemInfo.DisablePasswordLogin), + Value: strconv.FormatBool(request.WorkspaceProfile.DisablePasswordLogin), }) if err != nil { return nil, status.Errorf(codes.Internal, "failed to update disable_password_login system setting: %v", err) @@ -66,7 +55,7 @@ func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.Up } else if field == "additional_script" { _, err := s.Store.UpsertSystemSetting(ctx, &store.SystemSetting{ Name: "additional-script", - Value: request.SystemInfo.AdditionalScript, + Value: request.WorkspaceProfile.AdditionalScript, }) if err != nil { return nil, status.Errorf(codes.Internal, "failed to update additional_script system setting: %v", err) @@ -74,7 +63,7 @@ func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.Up } else if field == "additional_style" { _, err := s.Store.UpsertSystemSetting(ctx, &store.SystemSetting{ Name: "additional-style", - Value: request.SystemInfo.AdditionalStyle, + Value: request.WorkspaceProfile.AdditionalStyle, }) if err != nil { return nil, status.Errorf(codes.Internal, "failed to update additional_style system setting: %v", err) @@ -82,11 +71,11 @@ func (s *APIV2Service) UpdateSystemInfo(ctx context.Context, request *apiv2pb.Up } } - systemInfo, err := s.GetSystemInfo(ctx, &apiv2pb.GetSystemInfoRequest{}) + workspaceProfileMessage, err := s.GetWorkspaceProfile(ctx, &apiv2pb.GetWorkspaceProfileRequest{}) if err != nil { return nil, status.Errorf(codes.Internal, "failed to get system info: %v", err) } - return &apiv2pb.UpdateSystemInfoResponse{ - SystemInfo: systemInfo.SystemInfo, + return &apiv2pb.UpdateWorkspaceProfileResponse{ + WorkspaceProfile: workspaceProfileMessage.WorkspaceProfile, }, nil } diff --git a/proto/api/v2/system_service.proto b/proto/api/v2/system_service.proto deleted file mode 100644 index 1af7ed17f..000000000 --- a/proto/api/v2/system_service.proto +++ /dev/null @@ -1,48 +0,0 @@ -syntax = "proto3"; - -package memos.api.v2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/protobuf/field_mask.proto"; - -option go_package = "gen/api/v2"; - -service SystemService { - rpc GetSystemInfo(GetSystemInfoRequest) returns (GetSystemInfoResponse) { - option (google.api.http) = {get: "/api/v2/system/info"}; - } - rpc UpdateSystemInfo(UpdateSystemInfoRequest) returns (UpdateSystemInfoResponse) { - option (google.api.http) = { - patch: "/api/v2/system/info", - body: "system_info" - }; - option (google.api.method_signature) = "system_info,update_mask"; - } -} - -message SystemInfo { - string version = 1; - string mode = 2; - bool allow_registration = 3; - bool disable_password_login = 4; - string additional_script = 5; - string additional_style = 6; - int64 db_size = 7; -} - -message GetSystemInfoRequest {} - -message GetSystemInfoResponse { - SystemInfo system_info = 1; -} - -message UpdateSystemInfoRequest { - // System info is the updated data. - SystemInfo system_info = 1; - google.protobuf.FieldMask update_mask = 2; -} - -message UpdateSystemInfoResponse { - SystemInfo system_info = 1; -} diff --git a/proto/api/v2/workspace_service.proto b/proto/api/v2/workspace_service.proto new file mode 100644 index 000000000..b245108a5 --- /dev/null +++ b/proto/api/v2/workspace_service.proto @@ -0,0 +1,47 @@ +syntax = "proto3"; + +package memos.api.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/protobuf/field_mask.proto"; + +option go_package = "gen/api/v2"; + +service WorkspaceService { + rpc GetWorkspaceProfile(GetWorkspaceProfileRequest) returns (GetWorkspaceProfileResponse) { + option (google.api.http) = {get: "/api/v2/workspace/profile"}; + } + rpc UpdateWorkspaceProfile(UpdateWorkspaceProfileRequest) returns (UpdateWorkspaceProfileResponse) { + option (google.api.http) = { + patch: "/api/v2/workspace/profile", + body: "workspace_profile" + }; + option (google.api.method_signature) = "workspace_profile,update_mask"; + } +} + +message WorkspaceProfile { + string version = 1; + string mode = 2; + bool allow_registration = 3; + bool disable_password_login = 4; + string additional_script = 5; + string additional_style = 6; +} + +message GetWorkspaceProfileRequest {} + +message GetWorkspaceProfileResponse { + WorkspaceProfile workspace_profile = 1; +} + +message UpdateWorkspaceProfileRequest { + // System info is the updated data. + WorkspaceProfile workspace_profile = 1; + google.protobuf.FieldMask update_mask = 2; +} + +message UpdateWorkspaceProfileResponse { + WorkspaceProfile workspace_profile = 1; +} diff --git a/proto/gen/api/v2/README.md b/proto/gen/api/v2/README.md index 34b802283..220770411 100644 --- a/proto/gen/api/v2/README.md +++ b/proto/gen/api/v2/README.md @@ -161,15 +161,6 @@ - [MemoService](#memos-api-v2-MemoService) -- [api/v2/system_service.proto](#api_v2_system_service-proto) - - [GetSystemInfoRequest](#memos-api-v2-GetSystemInfoRequest) - - [GetSystemInfoResponse](#memos-api-v2-GetSystemInfoResponse) - - [SystemInfo](#memos-api-v2-SystemInfo) - - [UpdateSystemInfoRequest](#memos-api-v2-UpdateSystemInfoRequest) - - [UpdateSystemInfoResponse](#memos-api-v2-UpdateSystemInfoResponse) - - - [SystemService](#memos-api-v2-SystemService) - - [api/v2/tag_service.proto](#api_v2_tag_service-proto) - [DeleteTagRequest](#memos-api-v2-DeleteTagRequest) - [DeleteTagResponse](#memos-api-v2-DeleteTagResponse) @@ -200,6 +191,15 @@ - [WebhookService](#memos-api-v2-WebhookService) +- [api/v2/workspace_service.proto](#api_v2_workspace_service-proto) + - [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) + - [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) + - [UpdateWorkspaceProfileRequest](#memos-api-v2-UpdateWorkspaceProfileRequest) + - [UpdateWorkspaceProfileResponse](#memos-api-v2-UpdateWorkspaceProfileResponse) + - [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) + + - [WorkspaceService](#memos-api-v2-WorkspaceService) + - [Scalar Value Types](#scalar-value-types) @@ -2328,110 +2328,6 @@ Used internally for obfuscating the page token. - -

Top

- -## api/v2/system_service.proto - - - - - -### GetSystemInfoRequest - - - - - - - - - -### GetSystemInfoResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| system_info | [SystemInfo](#memos-api-v2-SystemInfo) | | | - - - - - - - - -### SystemInfo - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| version | [string](#string) | | | -| mode | [string](#string) | | | -| allow_registration | [bool](#bool) | | | -| disable_password_login | [bool](#bool) | | | -| additional_script | [string](#string) | | | -| additional_style | [string](#string) | | | -| db_size | [int64](#int64) | | | - - - - - - - - -### UpdateSystemInfoRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| system_info | [SystemInfo](#memos-api-v2-SystemInfo) | | System info is the updated data. | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateSystemInfoResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| system_info | [SystemInfo](#memos-api-v2-SystemInfo) | | | - - - - - - - - - - - - - - -### SystemService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetSystemInfo | [GetSystemInfoRequest](#memos-api-v2-GetSystemInfoRequest) | [GetSystemInfoResponse](#memos-api-v2-GetSystemInfoResponse) | | -| UpdateSystemInfo | [UpdateSystemInfoRequest](#memos-api-v2-UpdateSystemInfoRequest) | [UpdateSystemInfoResponse](#memos-api-v2-UpdateSystemInfoResponse) | | - - - - -

Top

@@ -2823,6 +2719,109 @@ Used internally for obfuscating the page token. + +

Top

+ +## api/v2/workspace_service.proto + + + + + +### GetWorkspaceProfileRequest + + + + + + + + + +### GetWorkspaceProfileResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | | + + + + + + + + +### UpdateWorkspaceProfileRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | System info is the updated data. | +| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | + + + + + + + + +### UpdateWorkspaceProfileResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | | + + + + + + + + +### WorkspaceProfile + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| version | [string](#string) | | | +| mode | [string](#string) | | | +| allow_registration | [bool](#bool) | | | +| disable_password_login | [bool](#bool) | | | +| additional_script | [string](#string) | | | +| additional_style | [string](#string) | | | + + + + + + + + + + + + + + +### WorkspaceService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetWorkspaceProfile | [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) | [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) | | +| UpdateWorkspaceProfile | [UpdateWorkspaceProfileRequest](#memos-api-v2-UpdateWorkspaceProfileRequest) | [UpdateWorkspaceProfileResponse](#memos-api-v2-UpdateWorkspaceProfileResponse) | | + + + + + ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | diff --git a/proto/gen/api/v2/system_service.pb.go b/proto/gen/api/v2/system_service.pb.go deleted file mode 100644 index 3a9feddde..000000000 --- a/proto/gen/api/v2/system_service.pb.go +++ /dev/null @@ -1,513 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc (unknown) -// source: api/v2/system_service.proto - -package apiv2 - -import ( - _ "google.golang.org/genproto/googleapis/api/annotations" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type SystemInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` - AllowRegistration bool `protobuf:"varint,3,opt,name=allow_registration,json=allowRegistration,proto3" json:"allow_registration,omitempty"` - DisablePasswordLogin bool `protobuf:"varint,4,opt,name=disable_password_login,json=disablePasswordLogin,proto3" json:"disable_password_login,omitempty"` - AdditionalScript string `protobuf:"bytes,5,opt,name=additional_script,json=additionalScript,proto3" json:"additional_script,omitempty"` - AdditionalStyle string `protobuf:"bytes,6,opt,name=additional_style,json=additionalStyle,proto3" json:"additional_style,omitempty"` - DbSize int64 `protobuf:"varint,7,opt,name=db_size,json=dbSize,proto3" json:"db_size,omitempty"` -} - -func (x *SystemInfo) Reset() { - *x = SystemInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v2_system_service_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SystemInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SystemInfo) ProtoMessage() {} - -func (x *SystemInfo) ProtoReflect() protoreflect.Message { - mi := &file_api_v2_system_service_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SystemInfo.ProtoReflect.Descriptor instead. -func (*SystemInfo) Descriptor() ([]byte, []int) { - return file_api_v2_system_service_proto_rawDescGZIP(), []int{0} -} - -func (x *SystemInfo) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *SystemInfo) GetMode() string { - if x != nil { - return x.Mode - } - return "" -} - -func (x *SystemInfo) GetAllowRegistration() bool { - if x != nil { - return x.AllowRegistration - } - return false -} - -func (x *SystemInfo) GetDisablePasswordLogin() bool { - if x != nil { - return x.DisablePasswordLogin - } - return false -} - -func (x *SystemInfo) GetAdditionalScript() string { - if x != nil { - return x.AdditionalScript - } - return "" -} - -func (x *SystemInfo) GetAdditionalStyle() string { - if x != nil { - return x.AdditionalStyle - } - return "" -} - -func (x *SystemInfo) GetDbSize() int64 { - if x != nil { - return x.DbSize - } - return 0 -} - -type GetSystemInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetSystemInfoRequest) Reset() { - *x = GetSystemInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v2_system_service_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSystemInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSystemInfoRequest) ProtoMessage() {} - -func (x *GetSystemInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v2_system_service_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSystemInfoRequest.ProtoReflect.Descriptor instead. -func (*GetSystemInfoRequest) Descriptor() ([]byte, []int) { - return file_api_v2_system_service_proto_rawDescGZIP(), []int{1} -} - -type GetSystemInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SystemInfo *SystemInfo `protobuf:"bytes,1,opt,name=system_info,json=systemInfo,proto3" json:"system_info,omitempty"` -} - -func (x *GetSystemInfoResponse) Reset() { - *x = GetSystemInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v2_system_service_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSystemInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSystemInfoResponse) ProtoMessage() {} - -func (x *GetSystemInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v2_system_service_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSystemInfoResponse.ProtoReflect.Descriptor instead. -func (*GetSystemInfoResponse) Descriptor() ([]byte, []int) { - return file_api_v2_system_service_proto_rawDescGZIP(), []int{2} -} - -func (x *GetSystemInfoResponse) GetSystemInfo() *SystemInfo { - if x != nil { - return x.SystemInfo - } - return nil -} - -type UpdateSystemInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // System info is the updated data. - SystemInfo *SystemInfo `protobuf:"bytes,1,opt,name=system_info,json=systemInfo,proto3" json:"system_info,omitempty"` - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` -} - -func (x *UpdateSystemInfoRequest) Reset() { - *x = UpdateSystemInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v2_system_service_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateSystemInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateSystemInfoRequest) ProtoMessage() {} - -func (x *UpdateSystemInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v2_system_service_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateSystemInfoRequest.ProtoReflect.Descriptor instead. -func (*UpdateSystemInfoRequest) Descriptor() ([]byte, []int) { - return file_api_v2_system_service_proto_rawDescGZIP(), []int{3} -} - -func (x *UpdateSystemInfoRequest) GetSystemInfo() *SystemInfo { - if x != nil { - return x.SystemInfo - } - return nil -} - -func (x *UpdateSystemInfoRequest) GetUpdateMask() *fieldmaskpb.FieldMask { - if x != nil { - return x.UpdateMask - } - return nil -} - -type UpdateSystemInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SystemInfo *SystemInfo `protobuf:"bytes,1,opt,name=system_info,json=systemInfo,proto3" json:"system_info,omitempty"` -} - -func (x *UpdateSystemInfoResponse) Reset() { - *x = UpdateSystemInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v2_system_service_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateSystemInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateSystemInfoResponse) ProtoMessage() {} - -func (x *UpdateSystemInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v2_system_service_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateSystemInfoResponse.ProtoReflect.Descriptor instead. -func (*UpdateSystemInfoResponse) Descriptor() ([]byte, []int) { - return file_api_v2_system_service_proto_rawDescGZIP(), []int{4} -} - -func (x *UpdateSystemInfoResponse) GetSystemInfo() *SystemInfo { - if x != nil { - return x.SystemInfo - } - return nil -} - -var File_api_v2_system_service_proto protoreflect.FileDescriptor - -var file_api_v2_system_service_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x64, 0x62, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x52, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x39, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x55, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0xae, - 0x02, 0x0a, 0x0d, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x75, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa5, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x17, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x0b, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x42, - 0xaa, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, - 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, - 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, - 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_api_v2_system_service_proto_rawDescOnce sync.Once - file_api_v2_system_service_proto_rawDescData = file_api_v2_system_service_proto_rawDesc -) - -func file_api_v2_system_service_proto_rawDescGZIP() []byte { - file_api_v2_system_service_proto_rawDescOnce.Do(func() { - file_api_v2_system_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_v2_system_service_proto_rawDescData) - }) - return file_api_v2_system_service_proto_rawDescData -} - -var file_api_v2_system_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_api_v2_system_service_proto_goTypes = []interface{}{ - (*SystemInfo)(nil), // 0: memos.api.v2.SystemInfo - (*GetSystemInfoRequest)(nil), // 1: memos.api.v2.GetSystemInfoRequest - (*GetSystemInfoResponse)(nil), // 2: memos.api.v2.GetSystemInfoResponse - (*UpdateSystemInfoRequest)(nil), // 3: memos.api.v2.UpdateSystemInfoRequest - (*UpdateSystemInfoResponse)(nil), // 4: memos.api.v2.UpdateSystemInfoResponse - (*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask -} -var file_api_v2_system_service_proto_depIdxs = []int32{ - 0, // 0: memos.api.v2.GetSystemInfoResponse.system_info:type_name -> memos.api.v2.SystemInfo - 0, // 1: memos.api.v2.UpdateSystemInfoRequest.system_info:type_name -> memos.api.v2.SystemInfo - 5, // 2: memos.api.v2.UpdateSystemInfoRequest.update_mask:type_name -> google.protobuf.FieldMask - 0, // 3: memos.api.v2.UpdateSystemInfoResponse.system_info:type_name -> memos.api.v2.SystemInfo - 1, // 4: memos.api.v2.SystemService.GetSystemInfo:input_type -> memos.api.v2.GetSystemInfoRequest - 3, // 5: memos.api.v2.SystemService.UpdateSystemInfo:input_type -> memos.api.v2.UpdateSystemInfoRequest - 2, // 6: memos.api.v2.SystemService.GetSystemInfo:output_type -> memos.api.v2.GetSystemInfoResponse - 4, // 7: memos.api.v2.SystemService.UpdateSystemInfo:output_type -> memos.api.v2.UpdateSystemInfoResponse - 6, // [6:8] is the sub-list for method output_type - 4, // [4:6] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name -} - -func init() { file_api_v2_system_service_proto_init() } -func file_api_v2_system_service_proto_init() { - if File_api_v2_system_service_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_api_v2_system_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SystemInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v2_system_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSystemInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v2_system_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSystemInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v2_system_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSystemInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v2_system_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSystemInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_api_v2_system_service_proto_rawDesc, - NumEnums: 0, - NumMessages: 5, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_api_v2_system_service_proto_goTypes, - DependencyIndexes: file_api_v2_system_service_proto_depIdxs, - MessageInfos: file_api_v2_system_service_proto_msgTypes, - }.Build() - File_api_v2_system_service_proto = out.File - file_api_v2_system_service_proto_rawDesc = nil - file_api_v2_system_service_proto_goTypes = nil - file_api_v2_system_service_proto_depIdxs = nil -} diff --git a/proto/gen/api/v2/system_service.pb.gw.go b/proto/gen/api/v2/system_service.pb.gw.go deleted file mode 100644 index dce748e20..000000000 --- a/proto/gen/api/v2/system_service.pb.gw.go +++ /dev/null @@ -1,272 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: api/v2/system_service.proto - -/* -Package apiv2 is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package apiv2 - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_SystemService_GetSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, client SystemServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetSystemInfoRequest - var metadata runtime.ServerMetadata - - msg, err := client.GetSystemInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_SystemService_GetSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, server SystemServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetSystemInfoRequest - var metadata runtime.ServerMetadata - - msg, err := server.GetSystemInfo(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_SystemService_UpdateSystemInfo_0 = &utilities.DoubleArray{Encoding: map[string]int{"system_info": 0, "systemInfo": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_SystemService_UpdateSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, client SystemServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateSystemInfoRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SystemInfo); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { - if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.SystemInfo); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } else { - protoReq.UpdateMask = fieldMask - } - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SystemService_UpdateSystemInfo_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UpdateSystemInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_SystemService_UpdateSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, server SystemServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateSystemInfoRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SystemInfo); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { - if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.SystemInfo); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } else { - protoReq.UpdateMask = fieldMask - } - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SystemService_UpdateSystemInfo_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UpdateSystemInfo(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterSystemServiceHandlerServer registers the http handlers for service SystemService to "mux". -// UnaryRPC :call SystemServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterSystemServiceHandlerFromEndpoint instead. -func RegisterSystemServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server SystemServiceServer) error { - - mux.Handle("GET", pattern_SystemService_GetSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.SystemService/GetSystemInfo", runtime.WithHTTPPathPattern("/api/v2/system/info")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_SystemService_GetSystemInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_SystemService_GetSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_SystemService_UpdateSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.SystemService/UpdateSystemInfo", runtime.WithHTTPPathPattern("/api/v2/system/info")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_SystemService_UpdateSystemInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_SystemService_UpdateSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterSystemServiceHandlerFromEndpoint is same as RegisterSystemServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterSystemServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterSystemServiceHandler(ctx, mux, conn) -} - -// RegisterSystemServiceHandler registers the http handlers for service SystemService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterSystemServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterSystemServiceHandlerClient(ctx, mux, NewSystemServiceClient(conn)) -} - -// RegisterSystemServiceHandlerClient registers the http handlers for service SystemService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "SystemServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "SystemServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "SystemServiceClient" to call the correct interceptors. -func RegisterSystemServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client SystemServiceClient) error { - - mux.Handle("GET", pattern_SystemService_GetSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.SystemService/GetSystemInfo", runtime.WithHTTPPathPattern("/api/v2/system/info")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_SystemService_GetSystemInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_SystemService_GetSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_SystemService_UpdateSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.SystemService/UpdateSystemInfo", runtime.WithHTTPPathPattern("/api/v2/system/info")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_SystemService_UpdateSystemInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_SystemService_UpdateSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_SystemService_GetSystemInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "system", "info"}, "")) - - pattern_SystemService_UpdateSystemInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "system", "info"}, "")) -) - -var ( - forward_SystemService_GetSystemInfo_0 = runtime.ForwardResponseMessage - - forward_SystemService_UpdateSystemInfo_0 = runtime.ForwardResponseMessage -) diff --git a/proto/gen/api/v2/system_service_grpc.pb.go b/proto/gen/api/v2/system_service_grpc.pb.go deleted file mode 100644 index d2cee7a9b..000000000 --- a/proto/gen/api/v2/system_service_grpc.pb.go +++ /dev/null @@ -1,146 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc (unknown) -// source: api/v2/system_service.proto - -package apiv2 - -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.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - SystemService_GetSystemInfo_FullMethodName = "/memos.api.v2.SystemService/GetSystemInfo" - SystemService_UpdateSystemInfo_FullMethodName = "/memos.api.v2.SystemService/UpdateSystemInfo" -) - -// SystemServiceClient is the client API for SystemService 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 SystemServiceClient interface { - GetSystemInfo(ctx context.Context, in *GetSystemInfoRequest, opts ...grpc.CallOption) (*GetSystemInfoResponse, error) - UpdateSystemInfo(ctx context.Context, in *UpdateSystemInfoRequest, opts ...grpc.CallOption) (*UpdateSystemInfoResponse, error) -} - -type systemServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewSystemServiceClient(cc grpc.ClientConnInterface) SystemServiceClient { - return &systemServiceClient{cc} -} - -func (c *systemServiceClient) GetSystemInfo(ctx context.Context, in *GetSystemInfoRequest, opts ...grpc.CallOption) (*GetSystemInfoResponse, error) { - out := new(GetSystemInfoResponse) - err := c.cc.Invoke(ctx, SystemService_GetSystemInfo_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *systemServiceClient) UpdateSystemInfo(ctx context.Context, in *UpdateSystemInfoRequest, opts ...grpc.CallOption) (*UpdateSystemInfoResponse, error) { - out := new(UpdateSystemInfoResponse) - err := c.cc.Invoke(ctx, SystemService_UpdateSystemInfo_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SystemServiceServer is the server API for SystemService service. -// All implementations must embed UnimplementedSystemServiceServer -// for forward compatibility -type SystemServiceServer interface { - GetSystemInfo(context.Context, *GetSystemInfoRequest) (*GetSystemInfoResponse, error) - UpdateSystemInfo(context.Context, *UpdateSystemInfoRequest) (*UpdateSystemInfoResponse, error) - mustEmbedUnimplementedSystemServiceServer() -} - -// UnimplementedSystemServiceServer must be embedded to have forward compatible implementations. -type UnimplementedSystemServiceServer struct { -} - -func (UnimplementedSystemServiceServer) GetSystemInfo(context.Context, *GetSystemInfoRequest) (*GetSystemInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSystemInfo not implemented") -} -func (UnimplementedSystemServiceServer) UpdateSystemInfo(context.Context, *UpdateSystemInfoRequest) (*UpdateSystemInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateSystemInfo not implemented") -} -func (UnimplementedSystemServiceServer) mustEmbedUnimplementedSystemServiceServer() {} - -// UnsafeSystemServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SystemServiceServer will -// result in compilation errors. -type UnsafeSystemServiceServer interface { - mustEmbedUnimplementedSystemServiceServer() -} - -func RegisterSystemServiceServer(s grpc.ServiceRegistrar, srv SystemServiceServer) { - s.RegisterService(&SystemService_ServiceDesc, srv) -} - -func _SystemService_GetSystemInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetSystemInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SystemServiceServer).GetSystemInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SystemService_GetSystemInfo_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SystemServiceServer).GetSystemInfo(ctx, req.(*GetSystemInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SystemService_UpdateSystemInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateSystemInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SystemServiceServer).UpdateSystemInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SystemService_UpdateSystemInfo_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SystemServiceServer).UpdateSystemInfo(ctx, req.(*UpdateSystemInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// SystemService_ServiceDesc is the grpc.ServiceDesc for SystemService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SystemService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "memos.api.v2.SystemService", - HandlerType: (*SystemServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetSystemInfo", - Handler: _SystemService_GetSystemInfo_Handler, - }, - { - MethodName: "UpdateSystemInfo", - Handler: _SystemService_UpdateSystemInfo_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "api/v2/system_service.proto", -} diff --git a/proto/gen/api/v2/workspace_service.pb.go b/proto/gen/api/v2/workspace_service.pb.go new file mode 100644 index 000000000..66e97afcc --- /dev/null +++ b/proto/gen/api/v2/workspace_service.pb.go @@ -0,0 +1,513 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: api/v2/workspace_service.proto + +package apiv2 + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type WorkspaceProfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` + AllowRegistration bool `protobuf:"varint,3,opt,name=allow_registration,json=allowRegistration,proto3" json:"allow_registration,omitempty"` + DisablePasswordLogin bool `protobuf:"varint,4,opt,name=disable_password_login,json=disablePasswordLogin,proto3" json:"disable_password_login,omitempty"` + AdditionalScript string `protobuf:"bytes,5,opt,name=additional_script,json=additionalScript,proto3" json:"additional_script,omitempty"` + AdditionalStyle string `protobuf:"bytes,6,opt,name=additional_style,json=additionalStyle,proto3" json:"additional_style,omitempty"` +} + +func (x *WorkspaceProfile) Reset() { + *x = WorkspaceProfile{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v2_workspace_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceProfile) ProtoMessage() {} + +func (x *WorkspaceProfile) ProtoReflect() protoreflect.Message { + mi := &file_api_v2_workspace_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceProfile.ProtoReflect.Descriptor instead. +func (*WorkspaceProfile) Descriptor() ([]byte, []int) { + return file_api_v2_workspace_service_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkspaceProfile) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WorkspaceProfile) GetMode() string { + if x != nil { + return x.Mode + } + return "" +} + +func (x *WorkspaceProfile) GetAllowRegistration() bool { + if x != nil { + return x.AllowRegistration + } + return false +} + +func (x *WorkspaceProfile) GetDisablePasswordLogin() bool { + if x != nil { + return x.DisablePasswordLogin + } + return false +} + +func (x *WorkspaceProfile) GetAdditionalScript() string { + if x != nil { + return x.AdditionalScript + } + return "" +} + +func (x *WorkspaceProfile) GetAdditionalStyle() string { + if x != nil { + return x.AdditionalStyle + } + return "" +} + +type GetWorkspaceProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetWorkspaceProfileRequest) Reset() { + *x = GetWorkspaceProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v2_workspace_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWorkspaceProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceProfileRequest) ProtoMessage() {} + +func (x *GetWorkspaceProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_v2_workspace_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceProfileRequest.ProtoReflect.Descriptor instead. +func (*GetWorkspaceProfileRequest) Descriptor() ([]byte, []int) { + return file_api_v2_workspace_service_proto_rawDescGZIP(), []int{1} +} + +type GetWorkspaceProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WorkspaceProfile *WorkspaceProfile `protobuf:"bytes,1,opt,name=workspace_profile,json=workspaceProfile,proto3" json:"workspace_profile,omitempty"` +} + +func (x *GetWorkspaceProfileResponse) Reset() { + *x = GetWorkspaceProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v2_workspace_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWorkspaceProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkspaceProfileResponse) ProtoMessage() {} + +func (x *GetWorkspaceProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_v2_workspace_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkspaceProfileResponse.ProtoReflect.Descriptor instead. +func (*GetWorkspaceProfileResponse) Descriptor() ([]byte, []int) { + return file_api_v2_workspace_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetWorkspaceProfileResponse) GetWorkspaceProfile() *WorkspaceProfile { + if x != nil { + return x.WorkspaceProfile + } + return nil +} + +type UpdateWorkspaceProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // System info is the updated data. + WorkspaceProfile *WorkspaceProfile `protobuf:"bytes,1,opt,name=workspace_profile,json=workspaceProfile,proto3" json:"workspace_profile,omitempty"` + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateWorkspaceProfileRequest) Reset() { + *x = UpdateWorkspaceProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v2_workspace_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkspaceProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceProfileRequest) ProtoMessage() {} + +func (x *UpdateWorkspaceProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_v2_workspace_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceProfileRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceProfileRequest) Descriptor() ([]byte, []int) { + return file_api_v2_workspace_service_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateWorkspaceProfileRequest) GetWorkspaceProfile() *WorkspaceProfile { + if x != nil { + return x.WorkspaceProfile + } + return nil +} + +func (x *UpdateWorkspaceProfileRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +type UpdateWorkspaceProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WorkspaceProfile *WorkspaceProfile `protobuf:"bytes,1,opt,name=workspace_profile,json=workspaceProfile,proto3" json:"workspace_profile,omitempty"` +} + +func (x *UpdateWorkspaceProfileResponse) Reset() { + *x = UpdateWorkspaceProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v2_workspace_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkspaceProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkspaceProfileResponse) ProtoMessage() {} + +func (x *UpdateWorkspaceProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_v2_workspace_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkspaceProfileResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkspaceProfileResponse) Descriptor() ([]byte, []int) { + return file_api_v2_workspace_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateWorkspaceProfileResponse) GetWorkspaceProfile() *WorkspaceProfile { + if x != nil { + return x.WorkspaceProfile + } + return nil +} + +var File_api_v2_workspace_service_proto protoreflect.FileDescriptor + +var file_api_v2_workspace_service_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x6f, + 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x10, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x10, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x6d, 0x0a, + 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x32, 0xee, 0x02, 0x0a, + 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0xc9, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x2e, 0x6d, + 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0xda, 0x41, 0x1d, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, + 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x32, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0xad, 0x01, + 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x42, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, + 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, + 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, + 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_v2_workspace_service_proto_rawDescOnce sync.Once + file_api_v2_workspace_service_proto_rawDescData = file_api_v2_workspace_service_proto_rawDesc +) + +func file_api_v2_workspace_service_proto_rawDescGZIP() []byte { + file_api_v2_workspace_service_proto_rawDescOnce.Do(func() { + file_api_v2_workspace_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_v2_workspace_service_proto_rawDescData) + }) + return file_api_v2_workspace_service_proto_rawDescData +} + +var file_api_v2_workspace_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_api_v2_workspace_service_proto_goTypes = []interface{}{ + (*WorkspaceProfile)(nil), // 0: memos.api.v2.WorkspaceProfile + (*GetWorkspaceProfileRequest)(nil), // 1: memos.api.v2.GetWorkspaceProfileRequest + (*GetWorkspaceProfileResponse)(nil), // 2: memos.api.v2.GetWorkspaceProfileResponse + (*UpdateWorkspaceProfileRequest)(nil), // 3: memos.api.v2.UpdateWorkspaceProfileRequest + (*UpdateWorkspaceProfileResponse)(nil), // 4: memos.api.v2.UpdateWorkspaceProfileResponse + (*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask +} +var file_api_v2_workspace_service_proto_depIdxs = []int32{ + 0, // 0: memos.api.v2.GetWorkspaceProfileResponse.workspace_profile:type_name -> memos.api.v2.WorkspaceProfile + 0, // 1: memos.api.v2.UpdateWorkspaceProfileRequest.workspace_profile:type_name -> memos.api.v2.WorkspaceProfile + 5, // 2: memos.api.v2.UpdateWorkspaceProfileRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: memos.api.v2.UpdateWorkspaceProfileResponse.workspace_profile:type_name -> memos.api.v2.WorkspaceProfile + 1, // 4: memos.api.v2.WorkspaceService.GetWorkspaceProfile:input_type -> memos.api.v2.GetWorkspaceProfileRequest + 3, // 5: memos.api.v2.WorkspaceService.UpdateWorkspaceProfile:input_type -> memos.api.v2.UpdateWorkspaceProfileRequest + 2, // 6: memos.api.v2.WorkspaceService.GetWorkspaceProfile:output_type -> memos.api.v2.GetWorkspaceProfileResponse + 4, // 7: memos.api.v2.WorkspaceService.UpdateWorkspaceProfile:output_type -> memos.api.v2.UpdateWorkspaceProfileResponse + 6, // [6:8] is the sub-list for method output_type + 4, // [4:6] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_api_v2_workspace_service_proto_init() } +func file_api_v2_workspace_service_proto_init() { + if File_api_v2_workspace_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_v2_workspace_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceProfile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v2_workspace_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkspaceProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v2_workspace_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkspaceProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v2_workspace_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkspaceProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v2_workspace_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkspaceProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_v2_workspace_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_v2_workspace_service_proto_goTypes, + DependencyIndexes: file_api_v2_workspace_service_proto_depIdxs, + MessageInfos: file_api_v2_workspace_service_proto_msgTypes, + }.Build() + File_api_v2_workspace_service_proto = out.File + file_api_v2_workspace_service_proto_rawDesc = nil + file_api_v2_workspace_service_proto_goTypes = nil + file_api_v2_workspace_service_proto_depIdxs = nil +} diff --git a/proto/gen/api/v2/workspace_service.pb.gw.go b/proto/gen/api/v2/workspace_service.pb.gw.go new file mode 100644 index 000000000..f830de0a0 --- /dev/null +++ b/proto/gen/api/v2/workspace_service.pb.gw.go @@ -0,0 +1,272 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: api/v2/workspace_service.proto + +/* +Package apiv2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package apiv2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_WorkspaceService_GetWorkspaceProfile_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetWorkspaceProfileRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetWorkspaceProfile(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_GetWorkspaceProfile_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetWorkspaceProfileRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetWorkspaceProfile(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_WorkspaceService_UpdateWorkspaceProfile_0 = &utilities.DoubleArray{Encoding: map[string]int{"workspace_profile": 0, "workspaceProfile": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_WorkspaceService_UpdateWorkspaceProfile_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateWorkspaceProfileRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.WorkspaceProfile); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.WorkspaceProfile); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkspaceService_UpdateWorkspaceProfile_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateWorkspaceProfile(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_UpdateWorkspaceProfile_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateWorkspaceProfileRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.WorkspaceProfile); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.WorkspaceProfile); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkspaceService_UpdateWorkspaceProfile_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateWorkspaceProfile(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterWorkspaceServiceHandlerServer registers the http handlers for service WorkspaceService to "mux". +// UnaryRPC :call WorkspaceServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWorkspaceServiceHandlerFromEndpoint instead. +func RegisterWorkspaceServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WorkspaceServiceServer) error { + + mux.Handle("GET", pattern_WorkspaceService_GetWorkspaceProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.WorkspaceService/GetWorkspaceProfile", runtime.WithHTTPPathPattern("/api/v2/workspace/profile")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_GetWorkspaceProfile_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_GetWorkspaceProfile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_WorkspaceService_UpdateWorkspaceProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.WorkspaceService/UpdateWorkspaceProfile", runtime.WithHTTPPathPattern("/api/v2/workspace/profile")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_UpdateWorkspaceProfile_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_UpdateWorkspaceProfile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterWorkspaceServiceHandlerFromEndpoint is same as RegisterWorkspaceServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterWorkspaceServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterWorkspaceServiceHandler(ctx, mux, conn) +} + +// RegisterWorkspaceServiceHandler registers the http handlers for service WorkspaceService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterWorkspaceServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterWorkspaceServiceHandlerClient(ctx, mux, NewWorkspaceServiceClient(conn)) +} + +// RegisterWorkspaceServiceHandlerClient registers the http handlers for service WorkspaceService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WorkspaceServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WorkspaceServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "WorkspaceServiceClient" to call the correct interceptors. +func RegisterWorkspaceServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WorkspaceServiceClient) error { + + mux.Handle("GET", pattern_WorkspaceService_GetWorkspaceProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.WorkspaceService/GetWorkspaceProfile", runtime.WithHTTPPathPattern("/api/v2/workspace/profile")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_GetWorkspaceProfile_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_GetWorkspaceProfile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_WorkspaceService_UpdateWorkspaceProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.WorkspaceService/UpdateWorkspaceProfile", runtime.WithHTTPPathPattern("/api/v2/workspace/profile")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_UpdateWorkspaceProfile_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_UpdateWorkspaceProfile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_WorkspaceService_GetWorkspaceProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "workspace", "profile"}, "")) + + pattern_WorkspaceService_UpdateWorkspaceProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "workspace", "profile"}, "")) +) + +var ( + forward_WorkspaceService_GetWorkspaceProfile_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_UpdateWorkspaceProfile_0 = runtime.ForwardResponseMessage +) diff --git a/proto/gen/api/v2/workspace_service_grpc.pb.go b/proto/gen/api/v2/workspace_service_grpc.pb.go new file mode 100644 index 000000000..dcae62b35 --- /dev/null +++ b/proto/gen/api/v2/workspace_service_grpc.pb.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: api/v2/workspace_service.proto + +package apiv2 + +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.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + WorkspaceService_GetWorkspaceProfile_FullMethodName = "/memos.api.v2.WorkspaceService/GetWorkspaceProfile" + WorkspaceService_UpdateWorkspaceProfile_FullMethodName = "/memos.api.v2.WorkspaceService/UpdateWorkspaceProfile" +) + +// WorkspaceServiceClient is the client API for WorkspaceService 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 WorkspaceServiceClient interface { + GetWorkspaceProfile(ctx context.Context, in *GetWorkspaceProfileRequest, opts ...grpc.CallOption) (*GetWorkspaceProfileResponse, error) + UpdateWorkspaceProfile(ctx context.Context, in *UpdateWorkspaceProfileRequest, opts ...grpc.CallOption) (*UpdateWorkspaceProfileResponse, error) +} + +type workspaceServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewWorkspaceServiceClient(cc grpc.ClientConnInterface) WorkspaceServiceClient { + return &workspaceServiceClient{cc} +} + +func (c *workspaceServiceClient) GetWorkspaceProfile(ctx context.Context, in *GetWorkspaceProfileRequest, opts ...grpc.CallOption) (*GetWorkspaceProfileResponse, error) { + out := new(GetWorkspaceProfileResponse) + err := c.cc.Invoke(ctx, WorkspaceService_GetWorkspaceProfile_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workspaceServiceClient) UpdateWorkspaceProfile(ctx context.Context, in *UpdateWorkspaceProfileRequest, opts ...grpc.CallOption) (*UpdateWorkspaceProfileResponse, error) { + out := new(UpdateWorkspaceProfileResponse) + err := c.cc.Invoke(ctx, WorkspaceService_UpdateWorkspaceProfile_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WorkspaceServiceServer is the server API for WorkspaceService service. +// All implementations must embed UnimplementedWorkspaceServiceServer +// for forward compatibility +type WorkspaceServiceServer interface { + GetWorkspaceProfile(context.Context, *GetWorkspaceProfileRequest) (*GetWorkspaceProfileResponse, error) + UpdateWorkspaceProfile(context.Context, *UpdateWorkspaceProfileRequest) (*UpdateWorkspaceProfileResponse, error) + mustEmbedUnimplementedWorkspaceServiceServer() +} + +// UnimplementedWorkspaceServiceServer must be embedded to have forward compatible implementations. +type UnimplementedWorkspaceServiceServer struct { +} + +func (UnimplementedWorkspaceServiceServer) GetWorkspaceProfile(context.Context, *GetWorkspaceProfileRequest) (*GetWorkspaceProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetWorkspaceProfile not implemented") +} +func (UnimplementedWorkspaceServiceServer) UpdateWorkspaceProfile(context.Context, *UpdateWorkspaceProfileRequest) (*UpdateWorkspaceProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkspaceProfile not implemented") +} +func (UnimplementedWorkspaceServiceServer) mustEmbedUnimplementedWorkspaceServiceServer() {} + +// UnsafeWorkspaceServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to WorkspaceServiceServer will +// result in compilation errors. +type UnsafeWorkspaceServiceServer interface { + mustEmbedUnimplementedWorkspaceServiceServer() +} + +func RegisterWorkspaceServiceServer(s grpc.ServiceRegistrar, srv WorkspaceServiceServer) { + s.RegisterService(&WorkspaceService_ServiceDesc, srv) +} + +func _WorkspaceService_GetWorkspaceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkspaceProfileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkspaceServiceServer).GetWorkspaceProfile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkspaceService_GetWorkspaceProfile_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkspaceServiceServer).GetWorkspaceProfile(ctx, req.(*GetWorkspaceProfileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkspaceService_UpdateWorkspaceProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkspaceProfileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkspaceServiceServer).UpdateWorkspaceProfile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkspaceService_UpdateWorkspaceProfile_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkspaceServiceServer).UpdateWorkspaceProfile(ctx, req.(*UpdateWorkspaceProfileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// WorkspaceService_ServiceDesc is the grpc.ServiceDesc for WorkspaceService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var WorkspaceService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "memos.api.v2.WorkspaceService", + HandlerType: (*WorkspaceServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetWorkspaceProfile", + Handler: _WorkspaceService_GetWorkspaceProfile_Handler, + }, + { + MethodName: "UpdateWorkspaceProfile", + Handler: _WorkspaceService_UpdateWorkspaceProfile_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "api/v2/workspace_service.proto", +} diff --git a/web/src/components/ActivityCalendar.tsx b/web/src/components/ActivityCalendar.tsx index 8c5bd8d73..e22f0a1a0 100644 --- a/web/src/components/ActivityCalendar.tsx +++ b/web/src/components/ActivityCalendar.tsx @@ -16,13 +16,11 @@ const getCellAdditionalStyles = (count: number, maxCount: number) => { const ratio = count / maxCount; if (ratio > 0.7) { - return "bg-blue-600 text-gray-200"; - } else if (ratio > 0.5) { + return "bg-blue-600 text-gray-100 dark:opacity-80"; + } else if (ratio > 0.4) { return "bg-blue-400 text-gray-200 dark:opacity-80"; - } else if (ratio > 0.3) { - return "bg-blue-300 text-gray-200 dark:opacity-80"; } else { - return "bg-blue-200 text-gray-200 dark:opacity-80"; + return "bg-blue-300 text-gray-600 dark:opacity-80"; } }; diff --git a/web/src/components/Settings/SystemSection.tsx b/web/src/components/Settings/SystemSection.tsx index e7da570e9..4a783f6eb 100644 --- a/web/src/components/Settings/SystemSection.tsx +++ b/web/src/components/Settings/SystemSection.tsx @@ -3,7 +3,6 @@ import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { Link } from "react-router-dom"; import * as api from "@/helpers/api"; -import { formatBytes } from "@/helpers/utils"; import { useGlobalStore } from "@/store/module"; import { useTranslate } from "@/utils/i18n"; import { showCommonDialog } from "../Dialog/CommonDialog"; @@ -12,7 +11,6 @@ import Icon from "../Icon"; import showUpdateCustomizedProfileDialog from "../UpdateCustomizedProfileDialog"; interface State { - dbSize: number; allowSignUp: boolean; disablePasswordLogin: boolean; disablePublicMemos: boolean; @@ -27,7 +25,6 @@ const SystemSection = () => { const globalStore = useGlobalStore(); const systemStatus = globalStore.state.systemStatus; const [state, setState] = useState({ - dbSize: systemStatus.dbSize, allowSignUp: systemStatus.allowSignUp, disablePasswordLogin: systemStatus.disablePasswordLogin, additionalStyle: systemStatus.additionalStyle, @@ -59,7 +56,6 @@ const SystemSection = () => { useEffect(() => { setState({ ...state, - dbSize: systemStatus.dbSize, allowSignUp: systemStatus.allowSignUp, disablePasswordLogin: systemStatus.disablePasswordLogin, additionalStyle: systemStatus.additionalStyle, @@ -107,17 +103,6 @@ const SystemSection = () => { showUpdateCustomizedProfileDialog(); }; - const handleVacuumBtnClick = async () => { - try { - await api.vacuumDatabase(); - await globalStore.fetchSystemStatus(); - } catch (error) { - console.error(error); - return; - } - toast.success(t("message.succeed-vacuum-database")); - }; - const handleInstanceUrlChanged = (value: string) => { setInstanceUrl(value); }; @@ -251,17 +236,6 @@ const SystemSection = () => { -
-
- - {t("setting.system-section.database-file-size")}: {formatBytes(state.dbSize)} - - - - -
- -

{t("common.settings")}

{t("setting.system-section.allow-user-signup")} diff --git a/web/src/grpcweb.ts b/web/src/grpcweb.ts index 40185838d..ddb1f0cda 100644 --- a/web/src/grpcweb.ts +++ b/web/src/grpcweb.ts @@ -5,10 +5,10 @@ import { InboxServiceDefinition } from "./types/proto/api/v2/inbox_service"; import { MarkdownServiceDefinition } from "./types/proto/api/v2/markdown_service"; import { MemoServiceDefinition } from "./types/proto/api/v2/memo_service"; import { ResourceServiceDefinition } from "./types/proto/api/v2/resource_service"; -import { SystemServiceDefinition } from "./types/proto/api/v2/system_service"; import { TagServiceDefinition } from "./types/proto/api/v2/tag_service"; import { UserServiceDefinition } from "./types/proto/api/v2/user_service"; import { WebhookServiceDefinition } from "./types/proto/api/v2/webhook_service"; +import { WorkspaceServiceDefinition } from "./types/proto/api/v2/workspace_service"; const channel = createChannel( window.location.origin, @@ -19,6 +19,8 @@ const channel = createChannel( const clientFactory = createClientFactory(); +export const workspaceServiceClient = clientFactory.create(WorkspaceServiceDefinition, channel); + export const authServiceClient = clientFactory.create(AuthServiceDefinition, channel); export const userServiceClient = clientFactory.create(UserServiceDefinition, channel); @@ -27,8 +29,6 @@ export const memoServiceClient = clientFactory.create(MemoServiceDefinition, cha export const resourceServiceClient = clientFactory.create(ResourceServiceDefinition, channel); -export const systemServiceClient = clientFactory.create(SystemServiceDefinition, channel); - export const tagServiceClient = clientFactory.create(TagServiceDefinition, channel); export const inboxServiceClient = clientFactory.create(InboxServiceDefinition, channel); diff --git a/web/src/helpers/api.ts b/web/src/helpers/api.ts index 9728ec6cb..2083b2f6b 100644 --- a/web/src/helpers/api.ts +++ b/web/src/helpers/api.ts @@ -13,10 +13,6 @@ export function upsertSystemSetting(systemSetting: SystemSetting) { return axios.post("/api/v1/system/setting", systemSetting); } -export function vacuumDatabase() { - return axios.post("/api/v1/system/vacuum"); -} - export function signin(username: string, password: string, remember: boolean) { return axios.post("/api/v1/auth/signin", { username, diff --git a/web/src/store/module/global.ts b/web/src/store/module/global.ts index 63b27c874..79b4f346b 100644 --- a/web/src/store/module/global.ts +++ b/web/src/store/module/global.ts @@ -1,4 +1,3 @@ -import { systemServiceClient } from "@/grpcweb"; import * as api from "@/helpers/api"; import storage from "@/helpers/storage"; import i18n from "@/i18n"; @@ -72,8 +71,6 @@ export const useGlobalStore = () => { }, fetchSystemStatus: async () => { const { data: systemStatus } = await api.getSystemStatus(); - const { systemInfo } = await systemServiceClient.getSystemInfo({}); - systemStatus.dbSize = systemInfo?.dbSize || 0; store.dispatch(setGlobalState({ systemStatus: systemStatus })); return systemStatus; }, diff --git a/web/src/store/reducer/global.ts b/web/src/store/reducer/global.ts index 430d98650..e526e79c3 100644 --- a/web/src/store/reducer/global.ts +++ b/web/src/store/reducer/global.ts @@ -17,7 +17,6 @@ const globalSlice = createSlice({ mode: "demo", version: "", }, - dbSize: 0, allowSignUp: false, disablePasswordLogin: false, disablePublicMemos: false, diff --git a/web/src/types/modules/system.d.ts b/web/src/types/modules/system.d.ts index 594878dec..363cac34f 100644 --- a/web/src/types/modules/system.d.ts +++ b/web/src/types/modules/system.d.ts @@ -15,7 +15,6 @@ interface CustomizedProfile { interface SystemStatus { host?: User; profile: Profile; - dbSize: number; // System settings allowSignUp: boolean; disablePasswordLogin: boolean;