1774 extensibility v1 create an exhaustive documentation readme or dedicated section in twenty contributing doc (#16751)

As title

<img width="1108" height="894" alt="image"
src="https://github.com/user-attachments/assets/e2dc7e12-72e3-4ca3-ac7b-a94de547f82a"
/>
This commit is contained in:
martmull
2025-12-22 15:19:11 +01:00
committed by GitHub
parent 50b0665c44
commit bb73cbc380
25 changed files with 669 additions and 283 deletions
@@ -13,5 +13,4 @@ export const FLAT_ROLE_EDITABLE_PROPERTIES: (keyof FlatRole)[] = [
'canBeAssignedToUsers',
'canBeAssignedToAgents',
'canBeAssignedToApiKeys',
'canBeAssignedToApplications',
];
@@ -44,8 +44,6 @@ export const fromCreateRoleInputToFlatRoleToCreate = ({
canBeAssignedToUsers: createRoleInput.canBeAssignedToUsers ?? true,
canBeAssignedToAgents: createRoleInput.canBeAssignedToAgents ?? true,
canBeAssignedToApiKeys: createRoleInput.canBeAssignedToApiKeys ?? true,
canBeAssignedToApplications:
createRoleInput.canBeAssignedToApplications ?? true,
isEditable: true,
workspaceId,
createdAt: now,
@@ -18,7 +18,6 @@ export const fromRoleEntityToFlatRole = (role: RoleEntity): FlatRole => {
canBeAssignedToUsers: role.canBeAssignedToUsers,
canBeAssignedToAgents: role.canBeAssignedToAgents,
canBeAssignedToApiKeys: role.canBeAssignedToApiKeys,
canBeAssignedToApplications: role.canBeAssignedToApplications,
workspaceId: role.workspaceId,
createdAt: role.createdAt.toISOString(),
updatedAt: role.updatedAt.toISOString(),
@@ -70,9 +70,4 @@ export class CreateRoleInput {
@IsOptional()
@Field({ nullable: true })
canBeAssignedToApiKeys?: boolean;
@IsBoolean()
@IsOptional()
@Field({ nullable: true })
canBeAssignedToApplications?: boolean;
}
@@ -71,11 +71,6 @@ export class UpdateRolePayload {
@IsOptional()
@Field({ nullable: true })
canBeAssignedToApiKeys?: boolean;
@IsBoolean()
@IsOptional()
@Field({ nullable: true })
canBeAssignedToApplications?: boolean;
}
@InputType()
@@ -73,9 +73,6 @@ export class RoleEntity extends SyncableEntity implements Required<RoleEntity> {
@Column({ nullable: false, default: true })
canBeAssignedToApiKeys: boolean;
@Column({ nullable: false, default: true })
canBeAssignedToApplications: boolean;
@OneToMany(
() => RoleTargetEntity,
(roleTargets: RoleTargetEntity) => roleTargets.role,