Skip to content

Commit c1699fe

Browse files
FrostyApeOneFrostyApeOne
authored andcommitted
Added new FlexForms contracts
1 parent ad7755f commit c1699fe

5 files changed

Lines changed: 65 additions & 0 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Models.Request;
2+
3+
/// <summary>
4+
/// Creates a custom tenant role (non-system).
5+
/// </summary>
6+
public class CreateTenantRoleRequest
7+
{
8+
public string Name { get; set; } = null!;
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Models.Request;
2+
3+
/// <summary>
4+
/// Renames a custom tenant role.
5+
/// </summary>
6+
public class RenameTenantRoleRequest
7+
{
8+
public string Name { get; set; } = null!;
9+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Enums;
2+
3+
namespace GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Models.Request;
4+
5+
/// <summary>
6+
/// A single permission grant to attach to a role.
7+
/// </summary>
8+
public class RolePermissionGrantDto
9+
{
10+
public ResourceType ResourceType { get; set; }
11+
public string ResourceKey { get; set; } = null!;
12+
public AccessType AccessType { get; set; }
13+
}
14+
15+
/// <summary>
16+
/// Replaces the full set of permissions on a tenant role.
17+
/// </summary>
18+
public class SetRolePermissionsRequest
19+
{
20+
public IReadOnlyCollection<RolePermissionGrantDto> Permissions { get; set; }
21+
= Array.Empty<RolePermissionGrantDto>();
22+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Enums;
2+
3+
namespace GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Models.Response;
4+
5+
/// <summary>
6+
/// A permission grant attached to a role.
7+
/// </summary>
8+
public class RolePermissionDto
9+
{
10+
public Guid RolePermissionId { get; set; }
11+
public ResourceType ResourceType { get; set; }
12+
public string ResourceKey { get; set; } = null!;
13+
public AccessType AccessType { get; set; }
14+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace GovUK.Dfe.CoreLibs.Contracts.ExternalApplications.Models.Response;
2+
3+
/// <summary>
4+
/// Tenant-scoped role summary.
5+
/// </summary>
6+
public class TenantRoleDto
7+
{
8+
public Guid RoleId { get; set; }
9+
public string Name { get; set; } = null!;
10+
public bool IsSystem { get; set; }
11+
}

0 commit comments

Comments
 (0)