feat: v2 membership attributes (#21131)

* refactor: getByUserId.handler.ts

* feat: return org membership attributes

* docs

* export new library function

* test: attributes

* chore: bump libraries

* refactor: value -> option
This commit is contained in:
Lauris Skraucis
2025-05-08 23:37:24 +01:00
committed by GitHub
parent ae2d85d81b
commit dddbd7dad4
20 changed files with 4258 additions and 136 deletions
+162 -7
View File
@@ -16962,6 +16962,114 @@
"type": "object",
"properties": {}
},
"BaseAttribute": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": ["id", "name"]
},
"TextAttribute": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"valueId": {
"type": "string"
}
},
"required": ["id", "name", "type", "value", "valueId"]
},
"NumberAttribute": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "number"
},
"valueId": {
"type": "string"
}
},
"required": ["id", "name", "type", "value", "valueId"]
},
"SingleSelectAttribute": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"valueId": {
"type": "string"
}
},
"required": ["id", "name", "type", "value", "valueId"]
},
"MultiSelectAttributeValue": {
"type": "object",
"properties": {
"valueId": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": ["valueId", "value"]
},
"MultiSelectAttribute": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultiSelectAttributeValue"
}
}
},
"required": ["id", "name", "type", "values"]
},
"MembershipUserOutputDto": {
"type": "object",
"properties": {
@@ -16989,7 +17097,7 @@
},
"required": ["email"]
},
"TeamMembershipOutput": {
"OrganizationMembershipOutput": {
"type": "object",
"properties": {
"id": {
@@ -17013,9 +17121,28 @@
},
"user": {
"$ref": "#/components/schemas/MembershipUserOutputDto"
},
"attributes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/TextAttribute"
},
{
"$ref": "#/components/schemas/NumberAttribute"
},
{
"$ref": "#/components/schemas/SingleSelectAttribute"
},
{
"$ref": "#/components/schemas/MultiSelectAttribute"
}
]
}
}
},
"required": ["id", "userId", "teamId", "accepted", "role", "user"]
"required": ["id", "userId", "teamId", "accepted", "role", "user", "attributes"]
},
"GetAllOrgMemberships": {
"type": "object",
@@ -17026,7 +17153,7 @@
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/TeamMembershipOutput"
"$ref": "#/components/schemas/OrganizationMembershipOutput"
}
},
"required": ["status", "data"]
@@ -17063,7 +17190,7 @@
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/TeamMembershipOutput"
"$ref": "#/components/schemas/OrganizationMembershipOutput"
}
},
"required": ["status", "data"]
@@ -17077,7 +17204,7 @@
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/TeamMembershipOutput"
"$ref": "#/components/schemas/OrganizationMembershipOutput"
}
},
"required": ["status", "data"]
@@ -17091,7 +17218,7 @@
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/TeamMembershipOutput"
"$ref": "#/components/schemas/OrganizationMembershipOutput"
}
},
"required": ["status", "data"]
@@ -17120,7 +17247,7 @@
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/TeamMembershipOutput"
"$ref": "#/components/schemas/OrganizationMembershipOutput"
}
},
"required": ["status", "data"]
@@ -18249,6 +18376,34 @@
},
"required": ["status", "data"]
},
"TeamMembershipOutput": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userId": {
"type": "number"
},
"teamId": {
"type": "number"
},
"accepted": {
"type": "boolean"
},
"role": {
"type": "string",
"enum": ["MEMBER", "OWNER", "ADMIN"]
},
"disableImpersonation": {
"type": "boolean"
},
"user": {
"$ref": "#/components/schemas/MembershipUserOutputDto"
}
},
"required": ["id", "userId", "teamId", "accepted", "role", "user"]
},
"OrgTeamMembershipsOutputResponseDto": {
"type": "object",
"properties": {