Skip to content

Commit d0b27dc

Browse files
feat: Anonymous guest permissions (#10726)
* Anonymous guest permissions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix channels dropdown Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update guest layout Signed-off-by: Artem Savchenko <armisav@gmail.com> --------- Signed-off-by: Artem Savchenko <armisav@gmail.com>
1 parent 4beee5c commit d0b27dc

37 files changed

Lines changed: 586 additions & 248 deletions

File tree

dev/docker-compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ services:
310310
- PAYMENT_URL=http://huly.local:3040
311311
- COMMUNICATION_API_ENABLED=true
312312
- BACKUP_URL=http://huly.local:4039/api/backup,
313-
- EXCLUDED_APPLICATIONS_FOR_ANONYMOUS=["chunter", "notification"]
313+
- EXCLUDED_APPLICATIONS_FOR_ANONYMOUS=[]
314314
# - DISABLE_SIGNUP=true
315315
- OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4318/v1/traces
316316
- PULSE_URL=ws://huly.local:8099/ws

dev/prod/public/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"BACKUP_URL": "http://huly.local:4039/api/backup",
3131
"PULSE_URL": "ws://huly.local:8099/ws",
3232
"HULYLAKE_URL": "http://huly.local:8096",
33-
"EXCLUDED_APPLICATIONS_FOR_ANONYMOUS": "[\"chunter\", \"notification\"]",
33+
"EXCLUDED_APPLICATIONS_FOR_ANONYMOUS": "[]",
3434
"ANALYTICS_COLLECTOR_URL": "http://huly.local:4017",
3535
"LINK_PREVIEW_URL": "http://huly.local:4041"
3636
}

models/card/src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,20 @@ export function createModel (builder: Builder): void {
947947
card.ids.ModulePermissionGroup
948948
)
949949

950+
builder.createDoc(
951+
core.class.ModulePermissionGroup,
952+
core.space.Model,
953+
{
954+
application: card.app.Card,
955+
role: AccountRole.ReadOnlyGuest,
956+
permissions: [],
957+
spaceClass: card.class.CardSpace,
958+
enabled: false,
959+
order: 20
960+
},
961+
card.ids.ModulePermissionGroupReadOnlyGuest
962+
)
963+
950964
builder.mixin(card.class.Card, core.class.Class, view.mixin.ClassFilters, {
951965
filters: ['space'],
952966
ignoreKeys: ['parent']

models/chunter/src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,20 @@ export function createModel (builder: Builder): void {
8383
chunter.ids.ModulePermissionGroup
8484
)
8585

86+
builder.createDoc(
87+
core.class.ModulePermissionGroup,
88+
core.space.Model,
89+
{
90+
application: chunter.app.Chunter,
91+
role: AccountRole.ReadOnlyGuest,
92+
permissions: [],
93+
spaceClass: chunter.class.ChunterSpace,
94+
enabled: true,
95+
order: 15
96+
},
97+
chunter.ids.ModulePermissionGroupReadOnlyGuest
98+
)
99+
86100
builder.createDoc(
87101
workbench.class.Widget,
88102
core.space.Model,

models/chunter/src/plugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ export default mergeIds(chunterId, chunter, {
9595
},
9696
ids: {
9797
ChunterNotificationGroup: '' as Ref<NotificationGroup>,
98-
ModulePermissionGroup: '' as Ref<Doc>
98+
ModulePermissionGroup: '' as Ref<Doc>,
99+
ModulePermissionGroupReadOnlyGuest: '' as Ref<Doc>
99100
},
100101
space: {
101102
General: '' as Ref<Channel>,

models/controlled-documents/src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,20 @@ export function createModel (builder: Builder): void {
11241124
},
11251125
documents.ids.ModulePermissionGroup
11261126
)
1127+
1128+
builder.createDoc(
1129+
core.class.ModulePermissionGroup,
1130+
core.space.Model,
1131+
{
1132+
application: documents.app.Documents,
1133+
role: AccountRole.ReadOnlyGuest,
1134+
permissions: [],
1135+
spaceClass: documents.class.OrgSpace,
1136+
enabled: false,
1137+
order: 42
1138+
},
1139+
documents.ids.ModulePermissionGroupReadOnlyGuest
1140+
)
11271141
definePermissions(builder)
11281142
defineNotifications(builder)
11291143
defineSearch(builder)

models/controlled-documents/src/plugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export default mergeIds(documentsId, documents, {
9393
StateNotification: '' as Ref<NotificationType>
9494
},
9595
ids: {
96-
ModulePermissionGroup: '' as Ref<Doc>
96+
ModulePermissionGroup: '' as Ref<Doc>,
97+
ModulePermissionGroupReadOnlyGuest: '' as Ref<Doc>
9798
}
9899
})

models/document/src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,20 @@ export function createModel (builder: Builder): void {
553553
},
554554
document.ids.ModulePermissionGroup
555555
)
556+
557+
builder.createDoc(
558+
core.class.ModulePermissionGroup,
559+
core.space.Model,
560+
{
561+
application: document.app.Documents,
562+
role: AccountRole.ReadOnlyGuest,
563+
permissions: [],
564+
spaceClass: document.class.Teamspace,
565+
enabled: false,
566+
order: 40
567+
},
568+
document.ids.ModulePermissionGroupReadOnlyGuest
569+
)
556570
definePermissions(builder)
557571

558572
builder.createDoc(core.class.DomainIndexConfiguration, core.space.Model, {

models/document/src/plugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ export default mergeIds(documentId, document, {
6262
Other: '' as Ref<TagCategory>
6363
},
6464
ids: {
65-
ModulePermissionGroup: '' as Ref<Doc>
65+
ModulePermissionGroup: '' as Ref<Doc>,
66+
ModulePermissionGroupReadOnlyGuest: '' as Ref<Doc>
6667
},
6768
string: {
6869
ConfigDescription: '' as IntlString,

models/drive/src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -855,5 +855,19 @@ export function createModel (builder: Builder): void {
855855
},
856856
drive.ids.ModulePermissionGroup
857857
)
858+
859+
builder.createDoc(
860+
core.class.ModulePermissionGroup,
861+
core.space.Model,
862+
{
863+
application: drive.app.Drive,
864+
role: AccountRole.ReadOnlyGuest,
865+
permissions: [],
866+
spaceClass: drive.class.Drive,
867+
enabled: false,
868+
order: 60
869+
},
870+
drive.ids.ModulePermissionGroupReadOnlyGuest
871+
)
858872
definePermissions(builder)
859873
}

0 commit comments

Comments
 (0)