@AllowOpenAccess(value=true) public class GetOpenAPI extends AsyncDominoJNXJson
Gets the OpenAPI spec for a KeepDatabase
AsyncDominoBase.RequestType
apiName, 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
|
getDbRequestParameters
accessControlCheck, 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, validationCheck
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
customValidator, preflight
public 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
AsyncDominoBase
Actual 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