public async Task HandleAsync(ClientTeamRequest request) { await listClientApi.CreateDocumentLibraryAsync(new CreateDocumentLibraryRequest { SiteUrl = request.SiteUrl, ListName = request.DocumentName }); await permissionClientApi.BreakPermissionsAsync(request.SiteUrl, request.DocumentName); await permissionClientApi.AddGroupAsync(new GroupPermissionRequest { SiteUrl = request.SiteUrl, GroupName = request.GroupName, Role = request.Role, GroupDescription = request.GroupName }); await permissionClientApi.AddUserToGroupAsync(new GroupPermissionRequest { SiteUrl = request.SiteUrl, GroupName = request.GroupName, Users = request.Users }); }
public async Task ExternalSharingAsync(ClientTeamRequest request) { var siteCollection = await siteCreation.CreateTeamSiteNoGroupAsync( new TeamSiteNoGroupRequest { Alias = request.SiteUrl, Title = request.SiteUrl, Language = Language.English, Owner = AppConfigurations.SpoUserAdmin }); var group = new GroupPermissionRequest { SiteUrl = siteCollection, GroupName = $"{request.SiteUrl} Clients", GroupDescription = "This is group for Client", Users = new[] { "*****@*****.**" }, }; await permissionClientApi.AddGroupAsync(group); await permissionClientApi.AddUserToGroupAsync(group); await fileClientApi.CreateFolderAsync(new CreateFolderRequest { SiteUrl = siteCollection, ListName = "Documents", FolderName = "Documents Client", IsSharing = true, TargerEmailToShare = group.GroupName, SharingOption = SharingDocumentOption.View }); }