diff --git a/src/main/api/createUniversalApplicationTenant.json b/src/main/api/createUniversalApplicationTenant.json new file mode 100644 index 000000000..f7b4b65af --- /dev/null +++ b/src/main/api/createUniversalApplicationTenant.json @@ -0,0 +1,42 @@ +{ + "uri": "/api/application", + "comments": [ + "Adds the application tenants for universal applications." + ], + "method": "post", + "methodName": "createUniversalApplicationTenant", + "successResponse": "UniversalApplicationTenantResponse", + "errorResponse": "Errors", + "params": [ + { + "name": "applicationId", + "comments": [ + "The Id of the application that the universal application tenant belongs to." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "universal-application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"universal-application-tenant\"" + }, + { + "name": "universalApplicationTenantId", + "comments": [ + "(Optional) The Id of the universal application tenant." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "request", + "comments": [ + "The request object that contains all the information used to create the UniversalApplicationTenants." + ], + "type": "body", + "javaType": "UniversalApplicationTenantRequest" + } + ] +} diff --git a/src/main/api/deleteUniversalApplicationTenant.json b/src/main/api/deleteUniversalApplicationTenant.json new file mode 100644 index 000000000..1d0d67d74 --- /dev/null +++ b/src/main/api/deleteUniversalApplicationTenant.json @@ -0,0 +1,34 @@ +{ + "uri": "/api/application", + "comments": [ + "Deletes the universal application tenant." + ], + "method": "delete", + "methodName": "deleteUniversalApplicationTenant", + "successResponse": "Void", + "errorResponse": "Errors", + "params": [ + { + "name": "applicationId", + "comments": [ + "The Id of the application that the UniversalApplicationTenant belongs to." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "universal-application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"universal-application-tenant\"" + }, + { + "name": "universalApplicationTenantId", + "comments": [ + "The Id of the UniversalApplicationTenant to delete." + ], + "type": "urlSegment", + "javaType": "UUID" + } + ] +} \ No newline at end of file diff --git a/src/main/api/deleteUniversalApplicationTenants.json b/src/main/api/deleteUniversalApplicationTenants.json new file mode 100644 index 000000000..eaf84d995 --- /dev/null +++ b/src/main/api/deleteUniversalApplicationTenants.json @@ -0,0 +1,35 @@ +{ + "uri": "/api/application", + "comments": [ + "Removes the specified tenants from the universal application tenants list." + ], + "method": "delete", + "methodName": "deleteUniversalApplicationTenants", + "successResponse": "Void", + "errorResponse": "Errors", + "params": [ + { + "name": "applicationId", + "comments": [ + "The Id of the universal application that the tenants are linked to." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"application-tenant\"" + }, + { + "name": "tenantIds", + "comments": [ + "The Ids of the tenants to delete from the universal application tenants list." + ], + "type": "urlParameter", + "parameterName": "tenantIds", + "javaType": "Collection" + } + ] +} \ No newline at end of file diff --git a/src/main/api/retrieveUniversalApplicationTenant.json b/src/main/api/retrieveUniversalApplicationTenant.json new file mode 100644 index 000000000..c2e668fca --- /dev/null +++ b/src/main/api/retrieveUniversalApplicationTenant.json @@ -0,0 +1,34 @@ +{ + "uri": "/api/application", + "comments": [ + "Retrieves the universal application tenant." + ], + "method": "get", + "methodName": "retrieveUniversalApplicationTenant", + "successResponse": "UniversalApplicationTenantResponse", + "errorResponse": "Errors", + "params": [ + { + "name": "applicationId", + "comments": [ + "The Id of the universal application that tenant is mapped to" + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"application-tenant\"" + }, + { + "name": "universalApplicationTenantId", + "comments": [ + "The Id of the universal application tenant." + ], + "type": "urlSegment", + "javaType": "UUID" + } + ] +} \ No newline at end of file diff --git a/src/main/api/searchUniversalApplicationTenants.json b/src/main/api/searchUniversalApplicationTenants.json new file mode 100644 index 000000000..466f07230 --- /dev/null +++ b/src/main/api/searchUniversalApplicationTenants.json @@ -0,0 +1,32 @@ +{ + "uri": "/api/application", + "comments": [ + "Searches universal application tenants for the specified applicationId and with the specified criteria and pagination." + ], + "method": "post", + "methodName": "searchUniversalApplicationTenants", + "successResponse": "UniversalApplicationTenantSearchResponse", + "errorResponse": "Errors", + "params": [ + { + "name": "universal-application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"universal-application-tenant\"" + }, + { + "name": "search", + "constant": true, + "type": "urlSegment", + "value": "\"search\"" + }, + { + "name": "request", + "comments": [ + "The search criteria and pagination information." + ], + "type": "body", + "javaType": "UniversalApplicationTenantSearchRequest" + } + ] +} \ No newline at end of file diff --git a/src/main/api/updateUniversalApplicationTenant.json b/src/main/api/updateUniversalApplicationTenant.json new file mode 100644 index 000000000..c9976b5a3 --- /dev/null +++ b/src/main/api/updateUniversalApplicationTenant.json @@ -0,0 +1,42 @@ +{ + "uri": "/api/application", + "comments": [ + "Adds the application tenants for universal applications." + ], + "method": "put", + "methodName": "updateUniversalApplicationTenant", + "successResponse": "UniversalApplicationTenantResponse", + "errorResponse": "Errors", + "params": [ + { + "name": "applicationId", + "comments": [ + "The Id of the application that the UniversalApplicationTenant belongs to." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "universal-application-tenant", + "constant": true, + "type": "urlSegment", + "value": "\"universal-application-tenant\"" + }, + { + "name": "universalApplicationTenantId", + "comments": [ + "The Id of the universal application tenant." + ], + "type": "urlSegment", + "javaType": "UUID" + }, + { + "name": "request", + "comments": [ + "The request object that contains all the information used to create the UniversalApplicationTenant." + ], + "type": "body", + "javaType": "UniversalApplicationTenantRequest" + } + ] +} diff --git a/src/main/domain/io.fusionauth.domain.Application$UniversalConfiguration.json b/src/main/domain/io.fusionauth.domain.Application$UniversalConfiguration.json deleted file mode 100644 index d382c2570..000000000 --- a/src/main/domain/io.fusionauth.domain.Application$UniversalConfiguration.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "packageName" : "io.fusionauth.domain", - "type" : "UniversalConfiguration", - "fields" : { - "applicationTenants" : { - "type" : "List", - "typeArguments" : [ { - "type" : "UniversalApplicationTenant" - } ] - }, - "global" : { - "type" : "boolean" - }, - "universal" : { - "type" : "boolean" - } - } -} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.Application.json b/src/main/domain/io.fusionauth.domain.Application.json index 47aa941aa..cdd19a2ab 100644 --- a/src/main/domain/io.fusionauth.domain.Application.json +++ b/src/main/domain/io.fusionauth.domain.Application.json @@ -103,7 +103,7 @@ "type" : "UUID" }, "universalConfiguration" : { - "type" : "UniversalConfiguration" + "type" : "UniversalApplicationConfiguration" }, "unverified" : { "type" : "RegistrationUnverifiedOptions" diff --git a/src/main/domain/io.fusionauth.domain.UniversalApplicationConfiguration.json b/src/main/domain/io.fusionauth.domain.UniversalApplicationConfiguration.json new file mode 100644 index 000000000..ac4711557 --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.UniversalApplicationConfiguration.json @@ -0,0 +1,13 @@ +{ + "packageName" : "io.fusionauth.domain", + "type" : "UniversalApplicationConfiguration", + "description" : "/**\n * @author Lyle Schemmerling\n */\n", + "fields" : { + "global" : { + "type" : "boolean" + }, + "universal" : { + "type" : "boolean" + } + } +} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.UniversalApplicationTenant.json b/src/main/domain/io.fusionauth.domain.UniversalApplicationTenant.json index 756aaf600..e3b897fde 100644 --- a/src/main/domain/io.fusionauth.domain.UniversalApplicationTenant.json +++ b/src/main/domain/io.fusionauth.domain.UniversalApplicationTenant.json @@ -1,14 +1,36 @@ { "packageName" : "io.fusionauth.domain", "type" : "UniversalApplicationTenant", - "description" : "/**\n * @author Lyle Schemmerling\n */\n", + "description" : "/**\n * An object that represents the mapping between a Universal Application and a Tenant.\n *\n * @author Lyle Schemmerling\n */\n", "implements" : [ { "type" : "Buildable", "typeArguments" : [ { "type" : "UniversalApplicationTenant" } ] + }, { + "type" : "JSONColumnable" } ], "fields" : { + "applicationId" : { + "type" : "UUID" + }, + "data" : { + "type" : "Map", + "typeArguments" : [ { + "type" : "String" + }, { + "type" : "Object" + } ] + }, + "id" : { + "type" : "UUID" + }, + "insertInstant" : { + "type" : "ZonedDateTime" + }, + "lastUpdateInstant" : { + "type" : "ZonedDateTime" + }, "tenantId" : { "type" : "UUID" } diff --git a/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantRequest.json b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantRequest.json new file mode 100644 index 000000000..d1f65a246 --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantRequest.json @@ -0,0 +1,16 @@ +{ + "packageName" : "io.fusionauth.domain.api", + "type" : "UniversalApplicationTenantRequest", + "description" : "/**\n * The request object for creating or updating a Universal Application Tenant.\n *\n * @author Lyle Schemmerling\n */\n", + "implements" : [ { + "type" : "Buildable", + "typeArguments" : [ { + "type" : "UniversalApplicationTenantRequest" + } ] + } ], + "fields" : { + "universalApplicationTenant" : { + "type" : "UniversalApplicationTenant" + } + } +} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantResponse.json b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantResponse.json new file mode 100644 index 000000000..cea7221e3 --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantResponse.json @@ -0,0 +1,10 @@ +{ + "packageName" : "io.fusionauth.domain.api", + "type" : "UniversalApplicationTenantResponse", + "description" : "/**\n * The response object for a single Universal Application Tenant.\n *\n * @author Lyle Schemmerling\n */\n", + "fields" : { + "universalApplicationTenant" : { + "type" : "UniversalApplicationTenant" + } + } +} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchRequest.json b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchRequest.json new file mode 100644 index 000000000..17852d8dc --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchRequest.json @@ -0,0 +1,16 @@ +{ + "packageName" : "io.fusionauth.domain.api", + "type" : "UniversalApplicationTenantSearchRequest", + "description" : "/**\n * The request object with the search criteria for Universal Application Tenants.\n *\n * @author Lyle Schemmerling\n */\n", + "implements" : [ { + "type" : "Buildable", + "typeArguments" : [ { + "type" : "UniversalApplicationTenantSearchRequest" + } ] + } ], + "fields" : { + "search" : { + "type" : "UniversalApplicationTenantSearchCriteria" + } + } +} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchResponse.json b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchResponse.json new file mode 100644 index 000000000..b48f2f0f4 --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.api.UniversalApplicationTenantSearchResponse.json @@ -0,0 +1,16 @@ +{ + "packageName" : "io.fusionauth.domain.api", + "type" : "UniversalApplicationTenantSearchResponse", + "description" : "/**\n * The response object for Universal Application Tenants search results.\n *\n * @author Lyle Schemmerling\n */\n", + "fields" : { + "universalApplicationTenants" : { + "type" : "List", + "typeArguments" : [ { + "type" : "UniversalApplicationTenant" + } ] + }, + "total" : { + "type" : "long" + } + } +} \ No newline at end of file diff --git a/src/main/domain/io.fusionauth.domain.search.UniversalApplicationTenantSearchCriteria.json b/src/main/domain/io.fusionauth.domain.search.UniversalApplicationTenantSearchCriteria.json new file mode 100644 index 000000000..36fd9ca9b --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.search.UniversalApplicationTenantSearchCriteria.json @@ -0,0 +1,25 @@ +{ + "packageName" : "io.fusionauth.domain.search", + "type" : "UniversalApplicationTenantSearchCriteria", + "description" : "/**\n * @author Lyle Schemmerling\n */\n", + "extends" : [ { + "type" : "BaseSearchCriteria" + } ], + "implements" : [ { + "type" : "Buildable", + "typeArguments" : [ { + "type" : "UniversalApplicationTenantSearchCriteria" + } ] + } ], + "fields" : { + "applicationId" : { + "type" : "UUID" + }, + "tenantId" : { + "type" : "UUID" + }, + "tenantName" : { + "type" : "String" + } + } +} \ No newline at end of file