@AllowOpenAccess(value=true) public class GetOpenAPI extends AsyncDominoJNXJson
Gets the OpenAPI spec for a KeepDatabase
AsyncDominoBase.RequestTypeapiName, appTags, logger, requestParams, UNNEEDED_CALL, user, vertx| Constructor and Description |
|---|
GetOpenAPI() |
| Modifier and Type | Method and Description |
|---|---|
io.vertx.core.json.JsonObject |
buildCoreApiComponents(io.vertx.core.json.JsonObject api,
KeepDbInfo dbInfo,
io.vertx.core.json.JsonObject designJson) |
io.vertx.core.json.JsonObject |
buildCoreApiPaths(io.vertx.core.json.JsonObject api,
KeepDbInfo dbInfo,
io.vertx.core.json.JsonObject designJson)
Builds the “paths” part of the OpenAPI spec
|
io.vertx.core.json.JsonArray |
buildCoreApiTags(KeepDbInfo dbInfo)
Generates a JsonArray of the relevant tags, a subset from the
|
io.vertx.core.json.JsonObject |
buildInfo(io.vertx.core.json.JsonObject api)
Build the info part of the OpenAPI spec
|
io.vertx.core.json.JsonObject |
buildMetadataResponseFields()
Build JsonObject of metadata fields for documents
|
io.vertx.core.json.JsonObject |
convertFieldToObject(io.vertx.core.json.JsonObject fieldsObj,
java.lang.String fieldName)
Builds a JsonObject for the given field, with title, description, type and schema.
|
void |
process(DbRequestParameters<io.vertx.core.json.JsonObject> request)
Actual work is done here.
|
io.vertx.core.json.JsonArray |
replaceParamSchema(io.vertx.core.json.JsonObject pathObj,
java.lang.String paramName,
java.lang.Object newSchema,
boolean removeExamples)
Replaces the schema for a given parameter
|
getDbRequestParametersaccessControlCheck, dontCallProcessPayload, emitterToObserver, getActualDatabaseName, getApiName, getAppTags, getBarbican, getEventbusId, getKeepDbInfo, getRequestType, getSubscriber, getUser, getUserForMetrics, isProcessPayloadRequired, isWorkInProgress, processDominoRequest, recordAppMetrics, setApiName, setBarbican, setDbFileName, setKeepDbInfo, setProcessPayloadRequired, setRequestParams, setRequestType, setSubscriber, setUser, setVertx, subscribe, validateDqlAccess, validateOpenAccess, validationCheckclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcustomValidator, preflightpublic io.vertx.core.json.JsonObject buildCoreApiComponents(io.vertx.core.json.JsonObject api,
KeepDbInfo dbInfo,
io.vertx.core.json.JsonObject designJson)
api - the OpenAPI to modifydbInfo - KeepDatabase configdesignJson - JSON version of the database designpublic io.vertx.core.json.JsonObject buildCoreApiPaths(io.vertx.core.json.JsonObject api,
KeepDbInfo dbInfo,
io.vertx.core.json.JsonObject designJson)
Builds the “paths” part of the OpenAPI spec
api - OpenAPI spec that is used as a basedbInfo - KeepDatabase configdesignJson - JSON version fo the DXL designpublic io.vertx.core.json.JsonArray buildCoreApiTags(KeepDbInfo dbInfo)
Generates a JsonArray of the relevant tags, a subset from the
dbInfo - KeepDatabase configpublic io.vertx.core.json.JsonObject buildInfo(io.vertx.core.json.JsonObject api)
Build the info part of the OpenAPI spec
api - the OpenAPI to modifypublic io.vertx.core.json.JsonObject buildMetadataResponseFields()
Build JsonObject of metadata fields for documents
public io.vertx.core.json.JsonObject convertFieldToObject(io.vertx.core.json.JsonObject fieldsObj,
java.lang.String fieldName)
Builds a JsonObject for the given field, with title, description, type and schema. If the field does not exist on the form, no schema is added
fieldsObj - JsonObject of all fields in the FormfieldName - string field name being iteratedpublic void process(DbRequestParameters<io.vertx.core.json.JsonObject> request) throws java.lang.Exception
AsyncDominoBaseActual work is done here. The DbRequestParameters injects all needed components as well as functions like validation and results
request - DbRequestParameters granting access to session and databasejava.lang.Exception - Anything that can go wrong, will go wrongpublic io.vertx.core.json.JsonArray replaceParamSchema(io.vertx.core.json.JsonObject pathObj,
java.lang.String paramName,
java.lang.Object newSchema,
boolean removeExamples)
Replaces the schema for a given parameter
pathObj - JsonObject for the path to query. The JsonObject will contain a “parameters” arrayparamName - String parameter name to look fornewSchema - JsonObject containing the new schemaremoveExamples - whether examples should be removed. If the schema has been changed to an enum, this is no longer relevant