From 10453e952b4cc7e70db59bf68a1183080b900fd4 Mon Sep 17 00:00:00 2001 From: anarsultanov Date: Thu, 12 Dec 2024 17:07:34 +0000 Subject: [PATCH] chore: Set version to 25.2.0 --- docs/openapi.json | 409 +++++++++++++++++++++++----------------------- docs/openapi.yaml | 295 ++++++++++++++++----------------- pom.xml | 2 +- 3 files changed, 354 insertions(+), 352 deletions(-) diff --git a/docs/openapi.json b/docs/openapi.json index a5d6d0e..febeabe 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -1,37 +1,132 @@ { - "openapi" : "3.0.3", - "info" : { - "title" : "Keycloak Multi-Tenancy", - "version" : "25.1.0" + "openapi" : "3.1.0", + "components" : { + "schemas" : { + "TenantInvitationRepresentation" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string", + "readOnly" : true + }, + "tenantId" : { + "type" : "string", + "readOnly" : true + }, + "email" : { + "type" : "string" + }, + "locale" : { + "type" : "string" + }, + "roles" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } + }, + "invitedBy" : { + "type" : "string", + "readOnly" : true + } + }, + "required" : [ "email", "roles" ] + }, + "TenantMembershipRepresentation" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string", + "readOnly" : true + }, + "user" : { + "type" : "object", + "readOnly" : true, + "properties" : { + "id" : { + "type" : "string" + }, + "createdTimestamp" : { + "type" : "number" + }, + "username" : { + "type" : "string" + }, + "enabled" : { + "type" : "boolean" + }, + "firstName" : { + "type" : "string" + }, + "lastName" : { + "type" : "string" + }, + "email" : { + "type" : "string" + }, + "emailVerified" : { + "type" : "boolean" + }, + "federationLink" : { + "type" : "string" + } + } + }, + "roles" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } + } + }, + "required" : [ "roles" ] + }, + "TenantRepresentation" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string", + "readOnly" : true + }, + "name" : { + "type" : "string" + }, + "realm" : { + "type" : "string", + "readOnly" : true + } + }, + "required" : [ "name" ] + } + } }, - "servers" : [ { - "url" : "{{keycloakUrl}}/auth/realms/{{realmName}}" - } ], "paths" : { "/tenants" : { "get" : { "summary" : "List tenants", "operationId" : "listTenants", "parameters" : [ { + "description" : "Pagination offset", "name" : "first", "in" : "query", - "description" : "Pagination offset", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Maximum results size (defaults to 100)", "name" : "max", "in" : "query", - "description" : "Maximum results size (defaults to 100)", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Tenant name", "name" : "search", "in" : "query", - "description" : "Tenant name", "schema" : { "type" : "string" } @@ -59,14 +154,14 @@ "summary" : "Create a tenant", "operationId" : "createTenant", "requestBody" : { + "required" : true, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TenantRepresentation" } } - }, - "required" : true + } }, "responses" : { "201" : { @@ -82,6 +177,42 @@ } }, "/tenants/{tenantId}" : { + "parameters" : [ { + "name" : "tenantId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "put" : { + "summary" : "Update tenant", + "operationId" : "updateTenant", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TenantRepresentation" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "description" : "No Content" + }, + "401" : { + "description" : "Unauthorized" + }, + "403" : { + "description" : "Forbidden" + }, + "404" : { + "description" : "Not Found" + } + } + }, "get" : { "summary" : "Get tenant", "operationId" : "getTenant", @@ -91,7 +222,6 @@ "content" : { "application/json" : { "schema" : { - "required" : [ "name" ], "type" : "object", "properties" : { "id" : { @@ -105,7 +235,8 @@ "type" : "string", "readOnly" : true } - } + }, + "required" : [ "name" ] } } } @@ -121,33 +252,6 @@ } } }, - "put" : { - "summary" : "Update tenant", - "operationId" : "updateTenant", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/TenantRepresentation" - } - } - } - }, - "responses" : { - "204" : { - "description" : "No Content" - }, - "401" : { - "description" : "Unauthorized" - }, - "403" : { - "description" : "Forbidden" - }, - "404" : { - "description" : "Not Found" - } - } - }, "delete" : { "summary" : "Delete tenant", "operationId" : "deleteTenant", @@ -162,7 +266,9 @@ "description" : "Forbidden" } } - }, + } + }, + "/tenants/{tenantId}/invitations" : { "parameters" : [ { "name" : "tenantId", "in" : "path", @@ -170,32 +276,30 @@ "schema" : { "type" : "string" } - } ] - }, - "/tenants/{tenantId}/invitations" : { + } ], "get" : { "summary" : "List invitations", "operationId" : "listInvitations", "parameters" : [ { + "description" : "Pagination offset", "name" : "first", "in" : "query", - "description" : "Pagination offset", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Maximum results size (defaults to 100)", "name" : "max", "in" : "query", - "description" : "Maximum results size (defaults to 100)", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Invitee email", "name" : "search", "in" : "query", - "description" : "Invitee email", "schema" : { "type" : "string" } @@ -226,14 +330,14 @@ "summary" : "Create invitation", "operationId" : "createInvitation", "requestBody" : { + "required" : true, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TenantInvitationRepresentation" } } - }, - "required" : true + } }, "responses" : { "201" : { @@ -246,7 +350,9 @@ "description" : "Forbidden" } } - }, + } + }, + "/tenants/{tenantId}/invitations/{invitationId}" : { "parameters" : [ { "name" : "tenantId", "in" : "path", @@ -254,9 +360,7 @@ "schema" : { "type" : "string" } - } ] - }, - "/tenants/{tenantId}/invitations/{invitationId}" : { + } ], "delete" : { "summary" : "Revoke invitation", "operationId" : "revokeInvitation", @@ -282,7 +386,9 @@ "description" : "Not Found" } } - }, + } + }, + "/tenants/{tenantId}/memberships" : { "parameters" : [ { "name" : "tenantId", "in" : "path", @@ -290,32 +396,30 @@ "schema" : { "type" : "string" } - } ] - }, - "/tenants/{tenantId}/memberships" : { + } ], "get" : { "summary" : "List tenant memberships", "operationId" : "listMemberships", "parameters" : [ { + "description" : "Pagination offset", "name" : "first", "in" : "query", - "description" : "Pagination offset", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Maximum results size (defaults to 100)", "name" : "max", "in" : "query", - "description" : "Maximum results size (defaults to 100)", "schema" : { - "format" : "int32", - "type" : "integer" + "type" : "integer", + "format" : "int32" } }, { + "description" : "Member email", "name" : "search", "in" : "query", - "description" : "Member email", "schema" : { "type" : "string" } @@ -341,7 +445,9 @@ "description" : "Forbidden" } } - }, + } + }, + "/tenants/{tenantId}/memberships/{membershipId}" : { "parameters" : [ { "name" : "tenantId", "in" : "path", @@ -349,12 +455,10 @@ "schema" : { "type" : "string" } - } ] - }, - "/tenants/{tenantId}/memberships/{membershipId}" : { - "delete" : { - "summary" : "Revoke tenant membership", - "operationId" : "revokeMembership", + } ], + "patch" : { + "summary" : "Update tenant membership", + "operationId" : "updateMembership", "parameters" : [ { "name" : "membershipId", "in" : "path", @@ -363,6 +467,16 @@ "type" : "string" } } ], + "requestBody" : { + "required" : true, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TenantMembershipRepresentation" + } + } + } + }, "responses" : { "204" : { "description" : "No Content" @@ -378,9 +492,9 @@ } } }, - "patch" : { - "summary" : "Update tenant membership", - "operationId" : "updateMembership", + "delete" : { + "summary" : "Revoke tenant membership", + "operationId" : "revokeMembership", "parameters" : [ { "name" : "membershipId", "in" : "path", @@ -389,16 +503,6 @@ "type" : "string" } } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/TenantMembershipRepresentation" - } - } - }, - "required" : true - }, "responses" : { "204" : { "description" : "No Content" @@ -413,117 +517,14 @@ "description" : "Not Found" } } - }, - "parameters" : [ { - "name" : "tenantId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ] - } - }, - "components" : { - "schemas" : { - "TenantInvitationRepresentation" : { - "required" : [ "email", "roles" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "readOnly" : true - }, - "tenantId" : { - "type" : "string", - "readOnly" : true - }, - "email" : { - "type" : "string" - }, - "locale" : { - "type" : "string" - }, - "roles" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "type" : "string" - } - }, - "invitedBy" : { - "type" : "string", - "readOnly" : true - } - } - }, - "TenantMembershipRepresentation" : { - "required" : [ "roles" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "readOnly" : true - }, - "user" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "string" - }, - "createdTimestamp" : { - "type" : "number" - }, - "username" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "firstName" : { - "type" : "string" - }, - "lastName" : { - "type" : "string" - }, - "email" : { - "type" : "string" - }, - "emailVerified" : { - "type" : "boolean" - }, - "federationLink" : { - "type" : "string" - } - }, - "readOnly" : true - }, - "roles" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "TenantRepresentation" : { - "required" : [ "name" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string", - "readOnly" : true - }, - "name" : { - "type" : "string" - }, - "realm" : { - "type" : "string", - "readOnly" : true - } - } } } - } + }, + "info" : { + "title" : "Keycloak Multi-Tenancy", + "version" : "25.2.0" + }, + "servers" : [ { + "url" : "{{keycloakUrl}}/auth/realms/{{realmName}}" + } ] } \ No newline at end of file diff --git a/docs/openapi.yaml b/docs/openapi.yaml index e043e83..5b2851e 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,31 +1,100 @@ --- -openapi: 3.0.3 -info: - title: Keycloak Multi-Tenancy - version: 25.1.0 -servers: -- url: "{{keycloakUrl}}/auth/realms/{{realmName}}" +openapi: 3.1.0 +components: + schemas: + TenantInvitationRepresentation: + type: object + properties: + id: + type: string + readOnly: true + tenantId: + type: string + readOnly: true + email: + type: string + locale: + type: string + roles: + type: array + uniqueItems: true + items: + type: string + invitedBy: + type: string + readOnly: true + required: + - email + - roles + TenantMembershipRepresentation: + type: object + properties: + id: + type: string + readOnly: true + user: + type: object + readOnly: true + properties: + id: + type: string + createdTimestamp: + type: number + username: + type: string + enabled: + type: boolean + firstName: + type: string + lastName: + type: string + email: + type: string + emailVerified: + type: boolean + federationLink: + type: string + roles: + type: array + uniqueItems: true + items: + type: string + required: + - roles + TenantRepresentation: + type: object + properties: + id: + type: string + readOnly: true + name: + type: string + realm: + type: string + readOnly: true + required: + - name paths: /tenants: get: summary: List tenants operationId: listTenants parameters: - - name: first + - description: Pagination offset + name: first in: query - description: Pagination offset schema: - format: int32 type: integer - - name: max + format: int32 + - description: Maximum results size (defaults to 100) + name: max in: query - description: Maximum results size (defaults to 100) schema: - format: int32 type: integer - - name: search + format: int32 + - description: Tenant name + name: search in: query - description: Tenant name schema: type: string responses: @@ -43,11 +112,11 @@ paths: summary: Create a tenant operationId: createTenant requestBody: + required: true content: application/json: schema: $ref: "#/components/schemas/TenantRepresentation" - required: true responses: "201": description: Created @@ -56,6 +125,30 @@ paths: "403": description: Forbidden /tenants/{tenantId}: + parameters: + - name: tenantId + in: path + required: true + schema: + type: string + put: + summary: Update tenant + operationId: updateTenant + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TenantRepresentation" + required: true + responses: + "204": + description: No Content + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found get: summary: Get tenant operationId: getTenant @@ -65,8 +158,6 @@ paths: content: application/json: schema: - required: - - name type: object properties: id: @@ -77,23 +168,8 @@ paths: realm: type: string readOnly: true - "401": - description: Unauthorized - "403": - description: Forbidden - "404": - description: Not Found - put: - summary: Update tenant - operationId: updateTenant - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/TenantRepresentation" - responses: - "204": - description: No Content + required: + - name "401": description: Unauthorized "403": @@ -110,32 +186,32 @@ paths: description: Unauthorized "403": description: Forbidden + /tenants/{tenantId}/invitations: parameters: - name: tenantId in: path required: true schema: type: string - /tenants/{tenantId}/invitations: get: summary: List invitations operationId: listInvitations parameters: - - name: first + - description: Pagination offset + name: first in: query - description: Pagination offset schema: - format: int32 type: integer - - name: max + format: int32 + - description: Maximum results size (defaults to 100) + name: max in: query - description: Maximum results size (defaults to 100) schema: - format: int32 type: integer - - name: search + format: int32 + - description: Invitee email + name: search in: query - description: Invitee email schema: type: string responses: @@ -155,11 +231,11 @@ paths: summary: Create invitation operationId: createInvitation requestBody: + required: true content: application/json: schema: $ref: "#/components/schemas/TenantInvitationRepresentation" - required: true responses: "201": description: Created @@ -167,13 +243,13 @@ paths: description: Unauthorized "403": description: Forbidden + /tenants/{tenantId}/invitations/{invitationId}: parameters: - name: tenantId in: path required: true schema: type: string - /tenants/{tenantId}/invitations/{invitationId}: delete: summary: Revoke invitation operationId: revokeInvitation @@ -192,32 +268,32 @@ paths: description: Forbidden "404": description: Not Found + /tenants/{tenantId}/memberships: parameters: - name: tenantId in: path required: true schema: type: string - /tenants/{tenantId}/memberships: get: summary: List tenant memberships operationId: listMemberships parameters: - - name: first + - description: Pagination offset + name: first in: query - description: Pagination offset schema: - format: int32 type: integer - - name: max + format: int32 + - description: Maximum results size (defaults to 100) + name: max in: query - description: Maximum results size (defaults to 100) schema: - format: int32 type: integer - - name: search + format: int32 + - description: Member email + name: search in: query - description: Member email schema: type: string responses: @@ -233,22 +309,28 @@ paths: description: Unauthorized "403": description: Forbidden + /tenants/{tenantId}/memberships/{membershipId}: parameters: - name: tenantId in: path required: true schema: type: string - /tenants/{tenantId}/memberships/{membershipId}: - delete: - summary: Revoke tenant membership - operationId: revokeMembership + patch: + summary: Update tenant membership + operationId: updateMembership parameters: - name: membershipId in: path required: true schema: type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TenantMembershipRepresentation" responses: "204": description: No Content @@ -258,21 +340,15 @@ paths: description: Forbidden "404": description: Not Found - patch: - summary: Update tenant membership - operationId: updateMembership + delete: + summary: Revoke tenant membership + operationId: revokeMembership parameters: - name: membershipId in: path required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/TenantMembershipRepresentation" - required: true responses: "204": description: No Content @@ -282,83 +358,8 @@ paths: description: Forbidden "404": description: Not Found - parameters: - - name: tenantId - in: path - required: true - schema: - type: string -components: - schemas: - TenantInvitationRepresentation: - required: - - email - - roles - type: object - properties: - id: - type: string - readOnly: true - tenantId: - type: string - readOnly: true - email: - type: string - locale: - type: string - roles: - uniqueItems: true - type: array - items: - type: string - invitedBy: - type: string - readOnly: true - TenantMembershipRepresentation: - required: - - roles - type: object - properties: - id: - type: string - readOnly: true - user: - type: object - properties: - id: - type: string - createdTimestamp: - type: number - username: - type: string - enabled: - type: boolean - firstName: - type: string - lastName: - type: string - email: - type: string - emailVerified: - type: boolean - federationLink: - type: string - readOnly: true - roles: - uniqueItems: true - type: array - items: - type: string - TenantRepresentation: - required: - - name - type: object - properties: - id: - type: string - readOnly: true - name: - type: string - realm: - type: string - readOnly: true +info: + title: Keycloak Multi-Tenancy + version: 25.2.0 +servers: +- url: "{{keycloakUrl}}/auth/realms/{{realmName}}" diff --git a/pom.xml b/pom.xml index 39d5105..47d265e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ dev.sultanov keycloak-multi-tenancy - 25.1.0 + 25.2.0 jar Keycloak Multi-Tenancy