mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-25 06:29:15 -05:00
Add settings value protobuf and store implementation
This commit is contained in:
@@ -22,6 +22,7 @@ require (
|
||||
go.opencensus.io v0.22.2
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa
|
||||
google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb
|
||||
google.golang.org/grpc v1.27.0
|
||||
)
|
||||
|
||||
replace google.golang.org/grpc => google.golang.org/grpc v1.26.0
|
||||
|
||||
+569
-82
@@ -22,7 +22,7 @@ var _ = math.Inf
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// requests and responses
|
||||
// requests and responses for settings bundles
|
||||
type CreateSettingsBundleRequest struct {
|
||||
SettingsBundle *SettingsBundle `protobuf:"bytes,1,opt,name=settings_bundle,json=settingsBundle,proto3" json:"settings_bundle,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
@@ -103,7 +103,7 @@ func (m *CreateSettingsBundleResponse) GetSettingsBundle() *SettingsBundle {
|
||||
|
||||
type GetSettingsBundleRequest struct {
|
||||
Extension string `protobuf:"bytes,1,opt,name=extension,proto3" json:"extension,omitempty"`
|
||||
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||
BundleKey string `protobuf:"bytes,2,opt,name=bundle_key,json=bundleKey,proto3" json:"bundle_key,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@@ -141,9 +141,9 @@ func (m *GetSettingsBundleRequest) GetExtension() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetSettingsBundleRequest) GetKey() string {
|
||||
func (m *GetSettingsBundleRequest) GetBundleKey() string {
|
||||
if m != nil {
|
||||
return m.Key
|
||||
return m.BundleKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -265,10 +265,191 @@ func (m *ListSettingsBundlesResponse) GetSettingsBundles() []*SettingsBundle {
|
||||
return nil
|
||||
}
|
||||
|
||||
// payloads
|
||||
// requests and responses for settings values
|
||||
type SaveSettingsValueRequest struct {
|
||||
SettingsValue *SettingsValue `protobuf:"bytes,1,opt,name=settings_value,json=settingsValue,proto3" json:"settings_value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SaveSettingsValueRequest) Reset() { *m = SaveSettingsValueRequest{} }
|
||||
func (m *SaveSettingsValueRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*SaveSettingsValueRequest) ProtoMessage() {}
|
||||
func (*SaveSettingsValueRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{6}
|
||||
}
|
||||
|
||||
func (m *SaveSettingsValueRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SaveSettingsValueRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SaveSettingsValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SaveSettingsValueRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SaveSettingsValueRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SaveSettingsValueRequest.Merge(m, src)
|
||||
}
|
||||
func (m *SaveSettingsValueRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_SaveSettingsValueRequest.Size(m)
|
||||
}
|
||||
func (m *SaveSettingsValueRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SaveSettingsValueRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SaveSettingsValueRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *SaveSettingsValueRequest) GetSettingsValue() *SettingsValue {
|
||||
if m != nil {
|
||||
return m.SettingsValue
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type SaveSettingsValueResponse struct {
|
||||
SettingsValue *SettingsValue `protobuf:"bytes,1,opt,name=settings_value,json=settingsValue,proto3" json:"settings_value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SaveSettingsValueResponse) Reset() { *m = SaveSettingsValueResponse{} }
|
||||
func (m *SaveSettingsValueResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*SaveSettingsValueResponse) ProtoMessage() {}
|
||||
func (*SaveSettingsValueResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{7}
|
||||
}
|
||||
|
||||
func (m *SaveSettingsValueResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SaveSettingsValueResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SaveSettingsValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SaveSettingsValueResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SaveSettingsValueResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SaveSettingsValueResponse.Merge(m, src)
|
||||
}
|
||||
func (m *SaveSettingsValueResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_SaveSettingsValueResponse.Size(m)
|
||||
}
|
||||
func (m *SaveSettingsValueResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SaveSettingsValueResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SaveSettingsValueResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *SaveSettingsValueResponse) GetSettingsValue() *SettingsValue {
|
||||
if m != nil {
|
||||
return m.SettingsValue
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type GetSettingsValueRequest struct {
|
||||
AccountUuid string `protobuf:"bytes,1,opt,name=account_uuid,json=accountUuid,proto3" json:"account_uuid,omitempty"`
|
||||
Extension string `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"`
|
||||
BundleKey string `protobuf:"bytes,3,opt,name=bundle_key,json=bundleKey,proto3" json:"bundle_key,omitempty"`
|
||||
SettingKey string `protobuf:"bytes,4,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueRequest) Reset() { *m = GetSettingsValueRequest{} }
|
||||
func (m *GetSettingsValueRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetSettingsValueRequest) ProtoMessage() {}
|
||||
func (*GetSettingsValueRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{8}
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetSettingsValueRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetSettingsValueRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetSettingsValueRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *GetSettingsValueRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetSettingsValueRequest.Merge(m, src)
|
||||
}
|
||||
func (m *GetSettingsValueRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_GetSettingsValueRequest.Size(m)
|
||||
}
|
||||
func (m *GetSettingsValueRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetSettingsValueRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetSettingsValueRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *GetSettingsValueRequest) GetAccountUuid() string {
|
||||
if m != nil {
|
||||
return m.AccountUuid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueRequest) GetExtension() string {
|
||||
if m != nil {
|
||||
return m.Extension
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueRequest) GetBundleKey() string {
|
||||
if m != nil {
|
||||
return m.BundleKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueRequest) GetSettingKey() string {
|
||||
if m != nil {
|
||||
return m.SettingKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GetSettingsValueResponse struct {
|
||||
SettingsValue *SettingsValue `protobuf:"bytes,1,opt,name=settings_value,json=settingsValue,proto3" json:"settings_value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueResponse) Reset() { *m = GetSettingsValueResponse{} }
|
||||
func (m *GetSettingsValueResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetSettingsValueResponse) ProtoMessage() {}
|
||||
func (*GetSettingsValueResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{9}
|
||||
}
|
||||
|
||||
func (m *GetSettingsValueResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetSettingsValueResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetSettingsValueResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetSettingsValueResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *GetSettingsValueResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetSettingsValueResponse.Merge(m, src)
|
||||
}
|
||||
func (m *GetSettingsValueResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_GetSettingsValueResponse.Size(m)
|
||||
}
|
||||
func (m *GetSettingsValueResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetSettingsValueResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetSettingsValueResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *GetSettingsValueResponse) GetSettingsValue() *SettingsValue {
|
||||
if m != nil {
|
||||
return m.SettingsValue
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// payloads for settings bundles
|
||||
type SettingsBundle struct {
|
||||
Extension string `protobuf:"bytes,1,opt,name=extension,proto3" json:"extension,omitempty"`
|
||||
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||
BundleKey string `protobuf:"bytes,2,opt,name=bundle_key,json=bundleKey,proto3" json:"bundle_key,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
Settings []*Setting `protobuf:"bytes,4,rep,name=settings,proto3" json:"settings,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
@@ -280,7 +461,7 @@ func (m *SettingsBundle) Reset() { *m = SettingsBundle{} }
|
||||
func (m *SettingsBundle) String() string { return proto.CompactTextString(m) }
|
||||
func (*SettingsBundle) ProtoMessage() {}
|
||||
func (*SettingsBundle) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{6}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{10}
|
||||
}
|
||||
|
||||
func (m *SettingsBundle) XXX_Unmarshal(b []byte) error {
|
||||
@@ -308,9 +489,9 @@ func (m *SettingsBundle) GetExtension() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SettingsBundle) GetKey() string {
|
||||
func (m *SettingsBundle) GetBundleKey() string {
|
||||
if m != nil {
|
||||
return m.Key
|
||||
return m.BundleKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -330,7 +511,7 @@ func (m *SettingsBundle) GetSettings() []*Setting {
|
||||
}
|
||||
|
||||
type Setting struct {
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
||||
SettingKey string `protobuf:"bytes,1,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
||||
// Types that are valid to be assigned to Value:
|
||||
@@ -349,7 +530,7 @@ func (m *Setting) Reset() { *m = Setting{} }
|
||||
func (m *Setting) String() string { return proto.CompactTextString(m) }
|
||||
func (*Setting) ProtoMessage() {}
|
||||
func (*Setting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{7}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{11}
|
||||
}
|
||||
|
||||
func (m *Setting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -370,9 +551,9 @@ func (m *Setting) XXX_DiscardUnknown() {
|
||||
|
||||
var xxx_messageInfo_Setting proto.InternalMessageInfo
|
||||
|
||||
func (m *Setting) GetKey() string {
|
||||
func (m *Setting) GetSettingKey() string {
|
||||
if m != nil {
|
||||
return m.Key
|
||||
return m.SettingKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -493,7 +674,7 @@ func (m *IntSetting) Reset() { *m = IntSetting{} }
|
||||
func (m *IntSetting) String() string { return proto.CompactTextString(m) }
|
||||
func (*IntSetting) ProtoMessage() {}
|
||||
func (*IntSetting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{8}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{12}
|
||||
}
|
||||
|
||||
func (m *IntSetting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -564,7 +745,7 @@ func (m *StringSetting) Reset() { *m = StringSetting{} }
|
||||
func (m *StringSetting) String() string { return proto.CompactTextString(m) }
|
||||
func (*StringSetting) ProtoMessage() {}
|
||||
func (*StringSetting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{9}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{13}
|
||||
}
|
||||
|
||||
func (m *StringSetting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -632,7 +813,7 @@ func (m *BoolSetting) Reset() { *m = BoolSetting{} }
|
||||
func (m *BoolSetting) String() string { return proto.CompactTextString(m) }
|
||||
func (*BoolSetting) ProtoMessage() {}
|
||||
func (*BoolSetting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{10}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{14}
|
||||
}
|
||||
|
||||
func (m *BoolSetting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -678,7 +859,7 @@ func (m *SingleChoiceListSetting) Reset() { *m = SingleChoiceListSetting
|
||||
func (m *SingleChoiceListSetting) String() string { return proto.CompactTextString(m) }
|
||||
func (*SingleChoiceListSetting) ProtoMessage() {}
|
||||
func (*SingleChoiceListSetting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{11}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{15}
|
||||
}
|
||||
|
||||
func (m *SingleChoiceListSetting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -717,7 +898,7 @@ func (m *MultiChoiceListSetting) Reset() { *m = MultiChoiceListSetting{}
|
||||
func (m *MultiChoiceListSetting) String() string { return proto.CompactTextString(m) }
|
||||
func (*MultiChoiceListSetting) ProtoMessage() {}
|
||||
func (*MultiChoiceListSetting) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{12}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{16}
|
||||
}
|
||||
|
||||
func (m *MultiChoiceListSetting) XXX_Unmarshal(b []byte) error {
|
||||
@@ -761,7 +942,7 @@ func (m *ListOption) Reset() { *m = ListOption{} }
|
||||
func (m *ListOption) String() string { return proto.CompactTextString(m) }
|
||||
func (*ListOption) ProtoMessage() {}
|
||||
func (*ListOption) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{13}
|
||||
return fileDescriptor_6c7cab62fa432213, []int{17}
|
||||
}
|
||||
|
||||
func (m *ListOption) XXX_Unmarshal(b []byte) error {
|
||||
@@ -841,6 +1022,282 @@ func (*ListOption) XXX_OneofWrappers() []interface{} {
|
||||
}
|
||||
}
|
||||
|
||||
// payloads for settings values
|
||||
type SettingsValue struct {
|
||||
AccountUuid string `protobuf:"bytes,1,opt,name=account_uuid,json=accountUuid,proto3" json:"account_uuid,omitempty"`
|
||||
Extension string `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"`
|
||||
BundleKey string `protobuf:"bytes,3,opt,name=bundle_key,json=bundleKey,proto3" json:"bundle_key,omitempty"`
|
||||
SettingKey string `protobuf:"bytes,4,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
|
||||
// Types that are valid to be assigned to Value:
|
||||
// *SettingsValue_BoolValue
|
||||
// *SettingsValue_IntValue
|
||||
// *SettingsValue_StringValue
|
||||
// *SettingsValue_IntListValue
|
||||
// *SettingsValue_StringListValue
|
||||
Value isSettingsValue_Value `protobuf_oneof:"value"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SettingsValue) Reset() { *m = SettingsValue{} }
|
||||
func (m *SettingsValue) String() string { return proto.CompactTextString(m) }
|
||||
func (*SettingsValue) ProtoMessage() {}
|
||||
func (*SettingsValue) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{18}
|
||||
}
|
||||
|
||||
func (m *SettingsValue) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SettingsValue.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SettingsValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SettingsValue.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SettingsValue) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SettingsValue.Merge(m, src)
|
||||
}
|
||||
func (m *SettingsValue) XXX_Size() int {
|
||||
return xxx_messageInfo_SettingsValue.Size(m)
|
||||
}
|
||||
func (m *SettingsValue) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SettingsValue.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SettingsValue proto.InternalMessageInfo
|
||||
|
||||
func (m *SettingsValue) GetAccountUuid() string {
|
||||
if m != nil {
|
||||
return m.AccountUuid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetExtension() string {
|
||||
if m != nil {
|
||||
return m.Extension
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetBundleKey() string {
|
||||
if m != nil {
|
||||
return m.BundleKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetSettingKey() string {
|
||||
if m != nil {
|
||||
return m.SettingKey
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type isSettingsValue_Value interface {
|
||||
isSettingsValue_Value()
|
||||
}
|
||||
|
||||
type SettingsValue_BoolValue struct {
|
||||
BoolValue bool `protobuf:"varint,5,opt,name=bool_value,json=boolValue,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SettingsValue_IntValue struct {
|
||||
IntValue int64 `protobuf:"varint,6,opt,name=int_value,json=intValue,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SettingsValue_StringValue struct {
|
||||
StringValue string `protobuf:"bytes,7,opt,name=string_value,json=stringValue,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SettingsValue_IntListValue struct {
|
||||
IntListValue *IntListValue `protobuf:"bytes,8,opt,name=int_list_value,json=intListValue,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SettingsValue_StringListValue struct {
|
||||
StringListValue *StringListValue `protobuf:"bytes,9,opt,name=string_list_value,json=stringListValue,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*SettingsValue_BoolValue) isSettingsValue_Value() {}
|
||||
|
||||
func (*SettingsValue_IntValue) isSettingsValue_Value() {}
|
||||
|
||||
func (*SettingsValue_StringValue) isSettingsValue_Value() {}
|
||||
|
||||
func (*SettingsValue_IntListValue) isSettingsValue_Value() {}
|
||||
|
||||
func (*SettingsValue_StringListValue) isSettingsValue_Value() {}
|
||||
|
||||
func (m *SettingsValue) GetValue() isSettingsValue_Value {
|
||||
if m != nil {
|
||||
return m.Value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetBoolValue() bool {
|
||||
if x, ok := m.GetValue().(*SettingsValue_BoolValue); ok {
|
||||
return x.BoolValue
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetIntValue() int64 {
|
||||
if x, ok := m.GetValue().(*SettingsValue_IntValue); ok {
|
||||
return x.IntValue
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetStringValue() string {
|
||||
if x, ok := m.GetValue().(*SettingsValue_StringValue); ok {
|
||||
return x.StringValue
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetIntListValue() *IntListValue {
|
||||
if x, ok := m.GetValue().(*SettingsValue_IntListValue); ok {
|
||||
return x.IntListValue
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SettingsValue) GetStringListValue() *StringListValue {
|
||||
if x, ok := m.GetValue().(*SettingsValue_StringListValue); ok {
|
||||
return x.StringListValue
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// XXX_OneofWrappers is for the internal use of the proto package.
|
||||
func (*SettingsValue) XXX_OneofWrappers() []interface{} {
|
||||
return []interface{}{
|
||||
(*SettingsValue_BoolValue)(nil),
|
||||
(*SettingsValue_IntValue)(nil),
|
||||
(*SettingsValue_StringValue)(nil),
|
||||
(*SettingsValue_IntListValue)(nil),
|
||||
(*SettingsValue_StringListValue)(nil),
|
||||
}
|
||||
}
|
||||
|
||||
type IntListValue struct {
|
||||
Value []int64 `protobuf:"varint,1,rep,packed,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *IntListValue) Reset() { *m = IntListValue{} }
|
||||
func (m *IntListValue) String() string { return proto.CompactTextString(m) }
|
||||
func (*IntListValue) ProtoMessage() {}
|
||||
func (*IntListValue) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{19}
|
||||
}
|
||||
|
||||
func (m *IntListValue) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_IntListValue.Unmarshal(m, b)
|
||||
}
|
||||
func (m *IntListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_IntListValue.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *IntListValue) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_IntListValue.Merge(m, src)
|
||||
}
|
||||
func (m *IntListValue) XXX_Size() int {
|
||||
return xxx_messageInfo_IntListValue.Size(m)
|
||||
}
|
||||
func (m *IntListValue) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_IntListValue.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_IntListValue proto.InternalMessageInfo
|
||||
|
||||
func (m *IntListValue) GetValue() []int64 {
|
||||
if m != nil {
|
||||
return m.Value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type StringListValue struct {
|
||||
Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *StringListValue) Reset() { *m = StringListValue{} }
|
||||
func (m *StringListValue) String() string { return proto.CompactTextString(m) }
|
||||
func (*StringListValue) ProtoMessage() {}
|
||||
func (*StringListValue) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{20}
|
||||
}
|
||||
|
||||
func (m *StringListValue) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_StringListValue.Unmarshal(m, b)
|
||||
}
|
||||
func (m *StringListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_StringListValue.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *StringListValue) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_StringListValue.Merge(m, src)
|
||||
}
|
||||
func (m *StringListValue) XXX_Size() int {
|
||||
return xxx_messageInfo_StringListValue.Size(m)
|
||||
}
|
||||
func (m *StringListValue) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_StringListValue.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_StringListValue proto.InternalMessageInfo
|
||||
|
||||
func (m *StringListValue) GetValue() []string {
|
||||
if m != nil {
|
||||
return m.Value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// only meant for serialization
|
||||
type SettingsValues struct {
|
||||
Values map[string]*SettingsValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SettingsValues) Reset() { *m = SettingsValues{} }
|
||||
func (m *SettingsValues) String() string { return proto.CompactTextString(m) }
|
||||
func (*SettingsValues) ProtoMessage() {}
|
||||
func (*SettingsValues) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_6c7cab62fa432213, []int{21}
|
||||
}
|
||||
|
||||
func (m *SettingsValues) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SettingsValues.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SettingsValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SettingsValues.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SettingsValues) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SettingsValues.Merge(m, src)
|
||||
}
|
||||
func (m *SettingsValues) XXX_Size() int {
|
||||
return xxx_messageInfo_SettingsValues.Size(m)
|
||||
}
|
||||
func (m *SettingsValues) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SettingsValues.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SettingsValues proto.InternalMessageInfo
|
||||
|
||||
func (m *SettingsValues) GetValues() map[string]*SettingsValue {
|
||||
if m != nil {
|
||||
return m.Values
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*CreateSettingsBundleRequest)(nil), "proto.CreateSettingsBundleRequest")
|
||||
proto.RegisterType((*CreateSettingsBundleResponse)(nil), "proto.CreateSettingsBundleResponse")
|
||||
@@ -848,6 +1305,10 @@ func init() {
|
||||
proto.RegisterType((*GetSettingsBundleResponse)(nil), "proto.GetSettingsBundleResponse")
|
||||
proto.RegisterType((*ListSettingsBundlesRequest)(nil), "proto.ListSettingsBundlesRequest")
|
||||
proto.RegisterType((*ListSettingsBundlesResponse)(nil), "proto.ListSettingsBundlesResponse")
|
||||
proto.RegisterType((*SaveSettingsValueRequest)(nil), "proto.SaveSettingsValueRequest")
|
||||
proto.RegisterType((*SaveSettingsValueResponse)(nil), "proto.SaveSettingsValueResponse")
|
||||
proto.RegisterType((*GetSettingsValueRequest)(nil), "proto.GetSettingsValueRequest")
|
||||
proto.RegisterType((*GetSettingsValueResponse)(nil), "proto.GetSettingsValueResponse")
|
||||
proto.RegisterType((*SettingsBundle)(nil), "proto.SettingsBundle")
|
||||
proto.RegisterType((*Setting)(nil), "proto.Setting")
|
||||
proto.RegisterType((*IntSetting)(nil), "proto.IntSetting")
|
||||
@@ -856,6 +1317,11 @@ func init() {
|
||||
proto.RegisterType((*SingleChoiceListSetting)(nil), "proto.SingleChoiceListSetting")
|
||||
proto.RegisterType((*MultiChoiceListSetting)(nil), "proto.MultiChoiceListSetting")
|
||||
proto.RegisterType((*ListOption)(nil), "proto.ListOption")
|
||||
proto.RegisterType((*SettingsValue)(nil), "proto.SettingsValue")
|
||||
proto.RegisterType((*IntListValue)(nil), "proto.IntListValue")
|
||||
proto.RegisterType((*StringListValue)(nil), "proto.StringListValue")
|
||||
proto.RegisterType((*SettingsValues)(nil), "proto.SettingsValues")
|
||||
proto.RegisterMapType((map[string]*SettingsValue)(nil), "proto.SettingsValues.ValuesEntry")
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -863,67 +1329,88 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_6c7cab62fa432213 = []byte{
|
||||
// 986 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xcf, 0x6f, 0xe3, 0x44,
|
||||
0x14, 0x5e, 0xc7, 0x6d, 0x93, 0xbc, 0x6c, 0xdb, 0x74, 0x36, 0xb0, 0x21, 0xdb, 0x42, 0xea, 0x5e,
|
||||
0xd8, 0x42, 0xe3, 0x92, 0x9e, 0x88, 0xb4, 0x68, 0xb7, 0xa5, 0xb4, 0x0b, 0xed, 0xb2, 0x72, 0x25,
|
||||
0x0e, 0x20, 0x88, 0x26, 0xce, 0xe0, 0x0c, 0x6b, 0xcf, 0x78, 0x3d, 0xe3, 0x36, 0x55, 0xb5, 0x12,
|
||||
0x70, 0xe1, 0x88, 0x04, 0x27, 0xae, 0x48, 0xdc, 0x80, 0x7f, 0x86, 0x7f, 0x81, 0x3f, 0x04, 0x79,
|
||||
0x3c, 0x8e, 0x93, 0x34, 0x29, 0xbb, 0x82, 0x93, 0x3d, 0xef, 0x7d, 0xdf, 0xf7, 0x3e, 0xcf, 0x9b,
|
||||
0x1f, 0x86, 0x15, 0x41, 0xa4, 0xa4, 0xcc, 0x13, 0xad, 0x30, 0xe2, 0x92, 0xa3, 0x45, 0xf5, 0x68,
|
||||
0xac, 0x7b, 0x9c, 0x7b, 0x3e, 0xb1, 0x71, 0x48, 0x6d, 0xcc, 0x18, 0x97, 0x58, 0x52, 0xce, 0x34,
|
||||
0xa8, 0xf1, 0xae, 0x7a, 0xb8, 0x3b, 0x1e, 0x61, 0x3b, 0xe2, 0x02, 0x7b, 0x1e, 0x89, 0x6c, 0x1e,
|
||||
0x2a, 0xc4, 0x75, 0xb4, 0xf5, 0x25, 0xdc, 0x3b, 0x88, 0x08, 0x96, 0xe4, 0x4c, 0x97, 0xda, 0x8f,
|
||||
0x59, 0xdf, 0x27, 0x0e, 0x79, 0x1e, 0x13, 0x21, 0xd1, 0x07, 0xb0, 0x9a, 0x79, 0xe8, 0xf6, 0x54,
|
||||
0xa6, 0x6e, 0x34, 0x8d, 0xb7, 0x2b, 0xed, 0xd7, 0x52, 0x7e, 0x6b, 0x8a, 0x36, 0x72, 0x9c, 0x8e,
|
||||
0xad, 0xaf, 0x60, 0x7d, 0xb6, 0xbc, 0x08, 0x39, 0x13, 0xe4, 0x3f, 0xeb, 0x7f, 0x0c, 0xf5, 0x23,
|
||||
0x22, 0x67, 0x7b, 0x5f, 0x87, 0x32, 0x19, 0x4a, 0xc2, 0x04, 0xe5, 0x4c, 0xa9, 0x96, 0x9d, 0x3c,
|
||||
0x80, 0xaa, 0x60, 0x3e, 0x23, 0x97, 0xf5, 0x82, 0x8a, 0x27, 0xaf, 0xd6, 0x17, 0xf0, 0xc6, 0x0c,
|
||||
0xad, 0xff, 0xc9, 0x68, 0x07, 0x1a, 0x27, 0x54, 0x4c, 0xa9, 0x8b, 0x97, 0xb2, 0x6a, 0x75, 0xe1,
|
||||
0xde, 0x4c, 0xae, 0xb6, 0xf6, 0x10, 0xaa, 0x53, 0xd6, 0x44, 0xdd, 0x68, 0x9a, 0xf3, 0xbd, 0xad,
|
||||
0x4e, 0x7a, 0x13, 0xd6, 0x8f, 0x06, 0xac, 0x4c, 0x62, 0x5e, 0x75, 0xf2, 0xd0, 0x26, 0xdc, 0xee,
|
||||
0x53, 0x11, 0xfa, 0xf8, 0xb2, 0xcb, 0x70, 0x40, 0xea, 0xa6, 0x4a, 0x55, 0x74, 0xec, 0x09, 0x0e,
|
||||
0x08, 0xda, 0x86, 0x52, 0x56, 0xb8, 0xbe, 0xa0, 0xfc, 0xad, 0x4c, 0xfa, 0x73, 0x46, 0x79, 0xeb,
|
||||
0x77, 0x13, 0x8a, 0x3a, 0x9a, 0x15, 0x33, 0xe6, 0x17, 0x2b, 0x5c, 0x2f, 0xd6, 0x84, 0x4a, 0x9f,
|
||||
0x08, 0x37, 0xa2, 0x6a, 0xe5, 0x8f, 0xec, 0xe4, 0x21, 0xb4, 0x0b, 0x65, 0xca, 0x64, 0xf7, 0x1c,
|
||||
0xfb, 0x31, 0xa9, 0x2f, 0xa8, 0x5e, 0xae, 0x69, 0x3f, 0x8f, 0x59, 0x36, 0xd9, 0xc7, 0xb7, 0x9c,
|
||||
0x12, 0x65, 0xf2, 0xb3, 0x04, 0x84, 0xde, 0x87, 0xdb, 0x42, 0x46, 0x94, 0x79, 0x9a, 0xb4, 0xa8,
|
||||
0x48, 0xb5, 0xec, 0x23, 0x54, 0x2a, 0xe7, 0x55, 0x52, 0x6c, 0x4a, 0xdd, 0x03, 0xe8, 0x71, 0xee,
|
||||
0x6b, 0xe2, 0x92, 0x22, 0x22, 0x4d, 0xdc, 0xe7, 0xdc, 0xcf, 0x69, 0xe5, 0x04, 0x97, 0x92, 0x9e,
|
||||
0xc2, 0x1d, 0x41, 0x99, 0xe7, 0x93, 0xae, 0x3b, 0xe0, 0xd4, 0x25, 0x9a, 0x5d, 0x54, 0xec, 0x37,
|
||||
0xb3, 0xb2, 0x0a, 0x71, 0xa0, 0x00, 0x63, 0xab, 0xe4, 0xf8, 0x96, 0xb3, 0x26, 0xc6, 0x52, 0xa9,
|
||||
0xe2, 0x29, 0xa0, 0x20, 0xf6, 0x25, 0x9d, 0x14, 0x2c, 0x29, 0xc1, 0x0d, 0x2d, 0x78, 0x9a, 0x00,
|
||||
0x66, 0xe9, 0x55, 0x83, 0x3c, 0xa3, 0xe4, 0xf6, 0x8b, 0xb0, 0xa8, 0x14, 0xac, 0x6f, 0x0d, 0x80,
|
||||
0x7c, 0xd2, 0x50, 0x1d, 0x8a, 0x7d, 0xf2, 0x35, 0x8e, 0x7d, 0xa9, 0xba, 0x66, 0x3a, 0xd9, 0x30,
|
||||
0xe9, 0x65, 0x40, 0x99, 0x6a, 0x98, 0xe9, 0x24, 0xaf, 0x2a, 0x82, 0x87, 0xaa, 0x41, 0x49, 0x04,
|
||||
0x0f, 0x11, 0x82, 0x05, 0x21, 0x49, 0xa8, 0x7a, 0x62, 0x3a, 0xea, 0x3d, 0x69, 0x67, 0xe8, 0x63,
|
||||
0x97, 0x0c, 0xb8, 0xdf, 0x27, 0x91, 0x9a, 0xf9, 0xb2, 0x33, 0x1e, 0xb2, 0x7e, 0x33, 0x60, 0x79,
|
||||
0xa2, 0x05, 0xd3, 0x2e, 0xca, 0xb9, 0x8b, 0x06, 0x94, 0x22, 0xf2, 0x3c, 0xa6, 0x11, 0xe9, 0x2b,
|
||||
0x2b, 0x25, 0x67, 0x34, 0x46, 0x1b, 0x00, 0x01, 0x65, 0x5d, 0x9f, 0x30, 0x4f, 0x0e, 0x94, 0xad,
|
||||
0x45, 0xa7, 0x1c, 0x50, 0x76, 0xa2, 0x02, 0x2a, 0x8d, 0x87, 0x59, 0x7a, 0x41, 0xa7, 0xf1, 0x50,
|
||||
0xa7, 0xff, 0xdd, 0xe7, 0x03, 0xa8, 0x8c, 0x35, 0x7c, 0xda, 0x64, 0x29, 0x37, 0x59, 0x83, 0x45,
|
||||
0x1f, 0xf7, 0x88, 0xaf, 0x57, 0x77, 0x3a, 0xb0, 0x3e, 0x82, 0xbb, 0x73, 0x3a, 0x8e, 0xde, 0x81,
|
||||
0xa2, 0x3e, 0xe7, 0xf5, 0xf6, 0xcf, 0x96, 0x73, 0x02, 0xfa, 0x54, 0x65, 0x9c, 0x0c, 0x61, 0x1d,
|
||||
0xc2, 0xeb, 0xb3, 0x1b, 0xfd, 0x6a, 0x32, 0xbf, 0x18, 0x00, 0x79, 0x1c, 0x6d, 0x4d, 0xed, 0x10,
|
||||
0x35, 0xef, 0xd3, 0x7b, 0x61, 0x63, 0x7c, 0xe3, 0xa9, 0x95, 0x30, 0xb1, 0xcb, 0xc6, 0x66, 0xc4,
|
||||
0x9c, 0x9c, 0x91, 0x2d, 0x58, 0xce, 0xb6, 0x7d, 0xbe, 0x6b, 0xcb, 0x4e, 0x76, 0x16, 0xa4, 0x6b,
|
||||
0xb2, 0x04, 0x4b, 0xa9, 0xb9, 0xf6, 0x0f, 0x26, 0x2c, 0xa7, 0xa7, 0xd9, 0x19, 0x89, 0xce, 0xa9,
|
||||
0x4b, 0xd0, 0x15, 0xd4, 0x66, 0xdd, 0x46, 0xc8, 0xd2, 0x5f, 0x78, 0xc3, 0x4d, 0xd8, 0xd8, 0xba,
|
||||
0x11, 0x93, 0x1e, 0xc5, 0x56, 0xe3, 0xfb, 0xbf, 0xfe, 0xfe, 0xb9, 0x50, 0xb3, 0x56, 0xd5, 0xdd,
|
||||
0x7c, 0xbe, 0x6b, 0xeb, 0xf3, 0xb8, 0x63, 0x6c, 0xa3, 0xef, 0x0c, 0x58, 0xbb, 0x76, 0xbf, 0xa0,
|
||||
0xb7, 0xb4, 0xec, 0xbc, 0x5b, 0xac, 0xd1, 0x9c, 0x0f, 0xd0, 0x45, 0xef, 0xab, 0xa2, 0x5b, 0x68,
|
||||
0x73, 0xaa, 0xa8, 0x7d, 0x35, 0x3a, 0xb0, 0x5f, 0xd8, 0x57, 0xcf, 0xc8, 0xe5, 0x0b, 0x14, 0xc3,
|
||||
0x9d, 0x19, 0x37, 0x09, 0xda, 0x1c, 0xeb, 0xf0, 0xec, 0x1b, 0xaa, 0x61, 0xdd, 0x04, 0xd1, 0x46,
|
||||
0xee, 0x2a, 0x23, 0x6b, 0x68, 0xfa, 0xeb, 0xf7, 0xff, 0x28, 0xfc, 0xf4, 0xe8, 0xd7, 0x02, 0xfa,
|
||||
0xd3, 0x80, 0x52, 0xc6, 0xb5, 0x9e, 0xc2, 0x32, 0xbf, 0x60, 0x07, 0x3e, 0x8f, 0xfb, 0xcd, 0xa3,
|
||||
0xa0, 0x77, 0x8c, 0xee, 0x0f, 0xa4, 0x0c, 0x45, 0xc7, 0xb6, 0x3d, 0x2a, 0x07, 0x71, 0xaf, 0xe5,
|
||||
0xf2, 0xc0, 0xe6, 0x17, 0xcc, 0x4d, 0x10, 0x36, 0x77, 0xa9, 0xd8, 0xc9, 0x6e, 0x87, 0x46, 0x4d,
|
||||
0xc4, 0x61, 0xc8, 0x23, 0xf9, 0x30, 0xcb, 0x27, 0xe0, 0xed, 0x4f, 0x00, 0x1e, 0x85, 0xd8, 0x1d,
|
||||
0x90, 0x9d, 0x76, 0x6b, 0x17, 0x3d, 0x78, 0x69, 0x39, 0xbb, 0xe7, 0xf3, 0x9e, 0x1d, 0x60, 0x21,
|
||||
0x49, 0x64, 0x9f, 0x3c, 0x3e, 0x38, 0x7c, 0x72, 0x76, 0xd8, 0x36, 0xdf, 0x6b, 0xed, 0x6e, 0x17,
|
||||
0x8c, 0x42, 0xbb, 0x8a, 0xc3, 0xd0, 0xa7, 0xae, 0xfa, 0x69, 0xb2, 0xbf, 0x11, 0x9c, 0x75, 0xae,
|
||||
0x45, 0xa2, 0x23, 0xa8, 0x7e, 0x48, 0xce, 0x89, 0xcf, 0x43, 0x12, 0x35, 0x4f, 0x31, 0x8b, 0xb1,
|
||||
0x8f, 0xf6, 0x92, 0xfa, 0x1d, 0x7b, 0x54, 0xb3, 0xa5, 0x7d, 0x50, 0x6e, 0x8f, 0xda, 0x22, 0x94,
|
||||
0x91, 0xee, 0xc8, 0xc8, 0xe7, 0xe9, 0x0f, 0x5e, 0x6f, 0x49, 0x3d, 0xf6, 0xfe, 0x09, 0x00, 0x00,
|
||||
0xff, 0xff, 0xc7, 0xed, 0x58, 0x58, 0x00, 0x0a, 0x00, 0x00,
|
||||
// 1318 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdd, 0x6e, 0x1b, 0xc5,
|
||||
0x17, 0xef, 0x7a, 0xf3, 0x61, 0x1f, 0xe7, 0x73, 0x9a, 0x7f, 0xeb, 0xba, 0x49, 0xe3, 0x6e, 0xfe,
|
||||
0x12, 0x25, 0x10, 0x6f, 0x9a, 0xdc, 0x50, 0x57, 0x45, 0x6d, 0xd2, 0xd0, 0x54, 0x6d, 0xda, 0x6a,
|
||||
0xa3, 0x02, 0x02, 0x81, 0xb5, 0x5e, 0x0f, 0xf6, 0xc0, 0x7a, 0x67, 0xbb, 0x33, 0x9b, 0x26, 0x44,
|
||||
0x41, 0x80, 0x78, 0x01, 0xe0, 0x0a, 0xc4, 0x15, 0x12, 0x37, 0x95, 0xe0, 0x96, 0x0b, 0x1e, 0x83,
|
||||
0x57, 0xe0, 0x41, 0xd0, 0xce, 0xce, 0x7e, 0x7a, 0x1d, 0x8a, 0x52, 0x89, 0xab, 0xf5, 0x9e, 0xcf,
|
||||
0xdf, 0xfe, 0xce, 0x99, 0x33, 0xc7, 0x30, 0xc3, 0x30, 0xe7, 0xc4, 0xe9, 0xb1, 0xa6, 0xeb, 0x51,
|
||||
0x4e, 0xd1, 0xb8, 0x78, 0xd4, 0x17, 0x7b, 0x94, 0xf6, 0x6c, 0xac, 0x9b, 0x2e, 0xd1, 0x4d, 0xc7,
|
||||
0xa1, 0xdc, 0xe4, 0x84, 0x3a, 0xd2, 0xa8, 0xfe, 0xa6, 0x78, 0x58, 0x6b, 0x3d, 0xec, 0xac, 0xb1,
|
||||
0xe7, 0x66, 0xaf, 0x87, 0x3d, 0x9d, 0xba, 0xc2, 0x62, 0xd8, 0x5a, 0xfb, 0x08, 0x2e, 0x6f, 0x7b,
|
||||
0xd8, 0xe4, 0x78, 0x5f, 0xa6, 0xda, 0xf2, 0x9d, 0xae, 0x8d, 0x0d, 0xfc, 0xcc, 0xc7, 0x8c, 0xa3,
|
||||
0xb7, 0x61, 0x36, 0xc2, 0xd0, 0xee, 0x08, 0x4d, 0x4d, 0x69, 0x28, 0xd7, 0xaa, 0x1b, 0xff, 0x0b,
|
||||
0xfd, 0x9b, 0x39, 0xb7, 0x18, 0x71, 0xf8, 0xae, 0x7d, 0x0c, 0x8b, 0xc5, 0xe1, 0x99, 0x4b, 0x1d,
|
||||
0x86, 0xcf, 0x1c, 0xff, 0x3d, 0xa8, 0xdd, 0xc3, 0xbc, 0x18, 0xfb, 0x22, 0x54, 0xf0, 0x21, 0xc7,
|
||||
0x0e, 0x23, 0xd4, 0x11, 0x51, 0x2b, 0x46, 0x22, 0x40, 0x4b, 0x00, 0x61, 0xc2, 0xf6, 0x67, 0xf8,
|
||||
0xa8, 0x56, 0x0a, 0xd5, 0xa1, 0xe4, 0x01, 0x3e, 0xd2, 0x3e, 0x84, 0x4b, 0x05, 0x81, 0x5f, 0x11,
|
||||
0xea, 0x16, 0xd4, 0x1f, 0x12, 0x96, 0x8b, 0xce, 0x5e, 0x0a, 0xb7, 0xd6, 0x86, 0xcb, 0x85, 0xbe,
|
||||
0x12, 0xda, 0x6d, 0x98, 0xcb, 0x41, 0x63, 0x35, 0xa5, 0xa1, 0x8e, 0xc6, 0x36, 0x9b, 0xc5, 0xc6,
|
||||
0x02, 0x4a, 0xf7, 0xcd, 0x83, 0xb8, 0x60, 0xef, 0x9a, 0xb6, 0x1f, 0x53, 0x7a, 0x33, 0x69, 0xc9,
|
||||
0xf6, 0x41, 0xa0, 0x90, 0xdf, 0xbd, 0x90, 0x8b, 0x1d, 0x3a, 0x4d, 0xb3, 0xf4, 0xab, 0xf6, 0x3e,
|
||||
0x5c, 0x2a, 0x08, 0x2c, 0x71, 0x9f, 0x29, 0xf2, 0x8f, 0x0a, 0x5c, 0x4c, 0x55, 0x2b, 0x03, 0xf9,
|
||||
0x2a, 0x4c, 0x99, 0x96, 0x45, 0x7d, 0x87, 0xb7, 0x7d, 0x9f, 0x74, 0x25, 0xa1, 0x55, 0x29, 0x7b,
|
||||
0xea, 0x93, 0x6e, 0x96, 0xf0, 0xd2, 0xe9, 0x8d, 0xa2, 0xe6, 0x1a, 0x05, 0x2d, 0x43, 0x55, 0x82,
|
||||
0x11, 0xfa, 0x31, 0xa1, 0x07, 0x29, 0x0a, 0x3a, 0x29, 0xdb, 0xa2, 0xaf, 0xf0, 0xab, 0x7f, 0x52,
|
||||
0x60, 0x26, 0x5b, 0xcc, 0x33, 0xb5, 0x7c, 0xc0, 0x54, 0x97, 0x30, 0xd7, 0x36, 0x8f, 0xda, 0x8e,
|
||||
0x39, 0xc0, 0xf2, 0x53, 0xab, 0x52, 0xf6, 0xc8, 0x1c, 0x60, 0xb4, 0x0a, 0xe5, 0x08, 0x43, 0x6d,
|
||||
0x4c, 0x74, 0xd5, 0x4c, 0x16, 0xa9, 0x11, 0xeb, 0xb5, 0x3f, 0x54, 0x98, 0x94, 0xd2, 0x3c, 0x49,
|
||||
0x4a, 0x9e, 0xa4, 0xa1, 0xdc, 0xa5, 0xe1, 0xdc, 0x0d, 0xa8, 0x76, 0x31, 0xb3, 0x3c, 0x22, 0x66,
|
||||
0x59, 0x8c, 0x2e, 0x11, 0xa1, 0x75, 0xa8, 0x10, 0x87, 0x4b, 0x22, 0xc7, 0x04, 0x91, 0xf3, 0x12,
|
||||
0xde, 0x7d, 0x27, 0xaa, 0xc0, 0xee, 0x39, 0xa3, 0x4c, 0x1c, 0x2e, 0x28, 0x44, 0x37, 0x60, 0x8a,
|
||||
0x71, 0x2f, 0x80, 0x15, 0x3a, 0x8d, 0x67, 0xd9, 0x17, 0xaa, 0xc4, 0xaf, 0x1a, 0xda, 0x86, 0xae,
|
||||
0x9b, 0x00, 0x1d, 0x4a, 0x6d, 0xe9, 0x38, 0x21, 0x1c, 0x91, 0x74, 0xdc, 0xa2, 0xd4, 0x4e, 0xdc,
|
||||
0x2a, 0x81, 0x5d, 0xe8, 0xf4, 0x04, 0xce, 0x33, 0xe2, 0xf4, 0x6c, 0xdc, 0xb6, 0xfa, 0x94, 0x58,
|
||||
0x58, 0x7a, 0x4f, 0x0a, 0xef, 0x2b, 0x51, 0x5a, 0x61, 0xb1, 0x2d, 0x0c, 0x52, 0x47, 0x7d, 0xf7,
|
||||
0x9c, 0x31, 0xcf, 0x52, 0xaa, 0x30, 0xe2, 0x1e, 0xa0, 0x81, 0x6f, 0x73, 0x92, 0x0d, 0x58, 0x16,
|
||||
0x01, 0x97, 0x64, 0xc0, 0xbd, 0xc0, 0xa0, 0x28, 0xde, 0xdc, 0x20, 0xd1, 0x88, 0x70, 0x5b, 0x93,
|
||||
0x30, 0x2e, 0x22, 0x68, 0x5f, 0x2a, 0x00, 0x09, 0x69, 0xa8, 0x06, 0x93, 0x5d, 0xfc, 0x89, 0xe9,
|
||||
0xdb, 0x5c, 0x14, 0x4f, 0x35, 0xa2, 0x57, 0x34, 0x07, 0xea, 0x80, 0x84, 0xc7, 0x46, 0x35, 0x82,
|
||||
0x9f, 0x42, 0x62, 0x1e, 0x8a, 0x02, 0x05, 0x12, 0xf3, 0x10, 0x21, 0x18, 0x63, 0x1c, 0xbb, 0xa2,
|
||||
0x26, 0xaa, 0x21, 0x7e, 0x07, 0xe5, 0x74, 0x6d, 0xd3, 0xc2, 0x7d, 0x6a, 0x77, 0xb1, 0x27, 0x98,
|
||||
0xaf, 0x18, 0x69, 0x91, 0xf6, 0x8b, 0x02, 0xd3, 0x99, 0x12, 0xe4, 0x51, 0x54, 0x12, 0x14, 0x75,
|
||||
0x28, 0x7b, 0xf8, 0x99, 0x4f, 0x3c, 0xdc, 0x15, 0x50, 0xca, 0x46, 0xfc, 0x1e, 0xb4, 0xfd, 0x80,
|
||||
0x38, 0x6d, 0x1b, 0x3b, 0x3d, 0xde, 0x17, 0xb0, 0xc6, 0x8d, 0xca, 0x80, 0x38, 0x0f, 0x85, 0x40,
|
||||
0xa8, 0xcd, 0xc3, 0x48, 0x3d, 0x26, 0xd5, 0xe6, 0xa1, 0x54, 0xff, 0x33, 0xce, 0x5b, 0x50, 0x4d,
|
||||
0x15, 0x3c, 0x0f, 0xb2, 0x9c, 0x80, 0x5c, 0x80, 0x71, 0xdb, 0xec, 0x60, 0x5b, 0x76, 0x77, 0xf8,
|
||||
0xa2, 0xbd, 0x03, 0x17, 0x47, 0x54, 0x1c, 0xbd, 0x01, 0x93, 0xf2, 0xe6, 0x96, 0x33, 0x3c, 0x6a,
|
||||
0xe7, 0xc0, 0xe8, 0xb1, 0xd0, 0x18, 0x91, 0x85, 0xb6, 0x03, 0x17, 0x8a, 0x0b, 0xfd, 0xef, 0xc2,
|
||||
0xfc, 0xa0, 0x00, 0x24, 0x72, 0xb4, 0x92, 0x3b, 0x21, 0x82, 0xf7, 0xfc, 0x59, 0x58, 0x4a, 0x1f,
|
||||
0x3c, 0xd1, 0x09, 0x99, 0x53, 0x96, 0x62, 0x44, 0xcd, 0x32, 0xb2, 0x02, 0xd3, 0xd1, 0xb1, 0x4f,
|
||||
0x4e, 0x6d, 0xc5, 0x88, 0x66, 0x41, 0xd8, 0x93, 0x65, 0x98, 0x08, 0xc1, 0x69, 0x5f, 0xa9, 0x30,
|
||||
0x9d, 0x19, 0x89, 0xff, 0xf9, 0x74, 0x47, 0xcb, 0x99, 0x31, 0x10, 0x74, 0x47, 0x39, 0x7b, 0xe4,
|
||||
0x33, 0xdc, 0x4c, 0x0c, 0x71, 0x93, 0xe7, 0x77, 0xb2, 0x88, 0xdf, 0x9b, 0x30, 0x13, 0xc4, 0xb0,
|
||||
0x09, 0xe3, 0x99, 0x03, 0x7e, 0x3e, 0x99, 0x6e, 0x41, 0xc9, 0x84, 0xf1, 0xee, 0x39, 0x63, 0x8a,
|
||||
0xa4, 0xde, 0xd1, 0x5d, 0x98, 0x97, 0x19, 0x52, 0xfe, 0x15, 0xe1, 0x7f, 0x21, 0x33, 0xe8, 0xd2,
|
||||
0x21, 0x66, 0x59, 0x56, 0x94, 0x0c, 0x86, 0xff, 0xc3, 0x54, 0x3a, 0x5d, 0xd0, 0xd4, 0x51, 0x67,
|
||||
0xa8, 0xd7, 0x54, 0x43, 0x5a, 0xbd, 0x06, 0xb3, 0xb9, 0xa0, 0x59, 0xc3, 0x4a, 0x64, 0x98, 0xbe,
|
||||
0xc4, 0x84, 0x1d, 0x43, 0x37, 0x60, 0x42, 0xe8, 0xa2, 0x6e, 0xbd, 0x5a, 0x74, 0x19, 0xb2, 0x66,
|
||||
0xf8, 0xd8, 0x71, 0xb8, 0x77, 0x64, 0x48, 0x87, 0xfa, 0x63, 0xa8, 0xa6, 0xc4, 0xc1, 0x24, 0x4a,
|
||||
0xae, 0x9b, 0xe0, 0x27, 0x5a, 0x8d, 0x40, 0x94, 0x4e, 0xb9, 0x67, 0x43, 0x93, 0x56, 0xe9, 0x2d,
|
||||
0x65, 0xe3, 0x85, 0x0a, 0xd3, 0xe1, 0xdd, 0xba, 0x8f, 0xbd, 0x03, 0x62, 0x61, 0xf4, 0x8d, 0x02,
|
||||
0x0b, 0x45, 0x2b, 0x2d, 0xd2, 0x64, 0xac, 0x53, 0xd6, 0xe9, 0xfa, 0xca, 0xa9, 0x36, 0xe1, 0x52,
|
||||
0xa0, 0xad, 0x7c, 0xfd, 0xe7, 0x5f, 0xdf, 0x97, 0x96, 0xb4, 0x9a, 0x58, 0xf0, 0x0f, 0xd6, 0xf5,
|
||||
0xe8, 0x4a, 0xd5, 0xe5, 0x42, 0xd7, 0x52, 0x56, 0xd1, 0xb7, 0x0a, 0xcc, 0x0f, 0x2d, 0xa8, 0x68,
|
||||
0x59, 0xc6, 0x1f, 0xb5, 0x13, 0xd7, 0x1b, 0xa3, 0x0d, 0x64, 0xf6, 0x1b, 0x22, 0xfb, 0x26, 0xba,
|
||||
0x3e, 0x2a, 0xbb, 0x7e, 0x1c, 0x9f, 0x9e, 0x13, 0xfd, 0x38, 0x39, 0x3c, 0x27, 0xe8, 0x0b, 0x38,
|
||||
0x5f, 0xb0, 0x9a, 0xa2, 0xab, 0xa9, 0x69, 0x53, 0xbc, 0xf2, 0xd6, 0xb5, 0xd3, 0x4c, 0x24, 0xb0,
|
||||
0x86, 0x00, 0x56, 0x47, 0x23, 0x69, 0xd9, 0xf8, 0xbd, 0x04, 0x53, 0xa2, 0x82, 0x51, 0xad, 0x3e,
|
||||
0x87, 0xf9, 0xa1, 0x8d, 0x33, 0xe6, 0x68, 0xd4, 0x92, 0x1b, 0x73, 0x34, 0x72, 0x59, 0xd5, 0x34,
|
||||
0x01, 0x65, 0x51, 0xbb, 0x38, 0x04, 0x25, 0xec, 0xc3, 0xa0, 0x40, 0x2f, 0x14, 0x98, 0xcb, 0xef,
|
||||
0x7d, 0xe8, 0xca, 0x30, 0xfd, 0x99, 0xd4, 0xcb, 0x23, 0xf5, 0x32, 0xf3, 0x53, 0x91, 0xf9, 0x31,
|
||||
0xda, 0x1b, 0x91, 0x59, 0x3f, 0x4e, 0x8f, 0xc3, 0x93, 0x91, 0xb5, 0xd2, 0x8f, 0x53, 0x63, 0xed,
|
||||
0x64, 0xeb, 0xd7, 0xd2, 0x77, 0x77, 0x7e, 0x2e, 0xa1, 0xdf, 0x14, 0x28, 0x47, 0x79, 0xb5, 0x27,
|
||||
0x30, 0x4d, 0x9f, 0x3b, 0xdb, 0x36, 0xf5, 0xbb, 0x8d, 0x7b, 0x83, 0xce, 0x2e, 0x7a, 0xbd, 0xcf,
|
||||
0xb9, 0xcb, 0x5a, 0xba, 0xde, 0x23, 0xbc, 0xef, 0x77, 0x9a, 0x16, 0x1d, 0xe8, 0xf4, 0xb9, 0x63,
|
||||
0x05, 0x16, 0x3a, 0xb5, 0x08, 0x5b, 0x8b, 0xc0, 0xd4, 0x17, 0x98, 0xef, 0xba, 0xd4, 0xe3, 0xb7,
|
||||
0x23, 0x7d, 0x60, 0xbc, 0xfa, 0x00, 0xe0, 0x8e, 0x6b, 0x5a, 0x7d, 0xbc, 0xb6, 0xd1, 0x5c, 0x47,
|
||||
0xb7, 0x5e, 0x3a, 0x9c, 0xde, 0xb1, 0x69, 0x47, 0x1f, 0x98, 0x8c, 0x63, 0x4f, 0x7f, 0x78, 0x7f,
|
||||
0x7b, 0xe7, 0xd1, 0xfe, 0xce, 0x86, 0x7a, 0xbd, 0xb9, 0xbe, 0x5a, 0x52, 0x4a, 0x1b, 0x73, 0xa6,
|
||||
0xeb, 0xda, 0xc4, 0x12, 0xff, 0x6a, 0xf5, 0x4f, 0x19, 0x75, 0x5a, 0x43, 0x12, 0xef, 0x1e, 0xcc,
|
||||
0xdd, 0xc5, 0x07, 0xd8, 0xa6, 0x2e, 0xf6, 0x1a, 0x7b, 0xa6, 0xe3, 0x9b, 0x36, 0xda, 0x0c, 0xf2,
|
||||
0xb7, 0xf4, 0x38, 0x67, 0x53, 0xe2, 0x20, 0x54, 0x8f, 0x49, 0x63, 0x02, 0x48, 0x3b, 0x06, 0xf2,
|
||||
0x41, 0xf8, 0x0f, 0xbc, 0x33, 0x21, 0x1e, 0x9b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x0f,
|
||||
0x46, 0x4c, 0xa1, 0x0f, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -119,3 +119,73 @@ func (h *bundleServiceHandler) GetSettingsBundle(ctx context.Context, in *GetSet
|
||||
func (h *bundleServiceHandler) ListSettingsBundles(ctx context.Context, in *ListSettingsBundlesRequest, out *ListSettingsBundlesResponse) error {
|
||||
return h.BundleServiceHandler.ListSettingsBundles(ctx, in, out)
|
||||
}
|
||||
|
||||
// Client API for ValueService service
|
||||
|
||||
type ValueService interface {
|
||||
SaveSettingsValue(ctx context.Context, in *SaveSettingsValueRequest, opts ...client.CallOption) (*SaveSettingsValueResponse, error)
|
||||
GetSettingsValue(ctx context.Context, in *GetSettingsValueRequest, opts ...client.CallOption) (*GetSettingsValueResponse, error)
|
||||
}
|
||||
|
||||
type valueService struct {
|
||||
c client.Client
|
||||
name string
|
||||
}
|
||||
|
||||
func NewValueService(name string, c client.Client) ValueService {
|
||||
return &valueService{
|
||||
c: c,
|
||||
name: name,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *valueService) SaveSettingsValue(ctx context.Context, in *SaveSettingsValueRequest, opts ...client.CallOption) (*SaveSettingsValueResponse, error) {
|
||||
req := c.c.NewRequest(c.name, "ValueService.SaveSettingsValue", in)
|
||||
out := new(SaveSettingsValueResponse)
|
||||
err := c.c.Call(ctx, req, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *valueService) GetSettingsValue(ctx context.Context, in *GetSettingsValueRequest, opts ...client.CallOption) (*GetSettingsValueResponse, error) {
|
||||
req := c.c.NewRequest(c.name, "ValueService.GetSettingsValue", in)
|
||||
out := new(GetSettingsValueResponse)
|
||||
err := c.c.Call(ctx, req, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// Server API for ValueService service
|
||||
|
||||
type ValueServiceHandler interface {
|
||||
SaveSettingsValue(context.Context, *SaveSettingsValueRequest, *SaveSettingsValueResponse) error
|
||||
GetSettingsValue(context.Context, *GetSettingsValueRequest, *GetSettingsValueResponse) error
|
||||
}
|
||||
|
||||
func RegisterValueServiceHandler(s server.Server, hdlr ValueServiceHandler, opts ...server.HandlerOption) error {
|
||||
type valueService interface {
|
||||
SaveSettingsValue(ctx context.Context, in *SaveSettingsValueRequest, out *SaveSettingsValueResponse) error
|
||||
GetSettingsValue(ctx context.Context, in *GetSettingsValueRequest, out *GetSettingsValueResponse) error
|
||||
}
|
||||
type ValueService struct {
|
||||
valueService
|
||||
}
|
||||
h := &valueServiceHandler{hdlr}
|
||||
return s.Handle(s.NewHandler(&ValueService{h}, opts...))
|
||||
}
|
||||
|
||||
type valueServiceHandler struct {
|
||||
ValueServiceHandler
|
||||
}
|
||||
|
||||
func (h *valueServiceHandler) SaveSettingsValue(ctx context.Context, in *SaveSettingsValueRequest, out *SaveSettingsValueResponse) error {
|
||||
return h.ValueServiceHandler.SaveSettingsValue(ctx, in, out)
|
||||
}
|
||||
|
||||
func (h *valueServiceHandler) GetSettingsValue(ctx context.Context, in *GetSettingsValueRequest, out *GetSettingsValueResponse) error {
|
||||
return h.ValueServiceHandler.GetSettingsValue(ctx, in, out)
|
||||
}
|
||||
|
||||
@@ -53,10 +53,10 @@ func (h *webBundleServiceHandler) GetSettingsBundle(w http.ResponseWriter, r *ht
|
||||
|
||||
resp := &GetSettingsBundleResponse{}
|
||||
|
||||
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusPreconditionFailed)
|
||||
return
|
||||
}
|
||||
//if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
|
||||
// http.Error(w, err.Error(), http.StatusPreconditionFailed)
|
||||
// return
|
||||
//}
|
||||
|
||||
if err := h.h.GetSettingsBundle(
|
||||
context.Background(),
|
||||
@@ -101,9 +101,76 @@ func RegisterBundleServiceWeb(r chi.Router, i BundleServiceHandler, middlewares
|
||||
h: i,
|
||||
}
|
||||
|
||||
r.MethodFunc("POST", "/api/v0/bundles", handler.CreateSettingsBundle)
|
||||
r.MethodFunc("GET", "/api/v0/bundles/{extension}/{key}", handler.GetSettingsBundle)
|
||||
r.MethodFunc("GET", "/api/v0/bundles", handler.ListSettingsBundles)
|
||||
r.MethodFunc("POST", "/api/v0/settings/bundles", handler.CreateSettingsBundle)
|
||||
r.MethodFunc("GET", "/api/v0/settings/bundles/{extension}/{bundle_key}", handler.GetSettingsBundle)
|
||||
r.MethodFunc("GET", "/api/v0/settings/bundles", handler.ListSettingsBundles)
|
||||
}
|
||||
|
||||
type webValueServiceHandler struct {
|
||||
r chi.Router
|
||||
h ValueServiceHandler
|
||||
}
|
||||
|
||||
func (h *webValueServiceHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
h.r.ServeHTTP(w, r)
|
||||
}
|
||||
|
||||
func (h *webValueServiceHandler) SaveSettingsValue(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
req := &SaveSettingsValueRequest{}
|
||||
|
||||
resp := &SaveSettingsValueResponse{}
|
||||
|
||||
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusPreconditionFailed)
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.h.SaveSettingsValue(
|
||||
context.Background(),
|
||||
req,
|
||||
resp,
|
||||
); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
render.Status(r, http.StatusCreated)
|
||||
render.JSON(w, r, resp)
|
||||
}
|
||||
|
||||
func (h *webValueServiceHandler) GetSettingsValue(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
req := &GetSettingsValueRequest{}
|
||||
|
||||
resp := &GetSettingsValueResponse{}
|
||||
|
||||
//if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
|
||||
// http.Error(w, err.Error(), http.StatusPreconditionFailed)
|
||||
// return
|
||||
//}
|
||||
|
||||
if err := h.h.GetSettingsValue(
|
||||
context.Background(),
|
||||
req,
|
||||
resp,
|
||||
); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
render.Status(r, http.StatusOK)
|
||||
render.JSON(w, r, resp)
|
||||
}
|
||||
|
||||
func RegisterValueServiceWeb(r chi.Router, i ValueServiceHandler, middlewares ...func(http.Handler) http.Handler) {
|
||||
handler := &webValueServiceHandler{
|
||||
r: r,
|
||||
h: i,
|
||||
}
|
||||
|
||||
r.MethodFunc("POST", "/api/v0/settings/values", handler.SaveSettingsValue)
|
||||
r.MethodFunc("GET", "/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}", handler.GetSettingsValue)
|
||||
}
|
||||
|
||||
// CreateSettingsBundleRequestJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
@@ -322,6 +389,150 @@ func (m *ListSettingsBundlesResponse) UnmarshalJSON(b []byte) error {
|
||||
|
||||
var _ json.Unmarshaler = (*ListSettingsBundlesResponse)(nil)
|
||||
|
||||
// SaveSettingsValueRequestJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of SaveSettingsValueRequest. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SaveSettingsValueRequestJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *SaveSettingsValueRequest) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := SaveSettingsValueRequestJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*SaveSettingsValueRequest)(nil)
|
||||
|
||||
// SaveSettingsValueRequestJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of SaveSettingsValueRequest. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SaveSettingsValueRequestJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *SaveSettingsValueRequest) UnmarshalJSON(b []byte) error {
|
||||
return SaveSettingsValueRequestJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*SaveSettingsValueRequest)(nil)
|
||||
|
||||
// SaveSettingsValueResponseJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of SaveSettingsValueResponse. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SaveSettingsValueResponseJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *SaveSettingsValueResponse) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := SaveSettingsValueResponseJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*SaveSettingsValueResponse)(nil)
|
||||
|
||||
// SaveSettingsValueResponseJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of SaveSettingsValueResponse. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SaveSettingsValueResponseJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *SaveSettingsValueResponse) UnmarshalJSON(b []byte) error {
|
||||
return SaveSettingsValueResponseJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*SaveSettingsValueResponse)(nil)
|
||||
|
||||
// GetSettingsValueRequestJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of GetSettingsValueRequest. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var GetSettingsValueRequestJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *GetSettingsValueRequest) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := GetSettingsValueRequestJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*GetSettingsValueRequest)(nil)
|
||||
|
||||
// GetSettingsValueRequestJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of GetSettingsValueRequest. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var GetSettingsValueRequestJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *GetSettingsValueRequest) UnmarshalJSON(b []byte) error {
|
||||
return GetSettingsValueRequestJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*GetSettingsValueRequest)(nil)
|
||||
|
||||
// GetSettingsValueResponseJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of GetSettingsValueResponse. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var GetSettingsValueResponseJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *GetSettingsValueResponse) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := GetSettingsValueResponseJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*GetSettingsValueResponse)(nil)
|
||||
|
||||
// GetSettingsValueResponseJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of GetSettingsValueResponse. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var GetSettingsValueResponseJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *GetSettingsValueResponse) UnmarshalJSON(b []byte) error {
|
||||
return GetSettingsValueResponseJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*GetSettingsValueResponse)(nil)
|
||||
|
||||
// SettingsBundleJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of SettingsBundle. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
@@ -609,3 +820,147 @@ func (m *ListOption) UnmarshalJSON(b []byte) error {
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*ListOption)(nil)
|
||||
|
||||
// SettingsValueJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of SettingsValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SettingsValueJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *SettingsValue) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := SettingsValueJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*SettingsValue)(nil)
|
||||
|
||||
// SettingsValueJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of SettingsValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SettingsValueJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *SettingsValue) UnmarshalJSON(b []byte) error {
|
||||
return SettingsValueJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*SettingsValue)(nil)
|
||||
|
||||
// IntListValueJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of IntListValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var IntListValueJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *IntListValue) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := IntListValueJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*IntListValue)(nil)
|
||||
|
||||
// IntListValueJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of IntListValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var IntListValueJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *IntListValue) UnmarshalJSON(b []byte) error {
|
||||
return IntListValueJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*IntListValue)(nil)
|
||||
|
||||
// StringListValueJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of StringListValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var StringListValueJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *StringListValue) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := StringListValueJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*StringListValue)(nil)
|
||||
|
||||
// StringListValueJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of StringListValue. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var StringListValueJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *StringListValue) UnmarshalJSON(b []byte) error {
|
||||
return StringListValueJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*StringListValue)(nil)
|
||||
|
||||
// SettingsValuesJSONMarshaler describes the default jsonpb.Marshaler used by all
|
||||
// instances of SettingsValues. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SettingsValuesJSONMarshaler = new(jsonpb.Marshaler)
|
||||
|
||||
// MarshalJSON satisfies the encoding/json Marshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly marshal the message.
|
||||
func (m *SettingsValues) MarshalJSON() ([]byte, error) {
|
||||
if m == nil {
|
||||
return json.Marshal(nil)
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
|
||||
if err := SettingsValuesJSONMarshaler.Marshal(buf, m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
var _ json.Marshaler = (*SettingsValues)(nil)
|
||||
|
||||
// SettingsValuesJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all
|
||||
// instances of SettingsValues. This struct is safe to replace or modify but
|
||||
// should not be done so concurrently.
|
||||
var SettingsValuesJSONUnmarshaler = new(jsonpb.Unmarshaler)
|
||||
|
||||
// UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method
|
||||
// uses the more correct jsonpb package to correctly unmarshal the message.
|
||||
func (m *SettingsValues) UnmarshalJSON(b []byte) error {
|
||||
return SettingsValuesJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m)
|
||||
}
|
||||
|
||||
var _ json.Unmarshaler = (*SettingsValues)(nil)
|
||||
|
||||
@@ -33,23 +33,37 @@ option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger) = {
|
||||
service BundleService {
|
||||
rpc CreateSettingsBundle(CreateSettingsBundleRequest) returns (CreateSettingsBundleResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/api/v0/bundles",
|
||||
post: "/api/v0/settings/bundles",
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
rpc GetSettingsBundle(GetSettingsBundleRequest) returns (GetSettingsBundleResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/api/v0/bundles/{extension}/{key}"
|
||||
get: "/api/v0/settings/bundles/{extension}/{bundle_key}"
|
||||
};
|
||||
};
|
||||
rpc ListSettingsBundles(ListSettingsBundlesRequest) returns (ListSettingsBundlesResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/api/v0/bundles"
|
||||
get: "/api/v0/settings/bundles"
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
// requests and responses
|
||||
service ValueService {
|
||||
rpc SaveSettingsValue(SaveSettingsValueRequest) returns (SaveSettingsValueResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/api/v0/settings/values",
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
rpc GetSettingsValue(GetSettingsValueRequest) returns (GetSettingsValueResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}"
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
// requests and responses for settings bundles
|
||||
message CreateSettingsBundleRequest {
|
||||
SettingsBundle settings_bundle = 1;
|
||||
}
|
||||
@@ -60,7 +74,7 @@ message CreateSettingsBundleResponse {
|
||||
|
||||
message GetSettingsBundleRequest {
|
||||
string extension = 1;
|
||||
string key = 2;
|
||||
string bundle_key = 2;
|
||||
}
|
||||
|
||||
message GetSettingsBundleResponse {
|
||||
@@ -75,16 +89,36 @@ message ListSettingsBundlesResponse {
|
||||
repeated SettingsBundle settings_bundles = 1;
|
||||
}
|
||||
|
||||
// payloads
|
||||
// requests and responses for settings values
|
||||
message SaveSettingsValueRequest {
|
||||
SettingsValue settings_value = 1;
|
||||
}
|
||||
|
||||
message SaveSettingsValueResponse {
|
||||
SettingsValue settings_value = 1;
|
||||
}
|
||||
|
||||
message GetSettingsValueRequest {
|
||||
string account_uuid = 1;
|
||||
string extension = 2;
|
||||
string bundle_key = 3;
|
||||
string setting_key = 4;
|
||||
}
|
||||
|
||||
message GetSettingsValueResponse {
|
||||
SettingsValue settings_value = 1;
|
||||
}
|
||||
|
||||
// payloads for settings bundles
|
||||
message SettingsBundle {
|
||||
string extension = 1;
|
||||
string key = 2;
|
||||
string bundle_key = 2;
|
||||
string display_name = 3;
|
||||
repeated Setting settings = 4;
|
||||
}
|
||||
|
||||
message Setting {
|
||||
string key = 1;
|
||||
string setting_key = 1;
|
||||
string display_name = 2;
|
||||
string description = 3;
|
||||
oneof value {
|
||||
@@ -133,3 +167,31 @@ message ListOption {
|
||||
bool default = 3;
|
||||
string display_value = 4;
|
||||
}
|
||||
|
||||
// payloads for settings values
|
||||
message SettingsValue {
|
||||
string account_uuid = 1;
|
||||
string extension = 2;
|
||||
string bundle_key = 3;
|
||||
string setting_key = 4;
|
||||
oneof value {
|
||||
bool bool_value = 5;
|
||||
int64 int_value = 6;
|
||||
string string_value = 7;
|
||||
IntListValue int_list_value = 8;
|
||||
StringListValue string_list_value = 9;
|
||||
}
|
||||
}
|
||||
|
||||
message IntListValue {
|
||||
repeated int64 value = 1;
|
||||
}
|
||||
|
||||
message StringListValue {
|
||||
repeated string value = 1;
|
||||
}
|
||||
|
||||
// only meant for serialization
|
||||
message SettingsValues {
|
||||
map<string,SettingsValue> values = 1;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/api/v0/bundles": {
|
||||
"/api/v0/settings/bundles": {
|
||||
"get": {
|
||||
"operationId": "ListSettingsBundles",
|
||||
"responses": {
|
||||
@@ -84,7 +84,7 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v0/bundles/{extension}/{key}": {
|
||||
"/api/v0/settings/bundles/{extension}/{bundle_key}": {
|
||||
"get": {
|
||||
"operationId": "GetSettingsBundle",
|
||||
"responses": {
|
||||
@@ -109,7 +109,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"name": "bundle_key",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
@@ -119,6 +119,86 @@
|
||||
"BundleService"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v0/settings/values": {
|
||||
"post": {
|
||||
"operationId": "SaveSettingsValue",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/protoSaveSettingsValueResponse"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "An unexpected error response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/runtimeError"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/protoSaveSettingsValueRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"ValueService"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}": {
|
||||
"get": {
|
||||
"operationId": "GetSettingsValue",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/protoGetSettingsValueResponse"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "An unexpected error response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/runtimeError"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "account_uuid",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "extension",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "bundle_key",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "setting_key",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"ValueService"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
@@ -141,7 +221,7 @@
|
||||
"$ref": "#/definitions/protoSettingsBundle"
|
||||
}
|
||||
},
|
||||
"title": "requests and responses"
|
||||
"title": "requests and responses for settings bundles"
|
||||
},
|
||||
"protoCreateSettingsBundleResponse": {
|
||||
"type": "object",
|
||||
@@ -159,6 +239,26 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoGetSettingsValueResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"settings_value": {
|
||||
"$ref": "#/definitions/protoSettingsValue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoIntListValue": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "int64"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoIntSetting": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -224,10 +324,27 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoSaveSettingsValueRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"settings_value": {
|
||||
"$ref": "#/definitions/protoSettingsValue"
|
||||
}
|
||||
},
|
||||
"title": "requests and responses for settings values"
|
||||
},
|
||||
"protoSaveSettingsValueResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"settings_value": {
|
||||
"$ref": "#/definitions/protoSettingsValue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoSetting": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"key": {
|
||||
"setting_key": {
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
@@ -259,7 +376,7 @@
|
||||
"extension": {
|
||||
"type": "string"
|
||||
},
|
||||
"key": {
|
||||
"bundle_key": {
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
@@ -272,7 +389,42 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "payloads"
|
||||
"title": "payloads for settings bundles"
|
||||
},
|
||||
"protoSettingsValue": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"account_uuid": {
|
||||
"type": "string"
|
||||
},
|
||||
"extension": {
|
||||
"type": "string"
|
||||
},
|
||||
"bundle_key": {
|
||||
"type": "string"
|
||||
},
|
||||
"setting_key": {
|
||||
"type": "string"
|
||||
},
|
||||
"bool_value": {
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"int_value": {
|
||||
"type": "string",
|
||||
"format": "int64"
|
||||
},
|
||||
"string_value": {
|
||||
"type": "string"
|
||||
},
|
||||
"int_list_value": {
|
||||
"$ref": "#/definitions/protoIntListValue"
|
||||
},
|
||||
"string_list_value": {
|
||||
"$ref": "#/definitions/protoStringListValue"
|
||||
}
|
||||
},
|
||||
"title": "payloads for settings values"
|
||||
},
|
||||
"protoSingleChoiceListSetting": {
|
||||
"type": "object",
|
||||
@@ -285,6 +437,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoStringListValue": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"protoStringSetting": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
@@ -23,7 +23,10 @@ func Server(opts ...Option) grpc.Service {
|
||||
|
||||
handle := svc.NewService(options.Config)
|
||||
if err := proto.RegisterBundleServiceHandler(service.Server(), handle); err != nil {
|
||||
options.Logger.Fatal().Err(err).Msg("could not register service handler")
|
||||
options.Logger.Fatal().Err(err).Msg("could not register SettingsBundles service handler")
|
||||
}
|
||||
if err := proto.RegisterValueServiceHandler(service.Server(), handle); err != nil {
|
||||
options.Logger.Fatal().Err(err).Msg("could not register SettingsValues service handler")
|
||||
}
|
||||
|
||||
service.Init()
|
||||
|
||||
@@ -58,10 +58,8 @@ func Server(opts ...Option) http.Service {
|
||||
))
|
||||
|
||||
mux.Route(options.Config.HTTP.Root, func(r chi.Router) {
|
||||
proto.RegisterBundleServiceWeb(
|
||||
r,
|
||||
handle,
|
||||
)
|
||||
proto.RegisterBundleServiceWeb(r, handle)
|
||||
proto.RegisterValueServiceWeb(r, handle)
|
||||
})
|
||||
|
||||
service.Handle(
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
)
|
||||
|
||||
type Service struct {
|
||||
config *config.Config
|
||||
manager settings.Manager
|
||||
config *config.Config
|
||||
manager settings.Manager
|
||||
}
|
||||
|
||||
// NewService returns a service implementation for Service.
|
||||
@@ -24,7 +24,7 @@ func NewService(cfg *config.Config) Service {
|
||||
}
|
||||
|
||||
func (g Service) CreateSettingsBundle(c context.Context, req *proto.CreateSettingsBundleRequest, res *proto.CreateSettingsBundleResponse) error {
|
||||
r, err := g.manager.Write(req.SettingsBundle)
|
||||
r, err := g.manager.WriteBundle(req.SettingsBundle)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -33,7 +33,7 @@ func (g Service) CreateSettingsBundle(c context.Context, req *proto.CreateSettin
|
||||
}
|
||||
|
||||
func (g Service) GetSettingsBundle(c context.Context, req *proto.GetSettingsBundleRequest, res *proto.GetSettingsBundleResponse) error {
|
||||
r, err := g.manager.Read(req.Extension, req.Key)
|
||||
r, err := g.manager.ReadBundle(req.Extension, req.BundleKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -49,3 +49,21 @@ func (g Service) ListSettingsBundles(c context.Context, req *proto.ListSettingsB
|
||||
res.SettingsBundles = r
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g Service) SaveSettingsValue(c context.Context, req *proto.SaveSettingsValueRequest, res *proto.SaveSettingsValueResponse) error {
|
||||
r, err := g.manager.WriteValue(req.SettingsValue)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res.SettingsValue = r
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g Service) GetSettingsValue(c context.Context, req *proto.GetSettingsValueRequest, res *proto.GetSettingsValueResponse) error {
|
||||
r, err := g.manager.ReadValue(req.AccountUuid, req.Extension, req.BundleKey, req.SettingKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res.SettingsValue = r
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -13,9 +13,20 @@ var (
|
||||
// RegisterFunc stores store constructors
|
||||
type RegisterFunc func(*config.Config) Manager
|
||||
|
||||
// Manager
|
||||
type Manager interface {
|
||||
Read(extension string, key string) (*proto.SettingsBundle, error)
|
||||
Write(bundle *proto.SettingsBundle) (*proto.SettingsBundle, error)
|
||||
BundleManager
|
||||
ValueManager
|
||||
}
|
||||
|
||||
// BundleManager
|
||||
type BundleManager interface {
|
||||
ReadBundle(extension string, bundleKey string) (*proto.SettingsBundle, error)
|
||||
WriteBundle(bundle *proto.SettingsBundle) (*proto.SettingsBundle, error)
|
||||
ListByExtension(extension string) ([]*proto.SettingsBundle, error)
|
||||
}
|
||||
|
||||
// ValueManager
|
||||
type ValueManager interface {
|
||||
ReadValue(accountUuid string, extension string, bundleKey string, settingKey string) (*proto.SettingsValue, error)
|
||||
WriteValue(value *proto.SettingsValue) (*proto.SettingsValue, error)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
// Package store implements the go-micro store interface
|
||||
package store
|
||||
|
||||
import (
|
||||
"github.com/owncloud/ocis-settings/pkg/proto/v0"
|
||||
"google.golang.org/grpc/codes"
|
||||
gstatus "google.golang.org/grpc/status"
|
||||
"io/ioutil"
|
||||
"path"
|
||||
)
|
||||
|
||||
// ListByExtension returns all bundles in the mountPath folder belonging to the given extension
|
||||
func (s Store) ListByExtension(extension string) ([]*proto.SettingsBundle, error) {
|
||||
bundlesFolder := s.buildFolderPathBundles()
|
||||
extensionFolders, err := ioutil.ReadDir(bundlesFolder)
|
||||
if err != nil {
|
||||
s.Logger.Err(err).Msgf("error reading %v", bundlesFolder)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Info().Msgf("listing bundles by extension %v", extension)
|
||||
var records []*proto.SettingsBundle
|
||||
for _, extensionFolder := range extensionFolders {
|
||||
extensionPath := path.Join(bundlesFolder, extensionFolder.Name())
|
||||
bundleFiles, err := ioutil.ReadDir(extensionPath)
|
||||
if err == nil {
|
||||
for _, bundleFile := range bundleFiles {
|
||||
record := proto.SettingsBundle{}
|
||||
err = s.parseRecordFromFile(&record, path.Join(extensionPath, bundleFile.Name()))
|
||||
if err == nil && (len(extension) == 0 || extension == record.Extension) {
|
||||
records = append(records, &record)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s.Logger.Err(err).Msgf("error reading %v", extensionPath)
|
||||
}
|
||||
}
|
||||
|
||||
return records, nil
|
||||
}
|
||||
|
||||
// Read tries to find a bundle by the given extension and key within the mountPath
|
||||
func (s Store) ReadBundle(extension string, bundleKey string) (*proto.SettingsBundle, error) {
|
||||
if len(extension) < 1 || len(bundleKey) < 1 {
|
||||
s.Logger.Error().Msg("extension and bundleKey cannot be empty")
|
||||
return nil, gstatus.Error(codes.InvalidArgument, "Missing a required identifier attribute")
|
||||
}
|
||||
|
||||
filePath := s.buildFilePathFromBundleArgs(extension, bundleKey)
|
||||
record := proto.SettingsBundle{}
|
||||
if err := s.parseRecordFromFile(&record, filePath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Debug().Msgf("read contents from file: %v", filePath)
|
||||
return &record, nil
|
||||
}
|
||||
|
||||
// Write writes the given record into a file within the mountPath
|
||||
func (s Store) WriteBundle(record *proto.SettingsBundle) (*proto.SettingsBundle, error) {
|
||||
if len(record.Extension) < 1 || len(record.BundleKey) < 1 {
|
||||
s.Logger.Error().Msg("extension and bundleKey cannot be empty")
|
||||
return nil, gstatus.Error(codes.InvalidArgument, "Missing a required identifier attribute")
|
||||
}
|
||||
|
||||
filePath := s.buildFilePathFromBundle(record)
|
||||
if err := s.writeRecordToFile(record, filePath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Debug().Msgf("request contents written to file: %v", filePath)
|
||||
return record, nil
|
||||
}
|
||||
@@ -7,32 +7,52 @@ import (
|
||||
)
|
||||
|
||||
const folderNameBundles = "bundles"
|
||||
const folderNameSettings = "settings"
|
||||
const folderNameValues = "values"
|
||||
|
||||
// Builds the folder path for storing settings bundles
|
||||
func buildFolderPathBundles(mountPath string) string {
|
||||
folderPath := path.Join(mountPath, folderNameBundles)
|
||||
ensureFolderExists(folderPath)
|
||||
func (s Store) buildFolderPathBundles() string {
|
||||
folderPath := path.Join(s.mountPath, folderNameBundles)
|
||||
s.ensureFolderExists(folderPath)
|
||||
return folderPath
|
||||
}
|
||||
|
||||
// Builds a unique file name from the given bundle
|
||||
func buildFilePathFromBundle(mountPath string, bundle *proto.SettingsBundle) string {
|
||||
return buildFilePathFromBundleArgs(mountPath, bundle.Extension, bundle.Key)
|
||||
// Builds a unique file name from the given settings bundle
|
||||
func (s Store) buildFilePathFromBundle(bundle *proto.SettingsBundle) string {
|
||||
return s.buildFilePathFromBundleArgs(bundle.Extension, bundle.BundleKey)
|
||||
}
|
||||
|
||||
// Builds a unique file name from the given params
|
||||
func buildFilePathFromBundleArgs(mountPath string, extension string, key string) string {
|
||||
extensionFolder := path.Join(mountPath, folderNameBundles, extension)
|
||||
if _, err := os.Stat(extensionFolder); os.IsNotExist(err) {
|
||||
_ = os.MkdirAll(extensionFolder, 0700)
|
||||
}
|
||||
return path.Join(extensionFolder, key + ".json")
|
||||
func (s Store) buildFilePathFromBundleArgs(extension string, bundleKey string) string {
|
||||
extensionFolder := path.Join(s.mountPath, folderNameBundles, extension)
|
||||
s.ensureFolderExists(extensionFolder)
|
||||
return path.Join(extensionFolder, bundleKey+".json")
|
||||
}
|
||||
|
||||
// Builds the folder path for storing settings values
|
||||
func (s Store) buildFolderPathValues() string {
|
||||
folderPath := path.Join(s.mountPath, folderNameValues)
|
||||
s.ensureFolderExists(folderPath)
|
||||
return folderPath
|
||||
}
|
||||
|
||||
// Builds a unique file name from the given settings value
|
||||
func (s Store) buildFilePathFromValue(value *proto.SettingsValue) string {
|
||||
return s.buildFilePathFromValueArgs(value.AccountUuid, value.Extension, value.BundleKey)
|
||||
}
|
||||
|
||||
// Builds a unique file name from the given params
|
||||
func (s Store) buildFilePathFromValueArgs(accountUuid string, extension string, bundleKey string) string {
|
||||
extensionFolder := path.Join(s.mountPath, folderNameValues, accountUuid, extension)
|
||||
s.ensureFolderExists(extensionFolder)
|
||||
return path.Join(extensionFolder, bundleKey+".json")
|
||||
}
|
||||
|
||||
// Checks if the given path is an existing folder and creates one if not existing
|
||||
func ensureFolderExists(path string) {
|
||||
func (s Store) ensureFolderExists(path string) {
|
||||
if _, err := os.Stat(path); os.IsNotExist(err) {
|
||||
_ = os.MkdirAll(path, 0700)
|
||||
err = os.MkdirAll(path, 0700)
|
||||
if err != nil {
|
||||
s.Logger.Err(err).Msgf("Error creating folder %v", path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,11 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
olog "github.com/owncloud/ocis-pkg/v2/log"
|
||||
"github.com/owncloud/ocis-settings/pkg/config"
|
||||
"github.com/owncloud/ocis-settings/pkg/proto/v0"
|
||||
"github.com/owncloud/ocis-settings/pkg/settings"
|
||||
)
|
||||
|
||||
@@ -17,7 +14,6 @@ var (
|
||||
// StoreName is the default name for the settings store
|
||||
StoreName = "ocis-settings-store"
|
||||
managerName = "filesystem"
|
||||
emptyKeyError = "key cannot be empty"
|
||||
)
|
||||
|
||||
// Store interacts with the filesystem to manage settings information
|
||||
@@ -43,69 +39,6 @@ func New(cfg *config.Config) settings.Manager {
|
||||
return &s
|
||||
}
|
||||
|
||||
// ListByExtension returns all bundles in the mountPath folder belonging to the given extension
|
||||
func (s Store) ListByExtension(extension string) ([]*proto.SettingsBundle, error) {
|
||||
bundlesFolder := buildFolderPathBundles(s.mountPath)
|
||||
extensionFolders, err := ioutil.ReadDir(bundlesFolder)
|
||||
if err != nil {
|
||||
s.Logger.Err(err).Msgf("error reading %v", bundlesFolder)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Info().Msgf("listing bundles by extension %v", extension)
|
||||
var records []*proto.SettingsBundle
|
||||
for _, extensionFolder := range extensionFolders {
|
||||
extensionPath := path.Join(bundlesFolder, extensionFolder.Name())
|
||||
bundleFiles, err := ioutil.ReadDir(extensionPath)
|
||||
if err == nil {
|
||||
for _, bundleFile := range bundleFiles {
|
||||
record := proto.SettingsBundle{}
|
||||
err = s.parseRecordFromFile(&record, path.Join(extensionPath, bundleFile.Name()))
|
||||
if err == nil && (len(extension) == 0 || extension == record.Extension) {
|
||||
records = append(records, &record)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s.Logger.Err(err).Msgf("error reading %v", extensionPath)
|
||||
}
|
||||
}
|
||||
|
||||
return records, nil
|
||||
}
|
||||
|
||||
// Read tries to find a bundle by the given extension and key within the mountPath
|
||||
func (s Store) Read(extension string, key string) (*proto.SettingsBundle, error) {
|
||||
if len(extension) < 1 || len(key) < 1 {
|
||||
s.Logger.Error().Msg("extension and key cannot be empty")
|
||||
return nil, fmt.Errorf(emptyKeyError)
|
||||
}
|
||||
|
||||
filePath := buildFilePathFromBundleArgs(s.mountPath, extension, key)
|
||||
record := proto.SettingsBundle{}
|
||||
if err := s.parseRecordFromFile(&record, filePath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Debug().Msgf("read contents from file: %v", filePath)
|
||||
return &record, nil
|
||||
}
|
||||
|
||||
// Write writes the given record into a file within the mountPath
|
||||
func (s Store) Write(record *proto.SettingsBundle) (*proto.SettingsBundle, error) {
|
||||
if len(record.Extension) < 1 || len(record.Key) < 1 {
|
||||
s.Logger.Error().Msg("extension and key cannot be empty")
|
||||
return nil, fmt.Errorf(emptyKeyError)
|
||||
}
|
||||
|
||||
filePath := buildFilePathFromBundle(s.mountPath, record)
|
||||
if err := s.writeRecordToFile(record, filePath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s.Logger.Debug().Msgf("request contents written to file: %v", filePath)
|
||||
return record, nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
settings.Registry[managerName] = New
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
// Package store implements the go-micro store interface
|
||||
package store
|
||||
|
||||
import (
|
||||
"github.com/owncloud/ocis-settings/pkg/proto/v0"
|
||||
"google.golang.org/grpc/codes"
|
||||
gstatus "google.golang.org/grpc/status"
|
||||
"os"
|
||||
)
|
||||
|
||||
// Read tries to find a value by the given identifier attributes within the mountPath
|
||||
func (s Store) ReadValue(accountUuid string, extension string, bundleKey string, settingKey string) (*proto.SettingsValue, error) {
|
||||
if len(accountUuid) < 1 || len(extension) < 1 || len(bundleKey) < 1 || len(settingKey) < 1 {
|
||||
s.Logger.Error().Msg("account, extension, bundle and setting are required")
|
||||
return nil, gstatus.Errorf(codes.InvalidArgument, "Missing a required identifier attribute")
|
||||
}
|
||||
|
||||
filePath := s.buildFilePathFromValueArgs(accountUuid, extension, bundleKey)
|
||||
values, err := s.readValuesMapFromFile(filePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if value := values.Values[settingKey]; value != nil {
|
||||
return value, nil
|
||||
}
|
||||
// TODO: we want to return sensible defaults here, when the value was not found
|
||||
return nil, gstatus.Error(codes.NotFound, "SettingsValue not set")
|
||||
}
|
||||
|
||||
// Write writes the given SettingsValue into a file within the mountPath
|
||||
func (s Store) WriteValue(value *proto.SettingsValue) (*proto.SettingsValue, error) {
|
||||
if len(value.AccountUuid) < 1 || len(value.Extension) < 1 || len(value.BundleKey) < 1 || len(value.SettingKey) < 1 {
|
||||
s.Logger.Error().Msg("account, extension, bundle and setting are required")
|
||||
return nil, gstatus.Errorf(codes.InvalidArgument, "Missing a required identifier attribute")
|
||||
}
|
||||
|
||||
filePath := s.buildFilePathFromValue(value)
|
||||
values, err := s.readValuesMapFromFile(filePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
values.Values[value.SettingKey] = value
|
||||
if err := s.writeRecordToFile(values, filePath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return value, nil
|
||||
}
|
||||
|
||||
func (s Store) readValuesMapFromFile(filePath string) (*proto.SettingsValues, error) {
|
||||
values := &proto.SettingsValues{}
|
||||
err := s.parseRecordFromFile(values, filePath)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
values.Values = map[string]*proto.SettingsValue{}
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
}
|
||||
+123
-14
@@ -38,7 +38,7 @@ export const request = (method, url, body, queryParameters, form, config) => {
|
||||
export const ListSettingsBundles = function(parameters = {}) {
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
const config = parameters.$config
|
||||
let path = '/api/v0/bundles'
|
||||
let path = '/api/v0/settings/bundles'
|
||||
let body
|
||||
let queryParameters = {}
|
||||
let form = {}
|
||||
@@ -53,7 +53,7 @@ export const ListSettingsBundles = function(parameters = {}) {
|
||||
return request('get', domain + path, body, queryParameters, form, config)
|
||||
}
|
||||
export const ListSettingsBundles_RAW_URL = function() {
|
||||
return '/api/v0/bundles'
|
||||
return '/api/v0/settings/bundles'
|
||||
}
|
||||
export const ListSettingsBundles_TYPE = function() {
|
||||
return 'get'
|
||||
@@ -61,7 +61,7 @@ export const ListSettingsBundles_TYPE = function() {
|
||||
export const ListSettingsBundlesURL = function(parameters = {}) {
|
||||
let queryParameters = {}
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
let path = '/api/v0/bundles'
|
||||
let path = '/api/v0/settings/bundles'
|
||||
if (parameters['extension'] !== undefined) {
|
||||
queryParameters['extension'] = parameters['extension']
|
||||
}
|
||||
@@ -84,7 +84,7 @@ export const ListSettingsBundlesURL = function(parameters = {}) {
|
||||
export const CreateSettingsBundle = function(parameters = {}) {
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
const config = parameters.$config
|
||||
let path = '/api/v0/bundles'
|
||||
let path = '/api/v0/settings/bundles'
|
||||
let body
|
||||
let queryParameters = {}
|
||||
let form = {}
|
||||
@@ -102,7 +102,7 @@ export const CreateSettingsBundle = function(parameters = {}) {
|
||||
return request('post', domain + path, body, queryParameters, form, config)
|
||||
}
|
||||
export const CreateSettingsBundle_RAW_URL = function() {
|
||||
return '/api/v0/bundles'
|
||||
return '/api/v0/settings/bundles'
|
||||
}
|
||||
export const CreateSettingsBundle_TYPE = function() {
|
||||
return 'post'
|
||||
@@ -110,7 +110,7 @@ export const CreateSettingsBundle_TYPE = function() {
|
||||
export const CreateSettingsBundleURL = function(parameters = {}) {
|
||||
let queryParameters = {}
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
let path = '/api/v0/bundles'
|
||||
let path = '/api/v0/settings/bundles'
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
@@ -126,12 +126,12 @@ export const CreateSettingsBundleURL = function(parameters = {}) {
|
||||
* method: GetSettingsBundle_TYPE
|
||||
* raw_url: GetSettingsBundle_RAW_URL
|
||||
* @param extension -
|
||||
* @param key -
|
||||
* @param bundleKey -
|
||||
*/
|
||||
export const GetSettingsBundle = function(parameters = {}) {
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
const config = parameters.$config
|
||||
let path = '/api/v0/bundles/{extension}/{key}'
|
||||
let path = '/api/v0/settings/bundles/{extension}/{bundle_key}'
|
||||
let body
|
||||
let queryParameters = {}
|
||||
let form = {}
|
||||
@@ -139,9 +139,9 @@ export const GetSettingsBundle = function(parameters = {}) {
|
||||
if (parameters['extension'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: extension'))
|
||||
}
|
||||
path = path.replace('{key}', `${parameters['key']}`)
|
||||
if (parameters['key'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: key'))
|
||||
path = path.replace('{bundle_key}', `${parameters['bundleKey']}`)
|
||||
if (parameters['bundleKey'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: bundleKey'))
|
||||
}
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
@@ -151,7 +151,7 @@ export const GetSettingsBundle = function(parameters = {}) {
|
||||
return request('get', domain + path, body, queryParameters, form, config)
|
||||
}
|
||||
export const GetSettingsBundle_RAW_URL = function() {
|
||||
return '/api/v0/bundles/{extension}/{key}'
|
||||
return '/api/v0/settings/bundles/{extension}/{bundle_key}'
|
||||
}
|
||||
export const GetSettingsBundle_TYPE = function() {
|
||||
return 'get'
|
||||
@@ -159,9 +159,118 @@ export const GetSettingsBundle_TYPE = function() {
|
||||
export const GetSettingsBundleURL = function(parameters = {}) {
|
||||
let queryParameters = {}
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
let path = '/api/v0/bundles/{extension}/{key}'
|
||||
let path = '/api/v0/settings/bundles/{extension}/{bundle_key}'
|
||||
path = path.replace('{extension}', `${parameters['extension']}`)
|
||||
path = path.replace('{key}', `${parameters['key']}`)
|
||||
path = path.replace('{bundle_key}', `${parameters['bundleKey']}`)
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
})
|
||||
}
|
||||
let keys = Object.keys(queryParameters)
|
||||
return domain + path + (keys.length > 0 ? '?' + (keys.map(key => key + '=' + encodeURIComponent(queryParameters[key])).join('&')) : '')
|
||||
}
|
||||
/**
|
||||
*
|
||||
* request: SaveSettingsValue
|
||||
* url: SaveSettingsValueURL
|
||||
* method: SaveSettingsValue_TYPE
|
||||
* raw_url: SaveSettingsValue_RAW_URL
|
||||
* @param body -
|
||||
*/
|
||||
export const SaveSettingsValue = function(parameters = {}) {
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
const config = parameters.$config
|
||||
let path = '/api/v0/settings/values'
|
||||
let body
|
||||
let queryParameters = {}
|
||||
let form = {}
|
||||
if (parameters['body'] !== undefined) {
|
||||
body = parameters['body']
|
||||
}
|
||||
if (parameters['body'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: body'))
|
||||
}
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
});
|
||||
}
|
||||
return request('post', domain + path, body, queryParameters, form, config)
|
||||
}
|
||||
export const SaveSettingsValue_RAW_URL = function() {
|
||||
return '/api/v0/settings/values'
|
||||
}
|
||||
export const SaveSettingsValue_TYPE = function() {
|
||||
return 'post'
|
||||
}
|
||||
export const SaveSettingsValueURL = function(parameters = {}) {
|
||||
let queryParameters = {}
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
let path = '/api/v0/settings/values'
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
})
|
||||
}
|
||||
let keys = Object.keys(queryParameters)
|
||||
return domain + path + (keys.length > 0 ? '?' + (keys.map(key => key + '=' + encodeURIComponent(queryParameters[key])).join('&')) : '')
|
||||
}
|
||||
/**
|
||||
*
|
||||
* request: GetSettingsValue
|
||||
* url: GetSettingsValueURL
|
||||
* method: GetSettingsValue_TYPE
|
||||
* raw_url: GetSettingsValue_RAW_URL
|
||||
* @param accountUuid -
|
||||
* @param extension -
|
||||
* @param bundleKey -
|
||||
* @param settingKey -
|
||||
*/
|
||||
export const GetSettingsValue = function(parameters = {}) {
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
const config = parameters.$config
|
||||
let path = '/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}'
|
||||
let body
|
||||
let queryParameters = {}
|
||||
let form = {}
|
||||
path = path.replace('{account_uuid}', `${parameters['accountUuid']}`)
|
||||
if (parameters['accountUuid'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: accountUuid'))
|
||||
}
|
||||
path = path.replace('{extension}', `${parameters['extension']}`)
|
||||
if (parameters['extension'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: extension'))
|
||||
}
|
||||
path = path.replace('{bundle_key}', `${parameters['bundleKey']}`)
|
||||
if (parameters['bundleKey'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: bundleKey'))
|
||||
}
|
||||
path = path.replace('{setting_key}', `${parameters['settingKey']}`)
|
||||
if (parameters['settingKey'] === undefined) {
|
||||
return Promise.reject(new Error('Missing required parameter: settingKey'))
|
||||
}
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
});
|
||||
}
|
||||
return request('get', domain + path, body, queryParameters, form, config)
|
||||
}
|
||||
export const GetSettingsValue_RAW_URL = function() {
|
||||
return '/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}'
|
||||
}
|
||||
export const GetSettingsValue_TYPE = function() {
|
||||
return 'get'
|
||||
}
|
||||
export const GetSettingsValueURL = function(parameters = {}) {
|
||||
let queryParameters = {}
|
||||
const domain = parameters.$domain ? parameters.$domain : getDomain()
|
||||
let path = '/api/v0/settings/values/{account_uuid}/{extension}/{bundle_key}/{setting_key}'
|
||||
path = path.replace('{account_uuid}', `${parameters['accountUuid']}`)
|
||||
path = path.replace('{extension}', `${parameters['extension']}`)
|
||||
path = path.replace('{bundle_key}', `${parameters['bundleKey']}`)
|
||||
path = path.replace('{setting_key}', `${parameters['settingKey']}`)
|
||||
if (parameters.$queryParameters) {
|
||||
Object.keys(parameters.$queryParameters).forEach(function(parameterName) {
|
||||
queryParameters[parameterName] = parameters.$queryParameters[parameterName]
|
||||
|
||||
Reference in New Issue
Block a user