feat(api): add space roles with delegated member removal and structure management

This commit is contained in:
justme committed 2026-10-16 19:42:31 +08:00
1 parent 059a29a8d5
commit 1dd54243ae
12 files changed
+551 -19

No files matched your search

+153 -2
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"x-backend-contract-sha256": "22853abd6c1bf74053682018cd214fecb34c664e4abe043a15c1595566419350",
"x-backend-contract-sha256": "2a28bf52c136caa7c0b86fc2630153cb71529e3c5d85c3b7196e9d9a04d63b75",
"$defs": {
"AccountChannelBody": {
"type": "object",
@@ -1898,6 +1898,146 @@
"name"
]
},
"WorkspaceRoleCreatedBody": {
"type": "object",
"properties": {
"role": {
"$ref": "#/$defs/WorkspaceRole"
},
"workspace": {
"$ref": "#/$defs/WorkspaceBody"
}
},
"required": [
"role",
"workspace"
]
},
"WorkspaceRole": {
"type": "object",
"properties": {
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "integer"
},
"id": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"prefix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"suffix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"createdAt",
"id",
"members",
"name",
"permissions"
]
},
"WorkspaceRoleMembersRequest": {
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"members"
]
},
"WorkspaceRoleRequest": {
"type": "object",
"properties": {
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"prefix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"suffix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"permissions"
]
},
"WorkspaceState": {
"type": "object",
"properties": {
@@ -1937,6 +2077,15 @@
},
"revision": {
"type": "integer"
},
"roles": {
"type": "array",
"items": {
"$ref": "#/$defs/WorkspaceRole"
}
},
"rolesSeeded": {
"type": "boolean"
}
},
"required": [
@@ -1944,7 +2093,9 @@
"folders",
"groups",
"locations",
"revision"
"revision",
"roles",
"rolesSeeded"
]
},
"WorkspaceFolder": {