Initial QSfera import
This commit is contained in:
@@ -0,0 +1,695 @@
|
||||
package defaults
|
||||
|
||||
import (
|
||||
settingsmsg "github.com/qsfera/server/protogen/gen/qsfera/messages/settings/v0"
|
||||
"github.com/qsfera/server/services/settings/pkg/config"
|
||||
)
|
||||
|
||||
const (
|
||||
// BundleUUIDRoleAdmin represents the admin role
|
||||
BundleUUIDRoleAdmin = "71881883-1768-46bd-a24d-a356a2afdf7f"
|
||||
// BundleUUIDRoleSpaceAdmin represents the space admin role
|
||||
BundleUUIDRoleSpaceAdmin = "2aadd357-682c-406b-8874-293091995fdd"
|
||||
// BundleUUIDRoleUser represents the user role.
|
||||
BundleUUIDRoleUser = "d7beeea8-8ff4-406b-8fb6-ab2dd81e6b11"
|
||||
// BundleUUIDRoleUserLight represents the user light role.
|
||||
BundleUUIDRoleUserLight = "38071a68-456a-4553-846a-fa67bf5596cc"
|
||||
// BundleUUIDRoleGuest represents the guest role.
|
||||
BundleUUIDRoleGuest = "38071a68-456a-4553-846a-fa67bf5596cc"
|
||||
// BundleUUIDProfile represents the user profile.
|
||||
BundleUUIDProfile = "2a506de7-99bd-4f0d-994e-c38e72c28fd9"
|
||||
// BundleUUIDServiceAccount represents the service account role.
|
||||
BundleUUIDServiceAccount = "bcceed81-c610-49cc-ab77-39a024e8da12"
|
||||
// SettingUUIDProfileLanguage is the hardcoded setting UUID for the user profile language
|
||||
SettingUUIDProfileLanguage = "aa8cfbe5-95d4-4f7e-a032-c3c01f5f062f"
|
||||
// SettingUUIDProfileDisableNotifications is the hardcoded setting UUID for the disable notifications setting
|
||||
SettingUUIDProfileDisableNotifications = "33ffb5d6-cd07-4dc0-afb0-84f7559ae438"
|
||||
// SettingUUIDProfileAutoAcceptShares is the hardcoded setting UUID for the disable notifications setting
|
||||
SettingUUIDProfileAutoAcceptShares = "ec3ed4a3-3946-4efc-8f9f-76d38b12d3a9"
|
||||
|
||||
// SettingUUIDProfileEmailSendingInterval is the hardcoded setting UUID for the email sending interval setting
|
||||
SettingUUIDProfileEmailSendingInterval = "08dec2fe-3f97-42a9-9d1b-500855e92f25"
|
||||
// SettingUUIDProfileEventShareCreated it the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventShareCreated = "872d8ef6-6f2a-42ab-af7d-f53cc81d7046"
|
||||
// SettingUUIDProfileEventShareRemoved is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventShareRemoved = "d7484394-8321-4c84-9677-741ba71e1f80"
|
||||
// SettingUUIDProfileEventShareExpired is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventShareExpired = "e1aa0b7c-1b0f-4072-9325-c643c89fee4e"
|
||||
// SettingUUIDProfileEventSpaceShared is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventSpaceShared = "694d5ee1-a41c-448c-8d14-396b95d2a918"
|
||||
// SettingUUIDProfileEventSpaceUnshared is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventSpaceUnshared = "26c20e0e-98df-4483-8a77-759b3a766af0"
|
||||
// SettingUUIDProfileEventSpaceMembershipExpired is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventSpaceMembershipExpired = "7275921e-b737-4074-ba91-3c2983be3edd"
|
||||
// SettingUUIDProfileEventSpaceDisabled is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventSpaceDisabled = "eb5c716e-03be-42c6-9ed1-1105d24e109f"
|
||||
// SettingUUIDProfileEventSpaceDeleted is the hardcoded setting UUID for the send in app setting
|
||||
SettingUUIDProfileEventSpaceDeleted = "094ceca9-5a00-40ba-bb1a-bbc7bccd39ee"
|
||||
// SettingUUIDProfileEventPostprocessingStepFinished is the hardcoded setting UUID for the send in mail setting
|
||||
SettingUUIDProfileEventPostprocessingStepFinished = "fe0a3011-d886-49c8-b797-33d02fa426ef"
|
||||
)
|
||||
|
||||
// GenerateBundlesDefaultRoles bootstraps the default roles.
|
||||
func GenerateBundlesDefaultRoles() []*settingsmsg.Bundle {
|
||||
return []*settingsmsg.Bundle{
|
||||
generateBundleAdminRole(),
|
||||
generateBundleUserRole(),
|
||||
generateBundleUserLightRole(),
|
||||
generateBundleProfileRequest(),
|
||||
generateBundleSpaceAdminRole(),
|
||||
}
|
||||
}
|
||||
|
||||
// GenerateDefaultProfileBundle return the default profile bundle.
|
||||
func GenerateDefaultProfileBundle() *settingsmsg.Bundle {
|
||||
return generateBundleProfileRequest()
|
||||
}
|
||||
|
||||
// ServiceAccountBundle returns the service account bundle
|
||||
func ServiceAccountBundle() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDServiceAccount,
|
||||
Name: "service-account",
|
||||
Type: settingsmsg.Bundle_TYPE_ROLE,
|
||||
Extension: "qsfera-roles",
|
||||
DisplayName: "Service Account",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Settings: []*settingsmsg.Setting{
|
||||
AccountManagementPermission(All),
|
||||
ChangeLogoPermission(All),
|
||||
CreatePublicLinkPermission(All),
|
||||
CreateSharePermission(All),
|
||||
CreateSpacesPermission(All),
|
||||
DeletePersonalSpacesPermission(All),
|
||||
DeleteProjectSpacesPermission(All),
|
||||
DeleteReadOnlyPublicLinkPasswordPermission(All),
|
||||
GroupManagementPermission(All),
|
||||
LanguageManagementPermission(All),
|
||||
ListFavoritesPermission(All),
|
||||
ListSpacesPermission(All),
|
||||
ManageSpacePropertiesPermission(All),
|
||||
RoleManagementPermission(All),
|
||||
SetPersonalSpaceQuotaPermission(All),
|
||||
SetProjectSpaceQuotaPermission(All),
|
||||
SettingsManagementPermission(All),
|
||||
SpaceAbilityPermission(All),
|
||||
WriteFavoritesPermission(All),
|
||||
// TODO: add more permissions? remove some?
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func generateBundleAdminRole() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDRoleAdmin,
|
||||
Name: "admin",
|
||||
Type: settingsmsg.Bundle_TYPE_ROLE,
|
||||
Extension: "qsfera-roles",
|
||||
DisplayName: "Admin",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Settings: []*settingsmsg.Setting{
|
||||
AccountManagementPermission(All),
|
||||
AutoAcceptSharesPermission(Own),
|
||||
ChangeLogoPermission(All),
|
||||
CreatePublicLinkPermission(All),
|
||||
CreateSharePermission(All),
|
||||
CreateSpacesPermission(All),
|
||||
DeletePersonalSpacesPermission(All),
|
||||
DeleteProjectSpacesPermission(All),
|
||||
DeleteReadOnlyPublicLinkPasswordPermission(All),
|
||||
DisableEmailNotificationsPermission(Own),
|
||||
ProfileEmailSendingIntervalPermission(Own),
|
||||
ProfileEventShareCreatedPermission(Own),
|
||||
ProfileEventShareRemovedPermission(Own),
|
||||
ProfileEventShareExpiredPermission(Own),
|
||||
ProfileEventSpaceSharedPermission(Own),
|
||||
ProfileEventSpaceUnsharedPermission(Own),
|
||||
ProfileEventSpaceMembershipExpiredPermission(Own),
|
||||
ProfileEventSpaceDisabledPermission(Own),
|
||||
ProfileEventSpaceDeletedPermission(Own),
|
||||
ProfileEventPostprocessingStepFinishedPermission(Own),
|
||||
GroupManagementPermission(All),
|
||||
LanguageManagementPermission(All),
|
||||
ListFavoritesPermission(Own),
|
||||
ListSpacesPermission(All),
|
||||
ManageSpacePropertiesPermission(All),
|
||||
RoleManagementPermission(All),
|
||||
SetPersonalSpaceQuotaPermission(All),
|
||||
SetProjectSpaceQuotaPermission(All),
|
||||
SettingsManagementPermission(All),
|
||||
SpaceAbilityPermission(All),
|
||||
WebOfficeManagementPermssion(All),
|
||||
WriteFavoritesPermission(Own),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func generateBundleSpaceAdminRole() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDRoleSpaceAdmin,
|
||||
Name: "spaceadmin",
|
||||
Type: settingsmsg.Bundle_TYPE_ROLE,
|
||||
Extension: "qsfera-roles",
|
||||
DisplayName: "Space Admin",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Settings: []*settingsmsg.Setting{
|
||||
AutoAcceptSharesPermission(Own),
|
||||
CreatePublicLinkPermission(All),
|
||||
CreateSharePermission(All),
|
||||
CreateSpacesPermission(All),
|
||||
DeleteProjectSpacesPermission(All),
|
||||
DeleteReadOnlyPublicLinkPasswordPermission(All),
|
||||
DisableEmailNotificationsPermission(Own),
|
||||
ProfileEmailSendingIntervalPermission(Own),
|
||||
ProfileEventShareCreatedPermission(Own),
|
||||
ProfileEventShareRemovedPermission(Own),
|
||||
ProfileEventShareExpiredPermission(Own),
|
||||
ProfileEventSpaceSharedPermission(Own),
|
||||
ProfileEventSpaceUnsharedPermission(Own),
|
||||
ProfileEventSpaceMembershipExpiredPermission(Own),
|
||||
ProfileEventSpaceDisabledPermission(Own),
|
||||
ProfileEventSpaceDeletedPermission(Own),
|
||||
ProfileEventPostprocessingStepFinishedPermission(Own),
|
||||
LanguageManagementPermission(Own),
|
||||
ListFavoritesPermission(Own),
|
||||
ListSpacesPermission(All),
|
||||
ManageSpacePropertiesPermission(All),
|
||||
SelfManagementPermission(Own),
|
||||
SetProjectSpaceQuotaPermission(All),
|
||||
SpaceAbilityPermission(All),
|
||||
WriteFavoritesPermission(Own),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func generateBundleUserRole() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDRoleUser,
|
||||
Name: "user",
|
||||
Type: settingsmsg.Bundle_TYPE_ROLE,
|
||||
Extension: "qsfera-roles",
|
||||
DisplayName: "User",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Settings: []*settingsmsg.Setting{
|
||||
AutoAcceptSharesPermission(Own),
|
||||
CreatePublicLinkPermission(All),
|
||||
CreateSharePermission(All),
|
||||
CreateSpacesPermission(Own),
|
||||
DisableEmailNotificationsPermission(Own),
|
||||
ProfileEmailSendingIntervalPermission(Own),
|
||||
ProfileEventShareCreatedPermission(Own),
|
||||
ProfileEventShareRemovedPermission(Own),
|
||||
ProfileEventShareExpiredPermission(Own),
|
||||
ProfileEventSpaceSharedPermission(Own),
|
||||
ProfileEventSpaceUnsharedPermission(Own),
|
||||
ProfileEventSpaceMembershipExpiredPermission(Own),
|
||||
ProfileEventSpaceDisabledPermission(Own),
|
||||
ProfileEventSpaceDeletedPermission(Own),
|
||||
ProfileEventPostprocessingStepFinishedPermission(Own),
|
||||
LanguageManagementPermission(Own),
|
||||
ListFavoritesPermission(Own),
|
||||
SelfManagementPermission(Own),
|
||||
WriteFavoritesPermission(Own),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func generateBundleUserLightRole() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDRoleUserLight,
|
||||
Name: "user-light",
|
||||
Type: settingsmsg.Bundle_TYPE_ROLE,
|
||||
Extension: "qsfera-roles",
|
||||
DisplayName: "User Light",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Settings: []*settingsmsg.Setting{
|
||||
AutoAcceptSharesPermission(Own),
|
||||
DisableEmailNotificationsPermission(Own),
|
||||
ProfileEmailSendingIntervalPermission(Own),
|
||||
LanguageManagementPermission(Own),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func generateBundleProfileRequest() *settingsmsg.Bundle {
|
||||
return &settingsmsg.Bundle{
|
||||
Id: BundleUUIDProfile,
|
||||
Name: "profile",
|
||||
Extension: "qsfera-accounts",
|
||||
Type: settingsmsg.Bundle_TYPE_DEFAULT,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
DisplayName: "Profile",
|
||||
Settings: []*settingsmsg.Setting{
|
||||
{
|
||||
Id: SettingUUIDProfileLanguage,
|
||||
Name: "language",
|
||||
DisplayName: "Language",
|
||||
Description: "User language",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &languageSetting,
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileDisableNotifications,
|
||||
Name: "disable-email-notifications",
|
||||
DisplayName: "Disable Email Notifications",
|
||||
Description: "Disable email notifications",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_BoolValue{BoolValue: &settingsmsg.Bool{Default: false, Label: "disable notifications"}},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileAutoAcceptShares,
|
||||
Name: "auto-accept-shares",
|
||||
DisplayName: "Auto accept shares",
|
||||
Description: "Automatically accept shares",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_BoolValue{BoolValue: &settingsmsg.Bool{Default: true, Label: "auto accept shares"}},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEmailSendingInterval,
|
||||
Name: "email-sending-interval-options",
|
||||
DisplayName: TemplateEmailSendingInterval,
|
||||
Description: TemplateEmailSendingIntervalDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &sendEmailOptions,
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventShareCreated,
|
||||
Name: "event-share-created-options",
|
||||
DisplayName: TemplateShareCreated,
|
||||
Description: TemplateShareCreatedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailTrue,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventShareRemoved,
|
||||
Name: "event-share-removed-options",
|
||||
DisplayName: TemplateShareRemoved,
|
||||
Description: TemplateShareRemovedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailFalseDisabled,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventShareExpired,
|
||||
Name: "event-share-expired-options",
|
||||
DisplayName: TemplateShareExpired,
|
||||
Description: TemplateShareExpiredDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailTrue,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventSpaceShared,
|
||||
Name: "event-space-shared-options",
|
||||
DisplayName: TemplateSpaceShared,
|
||||
Description: TemplateSpaceSharedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailTrue,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventSpaceUnshared,
|
||||
Name: "event-space-unshared-options",
|
||||
DisplayName: TemplateSpaceUnshared,
|
||||
Description: TemplateSpaceUnsharedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailTrue,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventSpaceMembershipExpired,
|
||||
Name: "event-space-membership-expired-options",
|
||||
DisplayName: TemplateSpaceMembershipExpired,
|
||||
Description: TemplateSpaceMembershipExpiredDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailTrue,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventSpaceDisabled,
|
||||
Name: "event-space-disabled-options",
|
||||
DisplayName: TemplateSpaceDisabled,
|
||||
Description: TemplateSpaceDisabledDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailFalseDisabled,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventSpaceDeleted,
|
||||
Name: "event-space-deleted-options",
|
||||
DisplayName: TemplateSpaceDeleted,
|
||||
Description: TemplateSpaceDeletedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailFalseDisabled,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: SettingUUIDProfileEventPostprocessingStepFinished,
|
||||
Name: "event-postprocessing-step-finished-options",
|
||||
DisplayName: TemplateFileRejected,
|
||||
Description: TemplateFileRejectedDescription,
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
},
|
||||
Value: &settingsmsg.Setting_MultiChoiceCollectionValue{
|
||||
MultiChoiceCollectionValue: &settingsmsg.MultiChoiceCollection{
|
||||
Options: []*settingsmsg.MultiChoiceCollectionOption{
|
||||
&optionInAppTrue,
|
||||
&optionMailFalseDisabled,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
var sendEmailOptions = settingsmsg.Setting_SingleChoiceValue{
|
||||
SingleChoiceValue: &settingsmsg.SingleChoiceList{
|
||||
Options: []*settingsmsg.ListOption{
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "instant",
|
||||
},
|
||||
},
|
||||
DisplayValue: TemplateIntervalInstant,
|
||||
Default: true,
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "daily",
|
||||
},
|
||||
},
|
||||
DisplayValue: TemplateIntervalDaily,
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "weekly",
|
||||
},
|
||||
},
|
||||
DisplayValue: TemplateIntervalWeekly,
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "never",
|
||||
},
|
||||
},
|
||||
DisplayValue: TemplateIntervalNever,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var optionInAppTrue = settingsmsg.MultiChoiceCollectionOption{
|
||||
Key: "in-app",
|
||||
DisplayValue: "In-App",
|
||||
Value: &settingsmsg.MultiChoiceCollectionOptionValue{
|
||||
Option: &settingsmsg.MultiChoiceCollectionOptionValue_BoolValue{
|
||||
BoolValue: &settingsmsg.Bool{
|
||||
Default: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var optionMailTrue = settingsmsg.MultiChoiceCollectionOption{
|
||||
Key: "mail",
|
||||
DisplayValue: "Email",
|
||||
Value: &settingsmsg.MultiChoiceCollectionOptionValue{
|
||||
Option: &settingsmsg.MultiChoiceCollectionOptionValue_BoolValue{
|
||||
BoolValue: &settingsmsg.Bool{
|
||||
Default: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var optionMailFalseDisabled = settingsmsg.MultiChoiceCollectionOption{
|
||||
Key: "mail",
|
||||
Attribute: "disabled",
|
||||
DisplayValue: "Email",
|
||||
Value: &settingsmsg.MultiChoiceCollectionOptionValue{
|
||||
Option: &settingsmsg.MultiChoiceCollectionOptionValue_BoolValue{
|
||||
BoolValue: &settingsmsg.Bool{
|
||||
Default: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// TODO: languageSetting needed?
|
||||
var languageSetting = settingsmsg.Setting_SingleChoiceValue{
|
||||
SingleChoiceValue: &settingsmsg.SingleChoiceList{
|
||||
Options: []*settingsmsg.ListOption{
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "bg",
|
||||
},
|
||||
},
|
||||
DisplayValue: "български",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "cs",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Czech",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "de",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Deutsch",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "en",
|
||||
},
|
||||
},
|
||||
DisplayValue: "English",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "es",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Español",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "fr",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Français",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "gl",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Galego",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "it",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Italiano",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "nl",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Nederlands",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "ko",
|
||||
},
|
||||
},
|
||||
DisplayValue: "한국어",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "sq",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Shqipja",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "sv",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Svenska",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "tr",
|
||||
},
|
||||
},
|
||||
DisplayValue: "Türkçe",
|
||||
},
|
||||
{
|
||||
Value: &settingsmsg.ListOptionValue{
|
||||
Option: &settingsmsg.ListOptionValue_StringValue{
|
||||
StringValue: "zh",
|
||||
},
|
||||
},
|
||||
DisplayValue: "汉语",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// DefaultRoleAssignments returns (as one might guess) the default role assignments
|
||||
func DefaultRoleAssignments(cfg *config.Config) []*settingsmsg.UserRoleAssignment {
|
||||
assignments := []*settingsmsg.UserRoleAssignment{}
|
||||
|
||||
if cfg.SetupDefaultAssignments {
|
||||
assignments = []*settingsmsg.UserRoleAssignment{
|
||||
// default users with role "user"
|
||||
{
|
||||
AccountUuid: "b1f74ec4-dd7e-11ef-a543-03775734d0f7",
|
||||
RoleId: BundleUUIDRoleUser,
|
||||
},
|
||||
{
|
||||
AccountUuid: "056fc874-dd7f-11ef-ba84-af6fca4b7289",
|
||||
RoleId: BundleUUIDRoleUser,
|
||||
},
|
||||
{
|
||||
AccountUuid: "60708dda-e897-11ef-919f-bbb7437d6ec2",
|
||||
RoleId: BundleUUIDRoleUser,
|
||||
},
|
||||
{
|
||||
// additional admin user
|
||||
AccountUuid: "cd88bf9a-dd7f-11ef-a609-7f78deb2345f", // demo user "dennis"
|
||||
RoleId: BundleUUIDRoleAdmin,
|
||||
},
|
||||
{
|
||||
// default users with role "spaceadmin"
|
||||
AccountUuid: "801abee4-dd7f-11ef-a324-83f55a754b62",
|
||||
RoleId: BundleUUIDRoleSpaceAdmin,
|
||||
},
|
||||
{
|
||||
// service user
|
||||
AccountUuid: "service-user-id",
|
||||
RoleId: BundleUUIDRoleAdmin,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if cfg.AdminUserID != "" {
|
||||
// default admin user
|
||||
assignments = append(assignments, &settingsmsg.UserRoleAssignment{
|
||||
AccountUuid: cfg.AdminUserID,
|
||||
RoleId: BundleUUIDRoleAdmin,
|
||||
})
|
||||
}
|
||||
|
||||
return assignments
|
||||
}
|
||||
@@ -0,0 +1,642 @@
|
||||
package defaults
|
||||
|
||||
import settingsmsg "github.com/qsfera/server/protogen/gen/qsfera/messages/settings/v0"
|
||||
|
||||
var (
|
||||
// All is a convenience variable to set constraint to all
|
||||
All = settingsmsg.Permission_CONSTRAINT_ALL
|
||||
// Own is a convenience variable to set constraint to own
|
||||
Own = settingsmsg.Permission_CONSTRAINT_OWN
|
||||
)
|
||||
|
||||
// AccountManagementPermission is the permission to manage accounts
|
||||
func AccountManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "8e587774-d929-4215-910b-a317b1e80f73",
|
||||
Name: "Accounts.ReadWrite",
|
||||
DisplayName: "Account Management",
|
||||
Description: "This permission gives full access to everything that is related to account management.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
Id: "all",
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// AutoAcceptSharesPermission is the permission to enable share auto-accept
|
||||
func AutoAcceptSharesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "4e41363c-a058-40a5-aec8-958897511209",
|
||||
Name: "AutoAcceptShares.ReadWriteDisabled",
|
||||
DisplayName: "enable/disable auto accept shares",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileAutoAcceptShares,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ChangeLogoPermission is the permission to change the logo
|
||||
func ChangeLogoPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "ed83fc10-1f54-4a9e-b5a7-fb517f5f3e01",
|
||||
Name: "Logo.Write",
|
||||
DisplayName: "Change logo",
|
||||
Description: "This permission permits to change the system logo.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// CreatePublicLinkPermission is the permission to create public links
|
||||
func CreatePublicLinkPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "11516bbd-7157-49e1-b6ac-d00c820f980b",
|
||||
Name: "PublicLink.Write",
|
||||
DisplayName: "Write publiclink",
|
||||
Description: "This permission allows creating public links.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SHARE,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_WRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// CreateSharePermission is the permission to create shares
|
||||
func CreateSharePermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "069c08b1-e31f-4799-9ed6-194b310e7244",
|
||||
Name: "Shares.Write",
|
||||
DisplayName: "Write share",
|
||||
Description: "This permission allows creating shares.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SHARE,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_WRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// CreateSpacesPermission is the permission to create spaces
|
||||
func CreateSpacesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "79e13b30-3e22-11eb-bc51-0b9f0bad9a58",
|
||||
Name: "Drives.Create",
|
||||
DisplayName: "Create Space",
|
||||
Description: "This permission allows creating new spaces.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// DeletePersonalSpacesPermission is the permission to delete personal spaces
|
||||
func DeletePersonalSpacesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "5de9fe0a-4bc5-4a47-b758-28f370caf169",
|
||||
Name: "Drives.DeletePersonal",
|
||||
DisplayName: "Delete All Home Spaces",
|
||||
Description: "This permission allows deleting home spaces.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_DELETE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// DeleteProjectSpacesPermission is the permission to delete project spaces
|
||||
func DeleteProjectSpacesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "fb60b004-c1fa-4f09-bf87-55ce7d46ac61",
|
||||
Name: "Drives.DeleteProject",
|
||||
DisplayName: "Delete AllSpaces",
|
||||
Description: "This permission allows deleting all spaces.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_DELETE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// DeleteReadOnlyPublicLinkPasswordPermission is the permission to delete read-only public link passwords
|
||||
func DeleteReadOnlyPublicLinkPasswordPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "e9a697c5-c67b-40fc-982b-bcf628e9916d",
|
||||
Name: "ReadOnlyPublicLinkPassword.Delete",
|
||||
DisplayName: "Delete Read-Only Public link password",
|
||||
Description: "This permission permits to opt out of a public link password enforcement.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SHARE,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_WRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// DisableEmailNotificationsPermission is the permission to disable email notifications
|
||||
func DisableEmailNotificationsPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "ad5bb5e5-dc13-4cd3-9304-09a424564ea8",
|
||||
Name: "EmailNotifications.ReadWriteDisabled",
|
||||
DisplayName: "Disable Email Notifications",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileDisableNotifications,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEmailSendingIntervalPermission is the permission to set the email sending interval
|
||||
func ProfileEmailSendingIntervalPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "7dc204ee-799a-43b6-b85d-425fb3b1fa5a",
|
||||
Name: "EmailSendingInterval.ReadWrite",
|
||||
DisplayName: "Email Sending Interval",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEmailSendingInterval,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventShareCreatedPermission is
|
||||
func ProfileEventShareCreatedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "8a50540c-1cdd-481f-b85f-44654393c8f0",
|
||||
Name: "Event.ShareCreated.ReadWrite",
|
||||
DisplayName: "Event Share Created",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventShareCreated,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventShareRemovedPermission is the permission to set the email sending interval
|
||||
func ProfileEventShareRemovedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "5ef55465-8e39-4a6c-ba97-1d19f5b07116",
|
||||
Name: "Event.ShareRemoved.ReadWrite",
|
||||
DisplayName: "Event Share Removed",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventShareRemoved,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventShareExpiredPermission is the permission to set the email sending interval
|
||||
func ProfileEventShareExpiredPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "7d4f961b-d471-451b-b1fd-ac6a9d59ce88",
|
||||
Name: "Event.ShareExpired.ReadWrite",
|
||||
DisplayName: "Event Share Expired",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventShareExpired,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventSpaceSharedPermission is the permission to set the email sending interval
|
||||
func ProfileEventSpaceSharedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "feb16d2c-614c-4f79-ac37-755a028f5616",
|
||||
Name: "Event.SpaceShared.ReadWrite",
|
||||
DisplayName: "Event Space Shared",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventSpaceShared,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventSpaceUnsharedPermission is the permission to set the email sending interval
|
||||
func ProfileEventSpaceUnsharedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "4f979732-631b-4f27-9be7-a89fb223a6d2",
|
||||
Name: "Event.SpaceUnshared.ReadWrite",
|
||||
DisplayName: "Event Space Unshared",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventSpaceUnshared,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventSpaceMembershipExpiredPermission is the permission to set the email sending interval
|
||||
func ProfileEventSpaceMembershipExpiredPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "a3cc45bf-9720-4e08-b403-b9133fe33f0b",
|
||||
Name: "Event.SpaceMembershipExpired.ReadWrite",
|
||||
DisplayName: "Event Space Membership Expired",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventSpaceMembershipExpired,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventSpaceDisabledPermission is the permission to set the email sending interval
|
||||
func ProfileEventSpaceDisabledPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "896194c2-5055-4ea3-94a3-0a1419187a00",
|
||||
Name: "Event.SpaceDisabled.ReadWrite",
|
||||
DisplayName: "Event Space Disabled",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventSpaceDisabled,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventSpaceDeletedPermission is the permission to set the email sending interval
|
||||
func ProfileEventSpaceDeletedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "2083c280-b140-4b73-a931-9a4af2931531",
|
||||
Name: "Event.SpaceDeleted.ReadWrite",
|
||||
DisplayName: "Event Space Deleted",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventSpaceDeleted,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ProfileEventPostprocessingStepFinishedPermission is the permission to set the email sending interval
|
||||
func ProfileEventPostprocessingStepFinishedPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "27ba8e97-0bdf-4b18-97d4-df44c9568cda",
|
||||
Name: "Event.PostprocessingStepFinished.ReadWrite",
|
||||
DisplayName: "Event Postprocessing Step Finished",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileEventPostprocessingStepFinished,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// GroupManagementPermission is the permission to manage groups
|
||||
func GroupManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "522adfbe-5908-45b4-b135-41979de73245",
|
||||
Name: "Groups.ReadWrite",
|
||||
DisplayName: "Group Management",
|
||||
Description: "This permission gives full access to everything that is related to group management.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_GROUP,
|
||||
Id: "all",
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// LanguageManagementPermission is the permission to manage the language
|
||||
func LanguageManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "7d81f103-0488-4853-bce5-98dcce36d649",
|
||||
Name: "Language.ReadWrite",
|
||||
DisplayName: "Permission to read and set the language",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SETTING,
|
||||
Id: SettingUUIDProfileLanguage,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ListFavoritesPermission is the permission to list favorites
|
||||
func ListFavoritesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "4ebaa725-bfaa-43c5-9817-78bc9994bde4",
|
||||
Name: "Favorites.List",
|
||||
DisplayName: "List Favorites",
|
||||
Description: "This permission allows listing favorites.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READ,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ListSpacesPermission is the permission to list spaces
|
||||
func ListSpacesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "016f6ddd-9501-4a0a-8ebe-64a20ee8ec82",
|
||||
Name: "Drives.List",
|
||||
DisplayName: "List All Spaces",
|
||||
Description: "This permission allows listing all spaces.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READ,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ManageSpacePropertiesPermission is the permission to manage space properties
|
||||
func ManageSpacePropertiesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "b44b4054-31a2-42b8-bb71-968b15cfbd4f",
|
||||
Name: "Drives.ReadWrite",
|
||||
DisplayName: "Manage space properties",
|
||||
Description: "This permission allows managing space properties such as name and description.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// RoleManagementPermission is the permission to manage roles
|
||||
func RoleManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "a53e601e-571f-4f86-8fec-d4576ef49c62",
|
||||
Name: "Roles.ReadWrite",
|
||||
DisplayName: "Role Management",
|
||||
Description: "This permission gives full access to everything that is related to role management.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
Id: "all",
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// SelfManagementPermission is the permission to manage itself
|
||||
func SelfManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "e03070e9-4362-4cc6-a872-1c7cb2eb2b8e",
|
||||
Name: "Self.ReadWrite",
|
||||
DisplayName: "Self Management",
|
||||
Description: "This permission gives access to self management.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
Id: "me",
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// SetPersonalSpaceQuotaPermission is the permission to set the quota for personal spaces
|
||||
func SetPersonalSpaceQuotaPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "4e6f9709-f9e7-44f1-95d4-b762d27b7896",
|
||||
Name: "Drives.ReadWritePersonalQuota",
|
||||
DisplayName: "Set Personal Space Quota",
|
||||
Description: "This permission allows managing personal space quotas.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// SetProjectSpaceQuotaPermission is the permission to set the quota for project spaces
|
||||
func SetProjectSpaceQuotaPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "977f0ae6-0da2-4856-93f3-22e0a8482489",
|
||||
Name: "Drives.ReadWriteProjectQuota",
|
||||
DisplayName: "Set Project Space Quota",
|
||||
Description: "This permission allows managing project space quotas.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// SettingsManagementPermission is the permission to manage settings
|
||||
func SettingsManagementPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "3d58f441-4a05-42f8-9411-ef5874528ae1",
|
||||
Name: "Settings.ReadWrite",
|
||||
DisplayName: "Settings Management",
|
||||
Description: "This permission gives full access to everything that is related to settings management.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_USER,
|
||||
Id: "all",
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// SpaceAbilityPermission is the permission to enable or disable spaces
|
||||
func SpaceAbilityPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "cf3faa8c-50d9-4f84-9650-ff9faf21aa9d",
|
||||
Name: "Drives.ReadWriteEnabled",
|
||||
DisplayName: "Space ability",
|
||||
Description: "This permission allows enabling and disabling spaces.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// WriteFavoritesPermission is the permission to mark/unmark files as favorites
|
||||
func WriteFavoritesPermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "a54778fd-1c45-47f0-892d-655caf5236f2",
|
||||
Name: "Favorites.Write",
|
||||
DisplayName: "Write Favorites",
|
||||
Description: "This permission allows marking files as favorites.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_FILE,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_WRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// WebOfficManagementPermssion is the permission to mark/unmark files as favorites
|
||||
func WebOfficeManagementPermssion(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
|
||||
return &settingsmsg.Setting{
|
||||
Id: "27a29046-a816-424f-bd71-2ffb9029162f",
|
||||
Name: "WebOffice.Manage",
|
||||
DisplayName: "Manage WebOffice",
|
||||
Description: "This permission gives access to the admin features in the WebOffice suite.",
|
||||
Resource: &settingsmsg.Resource{
|
||||
Type: settingsmsg.Resource_TYPE_SYSTEM,
|
||||
},
|
||||
Value: &settingsmsg.Setting_PermissionValue{
|
||||
PermissionValue: &settingsmsg.Permission{
|
||||
Operation: settingsmsg.Permission_OPERATION_READWRITE,
|
||||
Constraint: c,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package defaults
|
||||
|
||||
import "github.com/qsfera/server/pkg/l10n"
|
||||
|
||||
// Translatable configuration options
|
||||
var (
|
||||
// name of the notification option 'Share Received'
|
||||
TemplateShareCreated = l10n.Template("Share Received")
|
||||
// description of the notification option 'Share Received'
|
||||
TemplateShareCreatedDescription = l10n.Template("Notify when I have received a share")
|
||||
// name of the notification option 'Share Removed'
|
||||
TemplateShareRemoved = l10n.Template("Share Removed")
|
||||
// description of the notification option 'Share Removed'
|
||||
TemplateShareRemovedDescription = l10n.Template("Notify when a received share has been removed")
|
||||
// name of the notification option 'Share Expired'
|
||||
TemplateShareExpired = l10n.Template("Share Expired")
|
||||
// description of the notification option 'Share Expired'
|
||||
TemplateShareExpiredDescription = l10n.Template("Notify when a received share has expired")
|
||||
// name of the notification option 'Space Shared'
|
||||
TemplateSpaceShared = l10n.Template("Added as space member")
|
||||
// description of the notification option 'Space Shared'
|
||||
TemplateSpaceSharedDescription = l10n.Template("Notify when I have been added as a member to a space")
|
||||
// name of the notification option 'Space Unshared'
|
||||
TemplateSpaceUnshared = l10n.Template("Removed as space member")
|
||||
// description of the notification option 'Space Unshared'
|
||||
TemplateSpaceUnsharedDescription = l10n.Template("Notify when I have been removed as member from a space")
|
||||
// name of the notification option 'Space Membership Expired'
|
||||
TemplateSpaceMembershipExpired = l10n.Template("Space membership expired")
|
||||
// description of the notification option 'Space Membership Expired'
|
||||
TemplateSpaceMembershipExpiredDescription = l10n.Template("Notify when a space membership has expired")
|
||||
// name of the notification option 'Space Disabled'
|
||||
TemplateSpaceDisabled = l10n.Template("Space disabled")
|
||||
// description of the notification option 'Space Disabled'
|
||||
TemplateSpaceDisabledDescription = l10n.Template("Notify when a space I am member of has been disabled")
|
||||
// name of the notification option 'Space Deleted'
|
||||
TemplateSpaceDeleted = l10n.Template("Space deleted")
|
||||
// description of the notification option 'Space Deleted'
|
||||
TemplateSpaceDeletedDescription = l10n.Template("Notify when a space I am member of has been deleted")
|
||||
// name of the notification option 'File Rejected'
|
||||
TemplateFileRejected = l10n.Template("File rejected")
|
||||
// description of the notification option 'File Rejected'
|
||||
TemplateFileRejectedDescription = l10n.Template("Notify when a file I uploaded was rejected because of a virus infection or policy violation")
|
||||
// name of the notification option 'Email Interval'
|
||||
TemplateEmailSendingInterval = l10n.Template("Email sending interval")
|
||||
// description of the notification option 'Email Interval'
|
||||
TemplateEmailSendingIntervalDescription = l10n.Template("Selected value:")
|
||||
// translation for the 'instant' email interval option
|
||||
TemplateIntervalInstant = l10n.Template("Instant")
|
||||
// translation for the 'daily' email interval option
|
||||
TemplateIntervalDaily = l10n.Template("Daily")
|
||||
// translation for the 'weekly' email interval option
|
||||
TemplateIntervalWeekly = l10n.Template("Weekly")
|
||||
// translation for the 'never' email interval option
|
||||
TemplateIntervalNever = l10n.Template("Never")
|
||||
)
|
||||
Reference in New Issue
Block a user