|
49 | 49 | "type": "string"
|
50 | 50 | }
|
51 | 51 | },
|
| 52 | + "cursor": { |
| 53 | + "description": "A pagination cursor is returned on the first call of the pagination process. If given, it will start from the end of the previous position. If not given, a new pagination is started.", |
| 54 | + "in": "query", |
| 55 | + "name": "cursor", |
| 56 | + "schema": { |
| 57 | + "type": "string" |
| 58 | + } |
| 59 | + }, |
52 | 60 | "limit": {
|
53 | 61 | "description": "The maximum number of projects to return in the response. If not present, an appropriate default will be used. If maximum is exceeded, maximum is used.",
|
54 | 62 | "in": "query",
|
|
114 | 122 | "title": "CreateProjectRequest",
|
115 | 123 | "type": "object"
|
116 | 124 | },
|
| 125 | + "Cursor": { |
| 126 | + "description": "A pagination cursor is returned on the first call of the pagination process. If given, it will start from the end of the previous position. If not given, a new pagination is started.", |
| 127 | + "example": "string", |
| 128 | + "title": "cursor", |
| 129 | + "type": "string" |
| 130 | + }, |
117 | 131 | "ErrorResponse": {
|
118 | 132 | "properties": {
|
119 | 133 | "error": {
|
|
153 | 167 | "title": "ErrorResponse",
|
154 | 168 | "type": "object"
|
155 | 169 | },
|
| 170 | + "FolderResponse": { |
| 171 | + "properties": { |
| 172 | + "containerId": { |
| 173 | + "description": "Globally unique, user-friendly identifier.", |
| 174 | + "example": "first-folder-158955", |
| 175 | + "type": "string" |
| 176 | + }, |
| 177 | + "creationTime": { |
| 178 | + "description": "Timestamp at which the folder was created.", |
| 179 | + "example": "2021-08-24T14:15:22Z", |
| 180 | + "format": "date-time", |
| 181 | + "type": "string" |
| 182 | + }, |
| 183 | + "folderId": { |
| 184 | + "description": "Globally unique folder identifier.", |
| 185 | + "example": "54066bf4-1aff-4f7b-9f83-fb23c348fff3", |
| 186 | + "format": "uuid", |
| 187 | + "type": "string" |
| 188 | + }, |
| 189 | + "labels": { |
| 190 | + "$ref": "#/components/schemas/Labels" |
| 191 | + }, |
| 192 | + "name": { |
| 193 | + "description": "Folder name.", |
| 194 | + "example": "First Folder", |
| 195 | + "type": "string" |
| 196 | + }, |
| 197 | + "parent": { |
| 198 | + "$ref": "#/components/schemas/Parent" |
| 199 | + }, |
| 200 | + "updateTime": { |
| 201 | + "description": "Timestamp at which the folder was last modified.", |
| 202 | + "example": "2021-08-24T14:15:22Z", |
| 203 | + "format": "date-time", |
| 204 | + "type": "string" |
| 205 | + } |
| 206 | + }, |
| 207 | + "required": [ |
| 208 | + "name", |
| 209 | + "containerId", |
| 210 | + "folderId", |
| 211 | + "creationTime", |
| 212 | + "updateTime", |
| 213 | + "parent" |
| 214 | + ], |
| 215 | + "title": "FolderResponse", |
| 216 | + "type": "object" |
| 217 | + }, |
156 | 218 | "GetProjectResponse": {
|
157 | 219 | "properties": {
|
158 | 220 | "containerId": {
|
|
237 | 299 | "title": "Limit",
|
238 | 300 | "type": "number"
|
239 | 301 | },
|
| 302 | + "ListOrganizationContainersResponse": { |
| 303 | + "properties": { |
| 304 | + "cursor": { |
| 305 | + "$ref": "#/components/schemas/Cursor" |
| 306 | + }, |
| 307 | + "items": { |
| 308 | + "items": { |
| 309 | + "anyOf": [ |
| 310 | + { |
| 311 | + "properties": { |
| 312 | + "item": { |
| 313 | + "$ref": "#/components/schemas/FolderResponse" |
| 314 | + }, |
| 315 | + "type": { |
| 316 | + "description": "Resource container type.", |
| 317 | + "enum": [ |
| 318 | + "FOLDER" |
| 319 | + ], |
| 320 | + "example": "FOLDER", |
| 321 | + "type": "string" |
| 322 | + } |
| 323 | + }, |
| 324 | + "required": [ |
| 325 | + "type", |
| 326 | + "item" |
| 327 | + ] |
| 328 | + }, |
| 329 | + { |
| 330 | + "properties": { |
| 331 | + "item": { |
| 332 | + "$ref": "#/components/schemas/Project" |
| 333 | + }, |
| 334 | + "type": { |
| 335 | + "description": "Resource container type.", |
| 336 | + "enum": [ |
| 337 | + "PROJECT" |
| 338 | + ], |
| 339 | + "example": "PROJECT", |
| 340 | + "type": "string" |
| 341 | + } |
| 342 | + }, |
| 343 | + "required": [ |
| 344 | + "type", |
| 345 | + "item" |
| 346 | + ] |
| 347 | + } |
| 348 | + ], |
| 349 | + "type": "object" |
| 350 | + }, |
| 351 | + "type": "array" |
| 352 | + }, |
| 353 | + "limit": { |
| 354 | + "$ref": "#/components/schemas/Limit" |
| 355 | + } |
| 356 | + }, |
| 357 | + "required": [ |
| 358 | + "limit", |
| 359 | + "cursor", |
| 360 | + "items" |
| 361 | + ], |
| 362 | + "title": "ListOrganizationContainersResponse", |
| 363 | + "type": "object" |
| 364 | + }, |
240 | 365 | "ListOrganizationsResponse": {
|
241 | 366 | "properties": {
|
242 | 367 | "items": {
|
|
571 | 696 | },
|
572 | 697 | "openapi": "3.0.3",
|
573 | 698 | "paths": {
|
| 699 | + "/bff/folders/{id}/containers": { |
| 700 | + "get": { |
| 701 | + "description": "Returns all direct resource container under this folder including their metadata. \n- Response items will contain all folders first, followed by all projects\n- If a folder does not have any containers, an empty items list will be returned\n\n**Note:** Recursion is not supported - meaning only the next level in hierarchy tree is considered!", |
| 702 | + "operationId": "bff-get-containers-of-a-folder", |
| 703 | + "parameters": [ |
| 704 | + { |
| 705 | + "$ref": "#/components/parameters/limit" |
| 706 | + }, |
| 707 | + { |
| 708 | + "$ref": "#/components/parameters/cursor" |
| 709 | + } |
| 710 | + ], |
| 711 | + "responses": { |
| 712 | + "200": { |
| 713 | + "content": { |
| 714 | + "application/json": { |
| 715 | + "schema": { |
| 716 | + "$ref": "#/components/schemas/ListOrganizationContainersResponse" |
| 717 | + } |
| 718 | + } |
| 719 | + }, |
| 720 | + "description": "OK" |
| 721 | + }, |
| 722 | + "400": { |
| 723 | + "content": { |
| 724 | + "application/json": { |
| 725 | + "schema": { |
| 726 | + "$ref": "#/components/schemas/ErrorResponse" |
| 727 | + } |
| 728 | + } |
| 729 | + }, |
| 730 | + "description": "Malformed input" |
| 731 | + }, |
| 732 | + "401": { |
| 733 | + "content": { |
| 734 | + "application/json": { |
| 735 | + "schema": { |
| 736 | + "$ref": "#/components/schemas/ErrorResponse" |
| 737 | + } |
| 738 | + } |
| 739 | + }, |
| 740 | + "description": "Unauthorized" |
| 741 | + } |
| 742 | + }, |
| 743 | + "summary": "Get Containers Of A Folder" |
| 744 | + }, |
| 745 | + "parameters": [ |
| 746 | + { |
| 747 | + "description": "Folder identifier - UUID identifier is preferred; containerId is also supported.", |
| 748 | + "in": "path", |
| 749 | + "name": "id", |
| 750 | + "required": true, |
| 751 | + "schema": { |
| 752 | + "type": "string" |
| 753 | + } |
| 754 | + } |
| 755 | + ] |
| 756 | + }, |
| 757 | + "/bff/organizations/{id}/containers": { |
| 758 | + "get": { |
| 759 | + "description": "Returns all direct resource container under this organization including their metadata.\n- Response items will contain all folders first, followed by all projects\n- If organization does not have any containers, an empty items list will be returned", |
| 760 | + "operationId": "bff-get-containers-of-an-organization", |
| 761 | + "parameters": [ |
| 762 | + { |
| 763 | + "$ref": "#/components/parameters/limit" |
| 764 | + }, |
| 765 | + { |
| 766 | + "$ref": "#/components/parameters/cursor" |
| 767 | + } |
| 768 | + ], |
| 769 | + "responses": { |
| 770 | + "200": { |
| 771 | + "content": { |
| 772 | + "application/json": { |
| 773 | + "schema": { |
| 774 | + "$ref": "#/components/schemas/ListOrganizationContainersResponse" |
| 775 | + } |
| 776 | + } |
| 777 | + }, |
| 778 | + "description": "OK" |
| 779 | + }, |
| 780 | + "400": { |
| 781 | + "content": { |
| 782 | + "application/json": { |
| 783 | + "schema": { |
| 784 | + "$ref": "#/components/schemas/ErrorResponse" |
| 785 | + } |
| 786 | + } |
| 787 | + }, |
| 788 | + "description": "Malformed input" |
| 789 | + }, |
| 790 | + "401": { |
| 791 | + "content": { |
| 792 | + "application/json": { |
| 793 | + "schema": { |
| 794 | + "$ref": "#/components/schemas/ErrorResponse" |
| 795 | + } |
| 796 | + } |
| 797 | + }, |
| 798 | + "description": "Unauthorized" |
| 799 | + }, |
| 800 | + "404": { |
| 801 | + "content": { |
| 802 | + "application/json": { |
| 803 | + "examples": { |
| 804 | + "Organization Not Found": { |
| 805 | + "$ref": "#/components/examples/NotFound" |
| 806 | + } |
| 807 | + }, |
| 808 | + "schema": { |
| 809 | + "$ref": "#/components/schemas/ErrorResponse" |
| 810 | + } |
| 811 | + } |
| 812 | + }, |
| 813 | + "description": "Organization Not Found" |
| 814 | + } |
| 815 | + }, |
| 816 | + "summary": "Get Containers Of An Organization" |
| 817 | + }, |
| 818 | + "parameters": [ |
| 819 | + { |
| 820 | + "description": "Organization identifier - UUID identifier is preferred; containerId is also supported.", |
| 821 | + "in": "path", |
| 822 | + "name": "id", |
| 823 | + "required": true, |
| 824 | + "schema": { |
| 825 | + "type": "string" |
| 826 | + } |
| 827 | + } |
| 828 | + ] |
| 829 | + }, |
574 | 830 | "/v2/organizations": {
|
575 | 831 | "get": {
|
576 | 832 | "description": "Returns all organizations and their metadata.\n- If no containerIds are specified, all organizations are returned, if permitted\n- ContainerIds may be set to filter\n- Member may be set to filter\n- If member and containerIds are given, both are used for filtering\n",
|
|
0 commit comments