Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions src/sdk/PnP.Core.Admin.Test/SharePoint/SiteCreationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using PnP.Core.Admin.Model.Teams;
using PnP.Core.Admin.Test.Utilities;
using PnP.Core.Model;
using PnP.Core.Model.Security;
using PnP.Core.Model.SharePoint;
using PnP.Core.QueryModel;
using PnP.Core.Services;
Expand Down Expand Up @@ -450,7 +451,7 @@ public async Task CreateTeamSiteUsingDelegatedPermissions()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
};


Expand Down Expand Up @@ -547,7 +548,7 @@ public async Task CreateTeamSiteAdvancedUsingDelegatedPermissions()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
SensitivityLabelId = sensitivityLabelId
};

Expand Down Expand Up @@ -627,7 +628,7 @@ public async Task CreateTeamSiteUsingApplicationPermissions()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
Owners = new string[] { user.UserPrincipalName }
};

Expand Down Expand Up @@ -706,7 +707,7 @@ public async Task CreateTeamSiteUsingEmptyDescriptionApplicationPermissions()
{
Description = "",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
Owners = new string[] { user.UserPrincipalName }
};

Expand Down Expand Up @@ -780,7 +781,7 @@ public async Task CreateTeamSiteUsingNoDescriptionApplicationPermissions()
teamSiteToCreate = new TeamSiteOptions(alias, "PnP Core SDK Test")
{
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
Owners = new string[] { user.UserPrincipalName }
};

Expand Down Expand Up @@ -862,7 +863,7 @@ public async Task CreateTeamSiteWithMembersUsingApplicationPermissions()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
Owners = new string[] { testOwner.UserPrincipalName },
Members = new string[] { testMember.UserPrincipalName }
};
Expand Down Expand Up @@ -983,7 +984,7 @@ public async Task CreateTeamSiteWithResourceBehaviorOptionsUsingApplicationPermi
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
Owners = new string[] { user.UserPrincipalName },
HideGroupInOutlook = true,
WelcomeEmailDisabled = true,
Expand Down Expand Up @@ -1325,7 +1326,7 @@ public async Task CreateRestoreDeleteGroupConnectedSiteUsingDelegatedPermissions
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
};

SiteCreationOptions siteCreationOptions = new SiteCreationOptions()
Expand Down Expand Up @@ -1661,7 +1662,7 @@ public async Task TeamifyTeamSiteUsingDelegatedPermissions()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
};


Expand Down
3 changes: 2 additions & 1 deletion src/sdk/PnP.Core.Admin.Test/SharePoint/SiteManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using PnP.Core.Admin.Model.SharePoint;
using PnP.Core.Admin.Test.Utilities;
using PnP.Core.Model;
using PnP.Core.Model.Security;
using PnP.Core.QueryModel;
using PnP.Core.Services;
using System;
Expand Down Expand Up @@ -1269,7 +1270,7 @@ public async Task SetSiteCollectionAdminsGroupSite()
{
Description = "This is a test site collection",
Language = Language.English,
IsPublic = true,
Visibility = GroupVisibility.Public,
};


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,11 @@ public class GraphGroupOptions
/// Allows defining creation options for SharePoint Site Creation
/// </summary>
public List<string> CreationOptions { get; set; }

/// <summary>
/// Option to add custom data to the post request for creating a group like the custom property for a EducationClass
/// </summary>
[JsonExtensionData]
public IDictionary<string, object> AdditionalData { get; set; } = null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ internal static async Task<PnPContext> ConnectGroupToSiteAsync(PnPContext contex
{
{ "displayName", siteToGroupify.DisplayName },
{ "alias", NormalizeSiteAlias(siteToGroupify.Alias) },
{ "isPublic", siteToGroupify.IsPublic }
{ "isPublic", siteToGroupify.Visibility == GroupVisibility.Public }
};

var optionalParams = new Dictionary<string, object>
Expand Down Expand Up @@ -198,12 +198,13 @@ private static async Task<PnPContext> CreateTeamSiteAsync(PnPContext context, Te
DisplayName = siteToCreate.DisplayName,
MailNickname = siteToCreate.Alias,
MailEnabled = true,
Visibility = siteToCreate.IsPublic ? GroupVisibility.Public.ToString() : GroupVisibility.Private.ToString(),
Visibility = siteToCreate.Visibility.ToString(),
GroupTypes = new List<string> { "Unified" },
Owners = siteToCreate.Owners,
Members = siteToCreate.Members,
ResourceBehaviorOptions = new List<string>(),
CreationOptions = new List<string>(),
AdditionalData = siteToCreate.AdditionalData
};

if (!string.IsNullOrEmpty(siteToCreate.Description))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using PnP.Core.Admin.Model.Microsoft365;
using PnP.Core.Model.Security;
using System;
using System.Collections.Generic;

namespace PnP.Core.Admin.Model.SharePoint
{
Expand Down Expand Up @@ -40,9 +42,9 @@ public CommonGroupSiteOptions(string alias, string displayName)
public string DisplayName { get; set; }

/// <summary>
/// Defines whether the Office 365 Group will be public (default), or private.
/// Defines whether the Office 365 Group will be public (default), or private or hiddenMembership.
/// </summary>
public bool IsPublic { get; set; } = true;
public GroupVisibility Visibility { get; set; } = GroupVisibility.Public;

/// <summary>
/// The description of the site to be created.
Expand Down Expand Up @@ -74,5 +76,10 @@ public CommonGroupSiteOptions(string alias, string displayName)
/// </summary>
public GeoLocation? PreferredDataLocation { get; set; }

/// <summary>
/// Option to add custom data to the post request for creating a group like the custom property for a EducationClass
/// </summary>
public IDictionary<string, object> AdditionalData { get; set; } = null;

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ public enum GroupVisibility
/// <summary>
/// Group is a hidden membership group
/// </summary>
Hiddenmembership
HiddenMembership
}
}
7 changes: 6 additions & 1 deletion src/sdk/PnP.Core/Model/Teams/Public/Enums/TeamVisibility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ public enum TeamVisibility
/// <summary>
/// Public team
/// </summary>
Public
Public,

/// <summary>
/// Team is a hidden membership Team
/// </summary>
HiddenMembership
}
}