// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: api/v1/workspace_service.proto

package apiv1

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"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type WorkspaceStorageSetting_StorageType int32

const (
	WorkspaceStorageSetting_STORAGE_TYPE_UNSPECIFIED WorkspaceStorageSetting_StorageType = 0
	// DATABASE is the database storage type.
	WorkspaceStorageSetting_DATABASE WorkspaceStorageSetting_StorageType = 1
	// LOCAL is the local storage type.
	WorkspaceStorageSetting_LOCAL WorkspaceStorageSetting_StorageType = 2
	// S3 is the S3 storage type.
	WorkspaceStorageSetting_S3 WorkspaceStorageSetting_StorageType = 3
)

// Enum value maps for WorkspaceStorageSetting_StorageType.
var (
	WorkspaceStorageSetting_StorageType_name = map[int32]string{
		0: "STORAGE_TYPE_UNSPECIFIED",
		1: "DATABASE",
		2: "LOCAL",
		3: "S3",
	}
	WorkspaceStorageSetting_StorageType_value = map[string]int32{
		"STORAGE_TYPE_UNSPECIFIED": 0,
		"DATABASE":                 1,
		"LOCAL":                    2,
		"S3":                       3,
	}
)

func (x WorkspaceStorageSetting_StorageType) Enum() *WorkspaceStorageSetting_StorageType {
	p := new(WorkspaceStorageSetting_StorageType)
	*p = x
	return p
}

func (x WorkspaceStorageSetting_StorageType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WorkspaceStorageSetting_StorageType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_v1_workspace_service_proto_enumTypes[0].Descriptor()
}

func (WorkspaceStorageSetting_StorageType) Type() protoreflect.EnumType {
	return &file_api_v1_workspace_service_proto_enumTypes[0]
}

func (x WorkspaceStorageSetting_StorageType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WorkspaceStorageSetting_StorageType.Descriptor instead.
func (WorkspaceStorageSetting_StorageType) EnumDescriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{5, 0}
}

// Workspace profile message containing basic workspace information.
type WorkspaceProfile struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of instance owner.
	// Format: users/{user}
	Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	// Version is the current version of instance.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Mode is the instance mode (e.g. "prod", "dev" or "demo").
	Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"`
	// Instance URL is the URL of the instance.
	InstanceUrl   string `protobuf:"bytes,6,opt,name=instance_url,json=instanceUrl,proto3" json:"instance_url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceProfile) Reset() {
	*x = WorkspaceProfile{}
	mi := &file_api_v1_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_v1_workspace_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceProfile.ProtoReflect.Descriptor instead.
func (*WorkspaceProfile) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{0}
}

func (x *WorkspaceProfile) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

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) GetInstanceUrl() string {
	if x != nil {
		return x.InstanceUrl
	}
	return ""
}

// Request for workspace profile.
type GetWorkspaceProfileRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWorkspaceProfileRequest) Reset() {
	*x = GetWorkspaceProfileRequest{}
	mi := &file_api_v1_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_v1_workspace_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkspaceProfileRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceProfileRequest) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{1}
}

// A workspace setting resource.
type WorkspaceSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the workspace setting.
	// Format: workspace/settings/{setting}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to Value:
	//
	//	*WorkspaceSetting_GeneralSetting
	//	*WorkspaceSetting_StorageSetting
	//	*WorkspaceSetting_MemoRelatedSetting
	Value         isWorkspaceSetting_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceSetting) Reset() {
	*x = WorkspaceSetting{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceSetting) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceSetting) ProtoMessage() {}

func (x *WorkspaceSetting) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceSetting) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{2}
}

func (x *WorkspaceSetting) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *WorkspaceSetting) GetValue() isWorkspaceSetting_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *WorkspaceSetting) GetGeneralSetting() *WorkspaceGeneralSetting {
	if x != nil {
		if x, ok := x.Value.(*WorkspaceSetting_GeneralSetting); ok {
			return x.GeneralSetting
		}
	}
	return nil
}

func (x *WorkspaceSetting) GetStorageSetting() *WorkspaceStorageSetting {
	if x != nil {
		if x, ok := x.Value.(*WorkspaceSetting_StorageSetting); ok {
			return x.StorageSetting
		}
	}
	return nil
}

func (x *WorkspaceSetting) GetMemoRelatedSetting() *WorkspaceMemoRelatedSetting {
	if x != nil {
		if x, ok := x.Value.(*WorkspaceSetting_MemoRelatedSetting); ok {
			return x.MemoRelatedSetting
		}
	}
	return nil
}

type isWorkspaceSetting_Value interface {
	isWorkspaceSetting_Value()
}

type WorkspaceSetting_GeneralSetting struct {
	GeneralSetting *WorkspaceGeneralSetting `protobuf:"bytes,2,opt,name=general_setting,json=generalSetting,proto3,oneof"`
}

type WorkspaceSetting_StorageSetting struct {
	StorageSetting *WorkspaceStorageSetting `protobuf:"bytes,3,opt,name=storage_setting,json=storageSetting,proto3,oneof"`
}

type WorkspaceSetting_MemoRelatedSetting struct {
	MemoRelatedSetting *WorkspaceMemoRelatedSetting `protobuf:"bytes,4,opt,name=memo_related_setting,json=memoRelatedSetting,proto3,oneof"`
}

func (*WorkspaceSetting_GeneralSetting) isWorkspaceSetting_Value() {}

func (*WorkspaceSetting_StorageSetting) isWorkspaceSetting_Value() {}

func (*WorkspaceSetting_MemoRelatedSetting) isWorkspaceSetting_Value() {}

type WorkspaceGeneralSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// theme is the name of the selected theme.
	// This references a CSS file in the web/public/themes/ directory.
	Theme string `protobuf:"bytes,1,opt,name=theme,proto3" json:"theme,omitempty"`
	// disallow_user_registration disallows user registration.
	DisallowUserRegistration bool `protobuf:"varint,2,opt,name=disallow_user_registration,json=disallowUserRegistration,proto3" json:"disallow_user_registration,omitempty"`
	// disallow_password_auth disallows password authentication.
	DisallowPasswordAuth bool `protobuf:"varint,3,opt,name=disallow_password_auth,json=disallowPasswordAuth,proto3" json:"disallow_password_auth,omitempty"`
	// additional_script is the additional script.
	AdditionalScript string `protobuf:"bytes,4,opt,name=additional_script,json=additionalScript,proto3" json:"additional_script,omitempty"`
	// additional_style is the additional style.
	AdditionalStyle string `protobuf:"bytes,5,opt,name=additional_style,json=additionalStyle,proto3" json:"additional_style,omitempty"`
	// custom_profile is the custom profile.
	CustomProfile *WorkspaceCustomProfile `protobuf:"bytes,6,opt,name=custom_profile,json=customProfile,proto3" json:"custom_profile,omitempty"`
	// week_start_day_offset is the week start day offset from Sunday.
	// 0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday
	// Default is Sunday.
	WeekStartDayOffset int32 `protobuf:"varint,7,opt,name=week_start_day_offset,json=weekStartDayOffset,proto3" json:"week_start_day_offset,omitempty"`
	// disallow_change_username disallows changing username.
	DisallowChangeUsername bool `protobuf:"varint,8,opt,name=disallow_change_username,json=disallowChangeUsername,proto3" json:"disallow_change_username,omitempty"`
	// disallow_change_nickname disallows changing nickname.
	DisallowChangeNickname bool `protobuf:"varint,9,opt,name=disallow_change_nickname,json=disallowChangeNickname,proto3" json:"disallow_change_nickname,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *WorkspaceGeneralSetting) Reset() {
	*x = WorkspaceGeneralSetting{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceGeneralSetting) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceGeneralSetting) ProtoMessage() {}

func (x *WorkspaceGeneralSetting) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceGeneralSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceGeneralSetting) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{3}
}

func (x *WorkspaceGeneralSetting) GetTheme() string {
	if x != nil {
		return x.Theme
	}
	return ""
}

func (x *WorkspaceGeneralSetting) GetDisallowUserRegistration() bool {
	if x != nil {
		return x.DisallowUserRegistration
	}
	return false
}

func (x *WorkspaceGeneralSetting) GetDisallowPasswordAuth() bool {
	if x != nil {
		return x.DisallowPasswordAuth
	}
	return false
}

func (x *WorkspaceGeneralSetting) GetAdditionalScript() string {
	if x != nil {
		return x.AdditionalScript
	}
	return ""
}

func (x *WorkspaceGeneralSetting) GetAdditionalStyle() string {
	if x != nil {
		return x.AdditionalStyle
	}
	return ""
}

func (x *WorkspaceGeneralSetting) GetCustomProfile() *WorkspaceCustomProfile {
	if x != nil {
		return x.CustomProfile
	}
	return nil
}

func (x *WorkspaceGeneralSetting) GetWeekStartDayOffset() int32 {
	if x != nil {
		return x.WeekStartDayOffset
	}
	return 0
}

func (x *WorkspaceGeneralSetting) GetDisallowChangeUsername() bool {
	if x != nil {
		return x.DisallowChangeUsername
	}
	return false
}

func (x *WorkspaceGeneralSetting) GetDisallowChangeNickname() bool {
	if x != nil {
		return x.DisallowChangeNickname
	}
	return false
}

type WorkspaceCustomProfile struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Title         string                 `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Description   string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	LogoUrl       string                 `protobuf:"bytes,3,opt,name=logo_url,json=logoUrl,proto3" json:"logo_url,omitempty"`
	Locale        string                 `protobuf:"bytes,4,opt,name=locale,proto3" json:"locale,omitempty"`
	Appearance    string                 `protobuf:"bytes,5,opt,name=appearance,proto3" json:"appearance,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceCustomProfile) Reset() {
	*x = WorkspaceCustomProfile{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceCustomProfile) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceCustomProfile) ProtoMessage() {}

func (x *WorkspaceCustomProfile) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceCustomProfile.ProtoReflect.Descriptor instead.
func (*WorkspaceCustomProfile) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{4}
}

func (x *WorkspaceCustomProfile) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *WorkspaceCustomProfile) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *WorkspaceCustomProfile) GetLogoUrl() string {
	if x != nil {
		return x.LogoUrl
	}
	return ""
}

func (x *WorkspaceCustomProfile) GetLocale() string {
	if x != nil {
		return x.Locale
	}
	return ""
}

func (x *WorkspaceCustomProfile) GetAppearance() string {
	if x != nil {
		return x.Appearance
	}
	return ""
}

type WorkspaceStorageSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// storage_type is the storage type.
	StorageType WorkspaceStorageSetting_StorageType `protobuf:"varint,1,opt,name=storage_type,json=storageType,proto3,enum=memos.api.v1.WorkspaceStorageSetting_StorageType" json:"storage_type,omitempty"`
	// The template of file path.
	// e.g. assets/{timestamp}_{filename}
	FilepathTemplate string `protobuf:"bytes,2,opt,name=filepath_template,json=filepathTemplate,proto3" json:"filepath_template,omitempty"`
	// The max upload size in megabytes.
	UploadSizeLimitMb int64 `protobuf:"varint,3,opt,name=upload_size_limit_mb,json=uploadSizeLimitMb,proto3" json:"upload_size_limit_mb,omitempty"`
	// The S3 config.
	S3Config      *WorkspaceStorageSetting_S3Config `protobuf:"bytes,4,opt,name=s3_config,json=s3Config,proto3" json:"s3_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceStorageSetting) Reset() {
	*x = WorkspaceStorageSetting{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceStorageSetting) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceStorageSetting) ProtoMessage() {}

func (x *WorkspaceStorageSetting) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceStorageSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceStorageSetting) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{5}
}

func (x *WorkspaceStorageSetting) GetStorageType() WorkspaceStorageSetting_StorageType {
	if x != nil {
		return x.StorageType
	}
	return WorkspaceStorageSetting_STORAGE_TYPE_UNSPECIFIED
}

func (x *WorkspaceStorageSetting) GetFilepathTemplate() string {
	if x != nil {
		return x.FilepathTemplate
	}
	return ""
}

func (x *WorkspaceStorageSetting) GetUploadSizeLimitMb() int64 {
	if x != nil {
		return x.UploadSizeLimitMb
	}
	return 0
}

func (x *WorkspaceStorageSetting) GetS3Config() *WorkspaceStorageSetting_S3Config {
	if x != nil {
		return x.S3Config
	}
	return nil
}

type WorkspaceMemoRelatedSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// disallow_public_visibility disallows set memo as public visibility.
	DisallowPublicVisibility bool `protobuf:"varint,1,opt,name=disallow_public_visibility,json=disallowPublicVisibility,proto3" json:"disallow_public_visibility,omitempty"`
	// display_with_update_time orders and displays memo with update time.
	DisplayWithUpdateTime bool `protobuf:"varint,2,opt,name=display_with_update_time,json=displayWithUpdateTime,proto3" json:"display_with_update_time,omitempty"`
	// content_length_limit is the limit of content length. Unit is byte.
	ContentLengthLimit int32 `protobuf:"varint,3,opt,name=content_length_limit,json=contentLengthLimit,proto3" json:"content_length_limit,omitempty"`
	// enable_double_click_edit enables editing on double click.
	EnableDoubleClickEdit bool `protobuf:"varint,4,opt,name=enable_double_click_edit,json=enableDoubleClickEdit,proto3" json:"enable_double_click_edit,omitempty"`
	// enable_link_preview enables links preview.
	EnableLinkPreview bool `protobuf:"varint,5,opt,name=enable_link_preview,json=enableLinkPreview,proto3" json:"enable_link_preview,omitempty"`
	// enable_comment enables comment.
	EnableComment bool `protobuf:"varint,6,opt,name=enable_comment,json=enableComment,proto3" json:"enable_comment,omitempty"`
	// reactions is the list of reactions.
	Reactions []string `protobuf:"bytes,7,rep,name=reactions,proto3" json:"reactions,omitempty"`
	// disable_markdown_shortcuts disallow the registration of markdown shortcuts.
	DisableMarkdownShortcuts bool `protobuf:"varint,8,opt,name=disable_markdown_shortcuts,json=disableMarkdownShortcuts,proto3" json:"disable_markdown_shortcuts,omitempty"`
	// enable_blur_nsfw_content enables blurring of content marked as not safe for work (NSFW).
	EnableBlurNsfwContent bool `protobuf:"varint,9,opt,name=enable_blur_nsfw_content,json=enableBlurNsfwContent,proto3" json:"enable_blur_nsfw_content,omitempty"`
	// nsfw_tags is the list of tags that mark content as NSFW for blurring.
	NsfwTags      []string `protobuf:"bytes,10,rep,name=nsfw_tags,json=nsfwTags,proto3" json:"nsfw_tags,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkspaceMemoRelatedSetting) Reset() {
	*x = WorkspaceMemoRelatedSetting{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceMemoRelatedSetting) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceMemoRelatedSetting) ProtoMessage() {}

func (x *WorkspaceMemoRelatedSetting) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceMemoRelatedSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceMemoRelatedSetting) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{6}
}

func (x *WorkspaceMemoRelatedSetting) GetDisallowPublicVisibility() bool {
	if x != nil {
		return x.DisallowPublicVisibility
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetDisplayWithUpdateTime() bool {
	if x != nil {
		return x.DisplayWithUpdateTime
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetContentLengthLimit() int32 {
	if x != nil {
		return x.ContentLengthLimit
	}
	return 0
}

func (x *WorkspaceMemoRelatedSetting) GetEnableDoubleClickEdit() bool {
	if x != nil {
		return x.EnableDoubleClickEdit
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetEnableLinkPreview() bool {
	if x != nil {
		return x.EnableLinkPreview
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetEnableComment() bool {
	if x != nil {
		return x.EnableComment
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetReactions() []string {
	if x != nil {
		return x.Reactions
	}
	return nil
}

func (x *WorkspaceMemoRelatedSetting) GetDisableMarkdownShortcuts() bool {
	if x != nil {
		return x.DisableMarkdownShortcuts
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetEnableBlurNsfwContent() bool {
	if x != nil {
		return x.EnableBlurNsfwContent
	}
	return false
}

func (x *WorkspaceMemoRelatedSetting) GetNsfwTags() []string {
	if x != nil {
		return x.NsfwTags
	}
	return nil
}

// Request message for GetWorkspaceSetting method.
type GetWorkspaceSettingRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The resource name of the workspace setting.
	// Format: workspace/settings/{setting}
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWorkspaceSettingRequest) Reset() {
	*x = GetWorkspaceSettingRequest{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWorkspaceSettingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkspaceSettingRequest) ProtoMessage() {}

func (x *GetWorkspaceSettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkspaceSettingRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceSettingRequest) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{7}
}

func (x *GetWorkspaceSettingRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Request message for UpdateWorkspaceSetting method.
type UpdateWorkspaceSettingRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The workspace setting resource which replaces the resource on the server.
	Setting *WorkspaceSetting `protobuf:"bytes,1,opt,name=setting,proto3" json:"setting,omitempty"`
	// The list of fields to update.
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateWorkspaceSettingRequest) Reset() {
	*x = UpdateWorkspaceSettingRequest{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateWorkspaceSettingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateWorkspaceSettingRequest) ProtoMessage() {}

func (x *UpdateWorkspaceSettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateWorkspaceSettingRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkspaceSettingRequest) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{8}
}

func (x *UpdateWorkspaceSettingRequest) GetSetting() *WorkspaceSetting {
	if x != nil {
		return x.Setting
	}
	return nil
}

func (x *UpdateWorkspaceSettingRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

// Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
type WorkspaceStorageSetting_S3Config struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	AccessKeyId     string                 `protobuf:"bytes,1,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	AccessKeySecret string                 `protobuf:"bytes,2,opt,name=access_key_secret,json=accessKeySecret,proto3" json:"access_key_secret,omitempty"`
	Endpoint        string                 `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	Region          string                 `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	Bucket          string                 `protobuf:"bytes,5,opt,name=bucket,proto3" json:"bucket,omitempty"`
	UsePathStyle    bool                   `protobuf:"varint,6,opt,name=use_path_style,json=usePathStyle,proto3" json:"use_path_style,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *WorkspaceStorageSetting_S3Config) Reset() {
	*x = WorkspaceStorageSetting_S3Config{}
	mi := &file_api_v1_workspace_service_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkspaceStorageSetting_S3Config) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkspaceStorageSetting_S3Config) ProtoMessage() {}

func (x *WorkspaceStorageSetting_S3Config) ProtoReflect() protoreflect.Message {
	mi := &file_api_v1_workspace_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkspaceStorageSetting_S3Config.ProtoReflect.Descriptor instead.
func (*WorkspaceStorageSetting_S3Config) Descriptor() ([]byte, []int) {
	return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{5, 0}
}

func (x *WorkspaceStorageSetting_S3Config) GetAccessKeyId() string {
	if x != nil {
		return x.AccessKeyId
	}
	return ""
}

func (x *WorkspaceStorageSetting_S3Config) GetAccessKeySecret() string {
	if x != nil {
		return x.AccessKeySecret
	}
	return ""
}

func (x *WorkspaceStorageSetting_S3Config) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *WorkspaceStorageSetting_S3Config) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *WorkspaceStorageSetting_S3Config) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *WorkspaceStorageSetting_S3Config) GetUsePathStyle() bool {
	if x != nil {
		return x.UsePathStyle
	}
	return false
}

var File_api_v1_workspace_service_proto protoreflect.FileDescriptor

const file_api_v1_workspace_service_proto_rawDesc = "" +
	"\n" +
	"\x1eapi/v1/workspace_service.proto\x12\fmemos.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\"y\n" +
	"\x10WorkspaceProfile\x12\x14\n" +
	"\x05owner\x18\x01 \x01(\tR\x05owner\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12\x12\n" +
	"\x04mode\x18\x03 \x01(\tR\x04mode\x12!\n" +
	"\finstance_url\x18\x06 \x01(\tR\vinstanceUrl\"\x1c\n" +
	"\x1aGetWorkspaceProfileRequest\"\x9f\x03\n" +
	"\x10WorkspaceSetting\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\bR\x04name\x12P\n" +
	"\x0fgeneral_setting\x18\x02 \x01(\v2%.memos.api.v1.WorkspaceGeneralSettingH\x00R\x0egeneralSetting\x12P\n" +
	"\x0fstorage_setting\x18\x03 \x01(\v2%.memos.api.v1.WorkspaceStorageSettingH\x00R\x0estorageSetting\x12]\n" +
	"\x14memo_related_setting\x18\x04 \x01(\v2).memos.api.v1.WorkspaceMemoRelatedSettingH\x00R\x12memoRelatedSetting:f\xeaAc\n" +
	"\x1eapi.memos.dev/WorkspaceSetting\x12\x1cworkspace/settings/{setting}*\x11workspaceSettings2\x10workspaceSettingB\a\n" +
	"\x05value\"\xef\x03\n" +
	"\x17WorkspaceGeneralSetting\x12\x14\n" +
	"\x05theme\x18\x01 \x01(\tR\x05theme\x12<\n" +
	"\x1adisallow_user_registration\x18\x02 \x01(\bR\x18disallowUserRegistration\x124\n" +
	"\x16disallow_password_auth\x18\x03 \x01(\bR\x14disallowPasswordAuth\x12+\n" +
	"\x11additional_script\x18\x04 \x01(\tR\x10additionalScript\x12)\n" +
	"\x10additional_style\x18\x05 \x01(\tR\x0fadditionalStyle\x12K\n" +
	"\x0ecustom_profile\x18\x06 \x01(\v2$.memos.api.v1.WorkspaceCustomProfileR\rcustomProfile\x121\n" +
	"\x15week_start_day_offset\x18\a \x01(\x05R\x12weekStartDayOffset\x128\n" +
	"\x18disallow_change_username\x18\b \x01(\bR\x16disallowChangeUsername\x128\n" +
	"\x18disallow_change_nickname\x18\t \x01(\bR\x16disallowChangeNickname\"\xa3\x01\n" +
	"\x16WorkspaceCustomProfile\x12\x14\n" +
	"\x05title\x18\x01 \x01(\tR\x05title\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x19\n" +
	"\blogo_url\x18\x03 \x01(\tR\alogoUrl\x12\x16\n" +
	"\x06locale\x18\x04 \x01(\tR\x06locale\x12\x1e\n" +
	"\n" +
	"appearance\x18\x05 \x01(\tR\n" +
	"appearance\"\xb7\x04\n" +
	"\x17WorkspaceStorageSetting\x12T\n" +
	"\fstorage_type\x18\x01 \x01(\x0e21.memos.api.v1.WorkspaceStorageSetting.StorageTypeR\vstorageType\x12+\n" +
	"\x11filepath_template\x18\x02 \x01(\tR\x10filepathTemplate\x12/\n" +
	"\x14upload_size_limit_mb\x18\x03 \x01(\x03R\x11uploadSizeLimitMb\x12K\n" +
	"\ts3_config\x18\x04 \x01(\v2..memos.api.v1.WorkspaceStorageSetting.S3ConfigR\bs3Config\x1a\xcc\x01\n" +
	"\bS3Config\x12\"\n" +
	"\raccess_key_id\x18\x01 \x01(\tR\vaccessKeyId\x12*\n" +
	"\x11access_key_secret\x18\x02 \x01(\tR\x0faccessKeySecret\x12\x1a\n" +
	"\bendpoint\x18\x03 \x01(\tR\bendpoint\x12\x16\n" +
	"\x06region\x18\x04 \x01(\tR\x06region\x12\x16\n" +
	"\x06bucket\x18\x05 \x01(\tR\x06bucket\x12$\n" +
	"\x0euse_path_style\x18\x06 \x01(\bR\fusePathStyle\"L\n" +
	"\vStorageType\x12\x1c\n" +
	"\x18STORAGE_TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bDATABASE\x10\x01\x12\t\n" +
	"\x05LOCAL\x10\x02\x12\x06\n" +
	"\x02S3\x10\x03\"\x88\x04\n" +
	"\x1bWorkspaceMemoRelatedSetting\x12<\n" +
	"\x1adisallow_public_visibility\x18\x01 \x01(\bR\x18disallowPublicVisibility\x127\n" +
	"\x18display_with_update_time\x18\x02 \x01(\bR\x15displayWithUpdateTime\x120\n" +
	"\x14content_length_limit\x18\x03 \x01(\x05R\x12contentLengthLimit\x127\n" +
	"\x18enable_double_click_edit\x18\x04 \x01(\bR\x15enableDoubleClickEdit\x12.\n" +
	"\x13enable_link_preview\x18\x05 \x01(\bR\x11enableLinkPreview\x12%\n" +
	"\x0eenable_comment\x18\x06 \x01(\bR\renableComment\x12\x1c\n" +
	"\treactions\x18\a \x03(\tR\treactions\x12<\n" +
	"\x1adisable_markdown_shortcuts\x18\b \x01(\bR\x18disableMarkdownShortcuts\x127\n" +
	"\x18enable_blur_nsfw_content\x18\t \x01(\bR\x15enableBlurNsfwContent\x12\x1b\n" +
	"\tnsfw_tags\x18\n" +
	" \x03(\tR\bnsfwTags\"X\n" +
	"\x1aGetWorkspaceSettingRequest\x12:\n" +
	"\x04name\x18\x01 \x01(\tB&\xe0A\x02\xfaA \n" +
	"\x1eapi.memos.dev/WorkspaceSettingR\x04name\"\xa0\x01\n" +
	"\x1dUpdateWorkspaceSettingRequest\x12=\n" +
	"\asetting\x18\x01 \x01(\v2\x1e.memos.api.v1.WorkspaceSettingB\x03\xe0A\x02R\asetting\x12@\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x03\xe0A\x01R\n" +
	"updateMask2\xe9\x03\n" +
	"\x10WorkspaceService\x12\x82\x01\n" +
	"\x13GetWorkspaceProfile\x12(.memos.api.v1.GetWorkspaceProfileRequest\x1a\x1e.memos.api.v1.WorkspaceProfile\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/api/v1/workspace/profile\x12\x93\x01\n" +
	"\x13GetWorkspaceSetting\x12(.memos.api.v1.GetWorkspaceSettingRequest\x1a\x1e.memos.api.v1.WorkspaceSetting\"2\xdaA\x04name\x82\xd3\xe4\x93\x02%\x12#/api/v1/{name=workspace/settings/*}\x12\xb9\x01\n" +
	"\x16UpdateWorkspaceSetting\x12+.memos.api.v1.UpdateWorkspaceSettingRequest\x1a\x1e.memos.api.v1.WorkspaceSetting\"R\xdaA\x13setting,update_mask\x82\xd3\xe4\x93\x026:\asetting2+/api/v1/{setting.name=workspace/settings/*}B\xad\x01\n" +
	"\x10com.memos.api.v1B\x15WorkspaceServiceProtoP\x01Z0github.com/usememos/memos/proto/gen/api/v1;apiv1\xa2\x02\x03MAX\xaa\x02\fMemos.Api.V1\xca\x02\fMemos\\Api\\V1\xe2\x02\x18Memos\\Api\\V1\\GPBMetadata\xea\x02\x0eMemos::Api::V1b\x06proto3"

var (
	file_api_v1_workspace_service_proto_rawDescOnce sync.Once
	file_api_v1_workspace_service_proto_rawDescData []byte
)

func file_api_v1_workspace_service_proto_rawDescGZIP() []byte {
	file_api_v1_workspace_service_proto_rawDescOnce.Do(func() {
		file_api_v1_workspace_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_v1_workspace_service_proto_rawDesc), len(file_api_v1_workspace_service_proto_rawDesc)))
	})
	return file_api_v1_workspace_service_proto_rawDescData
}

var file_api_v1_workspace_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_api_v1_workspace_service_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_api_v1_workspace_service_proto_goTypes = []any{
	(WorkspaceStorageSetting_StorageType)(0), // 0: memos.api.v1.WorkspaceStorageSetting.StorageType
	(*WorkspaceProfile)(nil),                 // 1: memos.api.v1.WorkspaceProfile
	(*GetWorkspaceProfileRequest)(nil),       // 2: memos.api.v1.GetWorkspaceProfileRequest
	(*WorkspaceSetting)(nil),                 // 3: memos.api.v1.WorkspaceSetting
	(*WorkspaceGeneralSetting)(nil),          // 4: memos.api.v1.WorkspaceGeneralSetting
	(*WorkspaceCustomProfile)(nil),           // 5: memos.api.v1.WorkspaceCustomProfile
	(*WorkspaceStorageSetting)(nil),          // 6: memos.api.v1.WorkspaceStorageSetting
	(*WorkspaceMemoRelatedSetting)(nil),      // 7: memos.api.v1.WorkspaceMemoRelatedSetting
	(*GetWorkspaceSettingRequest)(nil),       // 8: memos.api.v1.GetWorkspaceSettingRequest
	(*UpdateWorkspaceSettingRequest)(nil),    // 9: memos.api.v1.UpdateWorkspaceSettingRequest
	(*WorkspaceStorageSetting_S3Config)(nil), // 10: memos.api.v1.WorkspaceStorageSetting.S3Config
	(*fieldmaskpb.FieldMask)(nil),            // 11: google.protobuf.FieldMask
}
var file_api_v1_workspace_service_proto_depIdxs = []int32{
	4,  // 0: memos.api.v1.WorkspaceSetting.general_setting:type_name -> memos.api.v1.WorkspaceGeneralSetting
	6,  // 1: memos.api.v1.WorkspaceSetting.storage_setting:type_name -> memos.api.v1.WorkspaceStorageSetting
	7,  // 2: memos.api.v1.WorkspaceSetting.memo_related_setting:type_name -> memos.api.v1.WorkspaceMemoRelatedSetting
	5,  // 3: memos.api.v1.WorkspaceGeneralSetting.custom_profile:type_name -> memos.api.v1.WorkspaceCustomProfile
	0,  // 4: memos.api.v1.WorkspaceStorageSetting.storage_type:type_name -> memos.api.v1.WorkspaceStorageSetting.StorageType
	10, // 5: memos.api.v1.WorkspaceStorageSetting.s3_config:type_name -> memos.api.v1.WorkspaceStorageSetting.S3Config
	3,  // 6: memos.api.v1.UpdateWorkspaceSettingRequest.setting:type_name -> memos.api.v1.WorkspaceSetting
	11, // 7: memos.api.v1.UpdateWorkspaceSettingRequest.update_mask:type_name -> google.protobuf.FieldMask
	2,  // 8: memos.api.v1.WorkspaceService.GetWorkspaceProfile:input_type -> memos.api.v1.GetWorkspaceProfileRequest
	8,  // 9: memos.api.v1.WorkspaceService.GetWorkspaceSetting:input_type -> memos.api.v1.GetWorkspaceSettingRequest
	9,  // 10: memos.api.v1.WorkspaceService.UpdateWorkspaceSetting:input_type -> memos.api.v1.UpdateWorkspaceSettingRequest
	1,  // 11: memos.api.v1.WorkspaceService.GetWorkspaceProfile:output_type -> memos.api.v1.WorkspaceProfile
	3,  // 12: memos.api.v1.WorkspaceService.GetWorkspaceSetting:output_type -> memos.api.v1.WorkspaceSetting
	3,  // 13: memos.api.v1.WorkspaceService.UpdateWorkspaceSetting:output_type -> memos.api.v1.WorkspaceSetting
	11, // [11:14] is the sub-list for method output_type
	8,  // [8:11] is the sub-list for method input_type
	8,  // [8:8] is the sub-list for extension type_name
	8,  // [8:8] is the sub-list for extension extendee
	0,  // [0:8] is the sub-list for field type_name
}

func init() { file_api_v1_workspace_service_proto_init() }
func file_api_v1_workspace_service_proto_init() {
	if File_api_v1_workspace_service_proto != nil {
		return
	}
	file_api_v1_workspace_service_proto_msgTypes[2].OneofWrappers = []any{
		(*WorkspaceSetting_GeneralSetting)(nil),
		(*WorkspaceSetting_StorageSetting)(nil),
		(*WorkspaceSetting_MemoRelatedSetting)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_v1_workspace_service_proto_rawDesc), len(file_api_v1_workspace_service_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_api_v1_workspace_service_proto_goTypes,
		DependencyIndexes: file_api_v1_workspace_service_proto_depIdxs,
		EnumInfos:         file_api_v1_workspace_service_proto_enumTypes,
		MessageInfos:      file_api_v1_workspace_service_proto_msgTypes,
	}.Build()
	File_api_v1_workspace_service_proto = out.File
	file_api_v1_workspace_service_proto_goTypes = nil
	file_api_v1_workspace_service_proto_depIdxs = nil
}
