Skip to content

Commit e95368b

Browse files
authored
Merge pull request #2588 from subray2014/users/subray/fixGroupPreApproval
Changing policy scope type in preapproval cmdlets.
2 parents 3506b48 + 01364b2 commit e95368b

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

src/Teams/beta/custom/TeamsAppPreApprovalPolicyConverter.cs

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@
1212
/// </summary>
1313
internal class TeamsAppPreApprovalPolicyConverter
1414
{
15+
/// <summary>
16+
/// Team Scope Type.
17+
/// </summary>
18+
private const string TeamScopeType = "team";
19+
20+
/// <summary>
21+
/// Chat scope type.
22+
/// </summary>
23+
private const string ChatScopeType = "chat";
24+
1525
/// <summary>
1626
/// Collection of RSC permissions.
1727
/// </summary>
@@ -109,7 +119,7 @@ internal async Task<MGTeamsInternalPermissionGrantPreApprovalPolicy> ConvertToPe
109119
await this.ValidateAndGetRscPermissionIds(resourceSpecificApplicationPermissionsAllowedForChats);
110120

111121
MGTeamsInternalPreapprovalDetail preapprovalDetail = new MGTeamsInternalPreapprovalDetail(
112-
scopeType: "chat",
122+
scopeType: TeamsAppPreApprovalPolicyConverter.ChatScopeType,
113123
sensitivityLabels: new MGTeamsInternalAllScopeSensitivityLabels(),
114124
permissions: new MGTeamsInternalEnumeratedPreApprovedPermissions(chatRscPermissionIds));
115125

@@ -122,7 +132,7 @@ internal async Task<MGTeamsInternalPermissionGrantPreApprovalPolicy> ConvertToPe
122132
await this.ValidateAndGetRscPermissionIds(resourceSpecificApplicationPermissionsAllowedForTeams);
123133

124134
MGTeamsInternalPreapprovalDetail preapprovalDetail = new MGTeamsInternalPreapprovalDetail(
125-
scopeType: "group",
135+
scopeType: TeamsAppPreApprovalPolicyConverter.TeamScopeType,
126136
sensitivityLabels: this.GetTeamSensitivityLabelsForPreApprovalDetail(
127137
teamLevelSensitivityLabelSelectionMode,
128138
specificSensitivityLabelIdsApplicableToTeams),
@@ -159,41 +169,41 @@ internal async Task<IMicrosoftGraphTeamsAppPreApproval> ConvertToTeamsAppPreAppr
159169
$"Unsupported scenario. Preapproval policy '{permissionGrantPreApprovalPolicy.Id}' has more than 2 conditions.");
160170
}
161171

162-
MGTeamsInternalPreapprovalDetail groupCondition =
163-
permissionGrantPreApprovalPolicy.Conditions.FirstOrDefault(c => string.Equals(c.ScopeType, "group"));
172+
MGTeamsInternalPreapprovalDetail teamCondition =
173+
permissionGrantPreApprovalPolicy.Conditions.FirstOrDefault(c => string.Equals(c.ScopeType, TeamsAppPreApprovalPolicyConverter.TeamScopeType));
164174

165175
MGTeamsInternalPreapprovalDetail chatCondition =
166-
permissionGrantPreApprovalPolicy.Conditions.FirstOrDefault(c => string.Equals(c.ScopeType, "chat"));
176+
permissionGrantPreApprovalPolicy.Conditions.FirstOrDefault(c => string.Equals(c.ScopeType, TeamsAppPreApprovalPolicyConverter.ChatScopeType));
167177

168-
if (permissionGrantPreApprovalPolicy.Conditions.Any(c => c != groupCondition && c != chatCondition))
178+
if (permissionGrantPreApprovalPolicy.Conditions.Any(c => c != teamCondition && c != chatCondition))
169179
{
170180
throw new MGTeamsInternalException(
171181
MGTeamsInternalErrorType.UnsupportedScenario,
172182
$"Unsupported scenario. Preapproval policy '{permissionGrantPreApprovalPolicy.Id}' has unsupported conditions.");
173183
}
174184

175-
if (groupCondition != null)
185+
if (teamCondition != null)
176186
{
177-
if (string.Equals(groupCondition.SensitivityLabels.OdataType, "#microsoft.graph.allScopeSensitivityLabels", System.StringComparison.OrdinalIgnoreCase))
187+
if (string.Equals(teamCondition.SensitivityLabels.OdataType, "#microsoft.graph.allScopeSensitivityLabels", System.StringComparison.OrdinalIgnoreCase))
178188
{
179189
teamsAppPreApproval.TeamLevelSensitivityLabelCondition = MicrosoftGraphSensitivityLabelCondition.AnySensitivityLabel;
180190
}
181-
else if (string.Equals(groupCondition.SensitivityLabels.OdataType, "#microsoft.graph.enumeratedScopeSensitivityLabels", System.StringComparison.OrdinalIgnoreCase))
191+
else if (string.Equals(teamCondition.SensitivityLabels.OdataType, "#microsoft.graph.enumeratedScopeSensitivityLabels", System.StringComparison.OrdinalIgnoreCase))
182192
{
183193
teamsAppPreApproval.TeamLevelSensitivityLabelCondition = MicrosoftGraphSensitivityLabelCondition.SpecificSensivityLabel;
184194
MGTeamsInternalEnumeratedScopeSensitivityLabels mGTeamsInternalEnumeratedScopeSensitivityLabels =
185-
groupCondition.SensitivityLabels as MGTeamsInternalEnumeratedScopeSensitivityLabels;
195+
teamCondition.SensitivityLabels as MGTeamsInternalEnumeratedScopeSensitivityLabels;
186196
teamsAppPreApproval.SpecificSensitivityLabelIdsApplicableToTeams = mGTeamsInternalEnumeratedScopeSensitivityLabels.SensitivityLabels.ToArray();
187197
}
188198
else
189199
{
190200
throw new MGTeamsInternalException(
191201
MGTeamsInternalErrorType.UnsupportedScenario,
192-
$"Unsupported team scope sensitivity label type '{groupCondition.SensitivityLabels.OdataType}' in preapproval policy '{permissionGrantPreApprovalPolicy.Id}'.");
202+
$"Unsupported team scope sensitivity label type '{teamCondition.SensitivityLabels.OdataType}' in preapproval policy '{permissionGrantPreApprovalPolicy.Id}'.");
193203
}
194204

195205
MGTeamsInternalEnumeratedPreApprovedPermissions mGTeamsInternalEnumeratedPreApprovedPermissions =
196-
groupCondition.Permissions as MGTeamsInternalEnumeratedPreApprovedPermissions;
206+
teamCondition.Permissions as MGTeamsInternalEnumeratedPreApprovedPermissions;
197207
if (mGTeamsInternalEnumeratedPreApprovedPermissions != null)
198208
{
199209
teamsAppPreApproval.ResourceSpecificApplicationPermissionsAllowedForTeams =
@@ -203,7 +213,7 @@ internal async Task<IMicrosoftGraphTeamsAppPreApproval> ConvertToTeamsAppPreAppr
203213
{
204214
throw new MGTeamsInternalException(
205215
MGTeamsInternalErrorType.UnsupportedScenario,
206-
$"Unsupported permission type '{groupCondition.Permissions.OdataType}' in preapproval policy '{permissionGrantPreApprovalPolicy.Id}'.");
216+
$"Unsupported permission type '{teamCondition.Permissions.OdataType}' in preapproval policy '{permissionGrantPreApprovalPolicy.Id}'.");
207217
}
208218
}
209219

0 commit comments

Comments
 (0)