// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        (unknown)
// source: store/instance_setting.proto

package store

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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

type InstanceSettingKey int32

const (
	InstanceSettingKey_INSTANCE_SETTING_KEY_UNSPECIFIED InstanceSettingKey = 0
	// BASIC is the key for basic settings.
	InstanceSettingKey_BASIC InstanceSettingKey = 1
	// GENERAL is the key for general settings.
	InstanceSettingKey_GENERAL InstanceSettingKey = 2
	// STORAGE is the key for storage settings.
	InstanceSettingKey_STORAGE InstanceSettingKey = 3
	// MEMO_RELATED is the key for memo related settings.
	InstanceSettingKey_MEMO_RELATED InstanceSettingKey = 4
)

// Enum value maps for InstanceSettingKey.
var (
	InstanceSettingKey_name = map[int32]string{
		0: "INSTANCE_SETTING_KEY_UNSPECIFIED",
		1: "BASIC",
		2: "GENERAL",
		3: "STORAGE",
		4: "MEMO_RELATED",
	}
	InstanceSettingKey_value = map[string]int32{
		"INSTANCE_SETTING_KEY_UNSPECIFIED": 0,
		"BASIC":                            1,
		"GENERAL":                          2,
		"STORAGE":                          3,
		"MEMO_RELATED":                     4,
	}
)

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

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

func (InstanceSettingKey) Descriptor() protoreflect.EnumDescriptor {
	return file_store_instance_setting_proto_enumTypes[0].Descriptor()
}

func (InstanceSettingKey) Type() protoreflect.EnumType {
	return &file_store_instance_setting_proto_enumTypes[0]
}

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

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

type InstanceStorageSetting_StorageType int32

const (
	InstanceStorageSetting_STORAGE_TYPE_UNSPECIFIED InstanceStorageSetting_StorageType = 0
	// STORAGE_TYPE_DATABASE is the database storage type.
	InstanceStorageSetting_DATABASE InstanceStorageSetting_StorageType = 1
	// STORAGE_TYPE_LOCAL is the local storage type.
	InstanceStorageSetting_LOCAL InstanceStorageSetting_StorageType = 2
	// STORAGE_TYPE_S3 is the S3 storage type.
	InstanceStorageSetting_S3 InstanceStorageSetting_StorageType = 3
)

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

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

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

func (InstanceStorageSetting_StorageType) Descriptor() protoreflect.EnumDescriptor {
	return file_store_instance_setting_proto_enumTypes[1].Descriptor()
}

func (InstanceStorageSetting_StorageType) Type() protoreflect.EnumType {
	return &file_store_instance_setting_proto_enumTypes[1]
}

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

// Deprecated: Use InstanceStorageSetting_StorageType.Descriptor instead.
func (InstanceStorageSetting_StorageType) EnumDescriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{4, 0}
}

type InstanceSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Key   InstanceSettingKey     `protobuf:"varint,1,opt,name=key,proto3,enum=memos.store.InstanceSettingKey" json:"key,omitempty"`
	// Types that are valid to be assigned to Value:
	//
	//	*InstanceSetting_BasicSetting
	//	*InstanceSetting_GeneralSetting
	//	*InstanceSetting_StorageSetting
	//	*InstanceSetting_MemoRelatedSetting
	Value         isInstanceSetting_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstanceSetting) Reset() {
	*x = InstanceSetting{}
	mi := &file_store_instance_setting_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InstanceSetting) ProtoMessage() {}

func (x *InstanceSetting) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceSetting.ProtoReflect.Descriptor instead.
func (*InstanceSetting) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{0}
}

func (x *InstanceSetting) GetKey() InstanceSettingKey {
	if x != nil {
		return x.Key
	}
	return InstanceSettingKey_INSTANCE_SETTING_KEY_UNSPECIFIED
}

func (x *InstanceSetting) GetValue() isInstanceSetting_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *InstanceSetting) GetBasicSetting() *InstanceBasicSetting {
	if x != nil {
		if x, ok := x.Value.(*InstanceSetting_BasicSetting); ok {
			return x.BasicSetting
		}
	}
	return nil
}

func (x *InstanceSetting) GetGeneralSetting() *InstanceGeneralSetting {
	if x != nil {
		if x, ok := x.Value.(*InstanceSetting_GeneralSetting); ok {
			return x.GeneralSetting
		}
	}
	return nil
}

func (x *InstanceSetting) GetStorageSetting() *InstanceStorageSetting {
	if x != nil {
		if x, ok := x.Value.(*InstanceSetting_StorageSetting); ok {
			return x.StorageSetting
		}
	}
	return nil
}

func (x *InstanceSetting) GetMemoRelatedSetting() *InstanceMemoRelatedSetting {
	if x != nil {
		if x, ok := x.Value.(*InstanceSetting_MemoRelatedSetting); ok {
			return x.MemoRelatedSetting
		}
	}
	return nil
}

type isInstanceSetting_Value interface {
	isInstanceSetting_Value()
}

type InstanceSetting_BasicSetting struct {
	BasicSetting *InstanceBasicSetting `protobuf:"bytes,2,opt,name=basic_setting,json=basicSetting,proto3,oneof"`
}

type InstanceSetting_GeneralSetting struct {
	GeneralSetting *InstanceGeneralSetting `protobuf:"bytes,3,opt,name=general_setting,json=generalSetting,proto3,oneof"`
}

type InstanceSetting_StorageSetting struct {
	StorageSetting *InstanceStorageSetting `protobuf:"bytes,4,opt,name=storage_setting,json=storageSetting,proto3,oneof"`
}

type InstanceSetting_MemoRelatedSetting struct {
	MemoRelatedSetting *InstanceMemoRelatedSetting `protobuf:"bytes,5,opt,name=memo_related_setting,json=memoRelatedSetting,proto3,oneof"`
}

func (*InstanceSetting_BasicSetting) isInstanceSetting_Value() {}

func (*InstanceSetting_GeneralSetting) isInstanceSetting_Value() {}

func (*InstanceSetting_StorageSetting) isInstanceSetting_Value() {}

func (*InstanceSetting_MemoRelatedSetting) isInstanceSetting_Value() {}

type InstanceBasicSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The secret key for instance. Mainly used for session management.
	SecretKey string `protobuf:"bytes,1,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	// The current schema version of database.
	SchemaVersion string `protobuf:"bytes,2,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstanceBasicSetting) Reset() {
	*x = InstanceBasicSetting{}
	mi := &file_store_instance_setting_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InstanceBasicSetting) ProtoMessage() {}

func (x *InstanceBasicSetting) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceBasicSetting.ProtoReflect.Descriptor instead.
func (*InstanceBasicSetting) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{1}
}

func (x *InstanceBasicSetting) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *InstanceBasicSetting) GetSchemaVersion() string {
	if x != nil {
		return x.SchemaVersion
	}
	return ""
}

type InstanceGeneralSetting 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 *InstanceCustomProfile `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 *InstanceGeneralSetting) Reset() {
	*x = InstanceGeneralSetting{}
	mi := &file_store_instance_setting_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InstanceGeneralSetting) ProtoMessage() {}

func (x *InstanceGeneralSetting) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceGeneralSetting.ProtoReflect.Descriptor instead.
func (*InstanceGeneralSetting) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{2}
}

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

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

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

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

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

func (x *InstanceGeneralSetting) GetCustomProfile() *InstanceCustomProfile {
	if x != nil {
		return x.CustomProfile
	}
	return nil
}

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

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

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

type InstanceCustomProfile 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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InstanceCustomProfile) ProtoMessage() {}

func (x *InstanceCustomProfile) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceCustomProfile.ProtoReflect.Descriptor instead.
func (*InstanceCustomProfile) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{3}
}

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

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

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

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

type InstanceStorageSetting struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// storage_type is the storage type.
	StorageType InstanceStorageSetting_StorageType `protobuf:"varint,1,opt,name=storage_type,json=storageType,proto3,enum=memos.store.InstanceStorageSetting_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      *StorageS3Config `protobuf:"bytes,4,opt,name=s3_config,json=s3Config,proto3" json:"s3_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InstanceStorageSetting) ProtoMessage() {}

func (x *InstanceStorageSetting) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceStorageSetting.ProtoReflect.Descriptor instead.
func (*InstanceStorageSetting) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{4}
}

func (x *InstanceStorageSetting) GetStorageType() InstanceStorageSetting_StorageType {
	if x != nil {
		return x.StorageType
	}
	return InstanceStorageSetting_STORAGE_TYPE_UNSPECIFIED
}

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

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

func (x *InstanceStorageSetting) GetS3Config() *StorageS3Config {
	if x != nil {
		return x.S3Config
	}
	return nil
}

// Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
type StorageS3Config 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 *StorageS3Config) Reset() {
	*x = StorageS3Config{}
	mi := &file_store_instance_setting_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StorageS3Config) ProtoMessage() {}

func (x *StorageS3Config) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 StorageS3Config.ProtoReflect.Descriptor instead.
func (*StorageS3Config) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{5}
}

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

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

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

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

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

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

type InstanceMemoRelatedSetting 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"`
	// reactions is the list of reactions.
	Reactions []string `protobuf:"bytes,7,rep,name=reactions,proto3" json:"reactions,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 *InstanceMemoRelatedSetting) Reset() {
	*x = InstanceMemoRelatedSetting{}
	mi := &file_store_instance_setting_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InstanceMemoRelatedSetting) ProtoMessage() {}

func (x *InstanceMemoRelatedSetting) ProtoReflect() protoreflect.Message {
	mi := &file_store_instance_setting_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 InstanceMemoRelatedSetting.ProtoReflect.Descriptor instead.
func (*InstanceMemoRelatedSetting) Descriptor() ([]byte, []int) {
	return file_store_instance_setting_proto_rawDescGZIP(), []int{6}
}

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

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

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

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

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

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

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

var File_store_instance_setting_proto protoreflect.FileDescriptor

const file_store_instance_setting_proto_rawDesc = "" +
	"\n" +
	"\x1cstore/instance_setting.proto\x12\vmemos.store\"\x94\x03\n" +
	"\x0fInstanceSetting\x121\n" +
	"\x03key\x18\x01 \x01(\x0e2\x1f.memos.store.InstanceSettingKeyR\x03key\x12H\n" +
	"\rbasic_setting\x18\x02 \x01(\v2!.memos.store.InstanceBasicSettingH\x00R\fbasicSetting\x12N\n" +
	"\x0fgeneral_setting\x18\x03 \x01(\v2#.memos.store.InstanceGeneralSettingH\x00R\x0egeneralSetting\x12N\n" +
	"\x0fstorage_setting\x18\x04 \x01(\v2#.memos.store.InstanceStorageSettingH\x00R\x0estorageSetting\x12[\n" +
	"\x14memo_related_setting\x18\x05 \x01(\v2'.memos.store.InstanceMemoRelatedSettingH\x00R\x12memoRelatedSettingB\a\n" +
	"\x05value\"\\\n" +
	"\x14InstanceBasicSetting\x12\x1d\n" +
	"\n" +
	"secret_key\x18\x01 \x01(\tR\tsecretKey\x12%\n" +
	"\x0eschema_version\x18\x02 \x01(\tR\rschemaVersion\"\xec\x03\n" +
	"\x16InstanceGeneralSetting\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\x12I\n" +
	"\x0ecustom_profile\x18\x06 \x01(\v2\".memos.store.InstanceCustomProfileR\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\"\x82\x01\n" +
	"\x15InstanceCustomProfile\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\"\xd3\x02\n" +
	"\x16InstanceStorageSetting\x12R\n" +
	"\fstorage_type\x18\x01 \x01(\x0e2/.memos.store.InstanceStorageSetting.StorageTypeR\vstorageType\x12+\n" +
	"\x11filepath_template\x18\x02 \x01(\tR\x10filepathTemplate\x12/\n" +
	"\x14upload_size_limit_mb\x18\x03 \x01(\x03R\x11uploadSizeLimitMb\x129\n" +
	"\ts3_config\x18\x04 \x01(\v2\x1c.memos.store.StorageS3ConfigR\bs3Config\"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\"\xd3\x01\n" +
	"\x0fStorageS3Config\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\"\xf2\x02\n" +
	"\x1aInstanceMemoRelatedSetting\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\x1c\n" +
	"\treactions\x18\a \x03(\tR\treactions\x127\n" +
	"\x18enable_blur_nsfw_content\x18\t \x01(\bR\x15enableBlurNsfwContent\x12\x1b\n" +
	"\tnsfw_tags\x18\n" +
	" \x03(\tR\bnsfwTags*q\n" +
	"\x12InstanceSettingKey\x12$\n" +
	" INSTANCE_SETTING_KEY_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05BASIC\x10\x01\x12\v\n" +
	"\aGENERAL\x10\x02\x12\v\n" +
	"\aSTORAGE\x10\x03\x12\x10\n" +
	"\fMEMO_RELATED\x10\x04B\x9f\x01\n" +
	"\x0fcom.memos.storeB\x14InstanceSettingProtoP\x01Z)github.com/usememos/memos/proto/gen/store\xa2\x02\x03MSX\xaa\x02\vMemos.Store\xca\x02\vMemos\\Store\xe2\x02\x17Memos\\Store\\GPBMetadata\xea\x02\fMemos::Storeb\x06proto3"

var (
	file_store_instance_setting_proto_rawDescOnce sync.Once
	file_store_instance_setting_proto_rawDescData []byte
)

func file_store_instance_setting_proto_rawDescGZIP() []byte {
	file_store_instance_setting_proto_rawDescOnce.Do(func() {
		file_store_instance_setting_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_store_instance_setting_proto_rawDesc), len(file_store_instance_setting_proto_rawDesc)))
	})
	return file_store_instance_setting_proto_rawDescData
}

var file_store_instance_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_store_instance_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_store_instance_setting_proto_goTypes = []any{
	(InstanceSettingKey)(0),                 // 0: memos.store.InstanceSettingKey
	(InstanceStorageSetting_StorageType)(0), // 1: memos.store.InstanceStorageSetting.StorageType
	(*InstanceSetting)(nil),                 // 2: memos.store.InstanceSetting
	(*InstanceBasicSetting)(nil),            // 3: memos.store.InstanceBasicSetting
	(*InstanceGeneralSetting)(nil),          // 4: memos.store.InstanceGeneralSetting
	(*InstanceCustomProfile)(nil),           // 5: memos.store.InstanceCustomProfile
	(*InstanceStorageSetting)(nil),          // 6: memos.store.InstanceStorageSetting
	(*StorageS3Config)(nil),                 // 7: memos.store.StorageS3Config
	(*InstanceMemoRelatedSetting)(nil),      // 8: memos.store.InstanceMemoRelatedSetting
}
var file_store_instance_setting_proto_depIdxs = []int32{
	0, // 0: memos.store.InstanceSetting.key:type_name -> memos.store.InstanceSettingKey
	3, // 1: memos.store.InstanceSetting.basic_setting:type_name -> memos.store.InstanceBasicSetting
	4, // 2: memos.store.InstanceSetting.general_setting:type_name -> memos.store.InstanceGeneralSetting
	6, // 3: memos.store.InstanceSetting.storage_setting:type_name -> memos.store.InstanceStorageSetting
	8, // 4: memos.store.InstanceSetting.memo_related_setting:type_name -> memos.store.InstanceMemoRelatedSetting
	5, // 5: memos.store.InstanceGeneralSetting.custom_profile:type_name -> memos.store.InstanceCustomProfile
	1, // 6: memos.store.InstanceStorageSetting.storage_type:type_name -> memos.store.InstanceStorageSetting.StorageType
	7, // 7: memos.store.InstanceStorageSetting.s3_config:type_name -> memos.store.StorageS3Config
	8, // [8:8] is the sub-list for method output_type
	8, // [8:8] 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_store_instance_setting_proto_init() }
func file_store_instance_setting_proto_init() {
	if File_store_instance_setting_proto != nil {
		return
	}
	file_store_instance_setting_proto_msgTypes[0].OneofWrappers = []any{
		(*InstanceSetting_BasicSetting)(nil),
		(*InstanceSetting_GeneralSetting)(nil),
		(*InstanceSetting_StorageSetting)(nil),
		(*InstanceSetting_MemoRelatedSetting)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_store_instance_setting_proto_rawDesc), len(file_store_instance_setting_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_store_instance_setting_proto_goTypes,
		DependencyIndexes: file_store_instance_setting_proto_depIdxs,
		EnumInfos:         file_store_instance_setting_proto_enumTypes,
		MessageInfos:      file_store_instance_setting_proto_msgTypes,
	}.Build()
	File_store_instance_setting_proto = out.File
	file_store_instance_setting_proto_goTypes = nil
	file_store_instance_setting_proto_depIdxs = nil
}
