public class TheBarbican
extends java.lang.Object
Module that ensures read & write access to documents is managed by the KeepConfig Configuration has convenience functions to check on forms, aliases and fields TODO: Extract API
| Constructor and Description |
|---|
TheBarbican(KeepDbInfo dbInfo)
Default constructor, the Barbican always works in the context of a database, so we init it with the configuration info of that database
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
barbicanAllowsThisDocument(KeepJnxSession s,
com.hcl.domino.data.Database parentDB,
com.hcl.domino.data.Document doc,
java.lang.String formModeName,
java.lang.String realFormName)
Check if we can process these documents
|
boolean |
deleteKeepApplicationByApiKey(KeepJnxSession s,
java.lang.String appId)
Deletes an KeepApplication document
|
boolean |
deleteNote(KeepJnxSession s,
com.hcl.domino.data.Database parentDB,
java.lang.String dbFormName,
java.lang.String dbModeName,
com.hcl.domino.data.Document note) |
io.vertx.core.json.JsonObject |
filterDocument(KeepJnxSession s,
java.lang.String modeName,
com.hcl.domino.data.Document note) |
io.vertx.core.json.JsonObject |
filterDocumentSilent(KeepJnxSession s,
java.lang.String modeName,
com.hcl.domino.data.Document note)
Like filterDocument, but no error bubbles up
|
java.lang.String |
getRealFormName(com.hcl.domino.data.Database db,
com.hcl.domino.data.Document note,
java.lang.String overrideFormName) |
java.lang.String |
getRealFormName(com.hcl.domino.data.Database db,
java.lang.String formName) |
boolean |
hasForm(java.lang.String formName)
Returns if a specific form with any mode exist in the configuration Takes aliases into account
|
boolean |
hasFormAndMode(java.lang.String formName,
java.lang.String modeName)
Returns if a specific form and mode exist in the configuration Takes aliases into account
|
KeepApplicationConfigInfo |
retrieveKeepApplicationByApiKey(KeepJnxSession s,
java.lang.String appId) |
io.vertx.core.json.JsonObject |
updateDocument(KeepJnxSession s,
com.hcl.domino.data.Database parentDB,
java.lang.String modeName,
com.hcl.domino.data.Document note,
io.vertx.core.json.JsonObject payload,
java.lang.String parentUnid) |
TheBarbican |
updateNoteFromPayloadWithMode(KeepJnxSession s,
com.hcl.domino.data.Database parentDB,
io.vertx.core.json.JsonObject payload,
com.hcl.domino.data.Document note,
FormAccessModeInfo mode,
java.lang.String apiName,
java.lang.String parentUnid) |
TheBarbican |
validateFormAccessFormula(KeepJnxSession s,
com.hcl.domino.data.Database parentDB,
java.lang.String formula,
com.hcl.domino.data.Document note,
java.lang.String apiName)
Validate the user has access to perform an action using a FormAccessMode, according to the DQL access formula in the KeepConfig
|
public TheBarbican(@Nonnull
KeepDbInfo dbInfo)
Default constructor, the Barbican always works in the context of a database, so we init it with the configuration info of that database
dbInfo - public boolean deleteKeepApplicationByApiKey(KeepJnxSession s, java.lang.String appId)
Deletes an KeepApplication document
s - appId - public boolean deleteNote(KeepJnxSession s, com.hcl.domino.data.Database parentDB, java.lang.String dbFormName, java.lang.String dbModeName, com.hcl.domino.data.Document note) throws KeepException
s - dbModeName - dbFormName - note - KeepExceptionpublic io.vertx.core.json.JsonObject filterDocument(KeepJnxSession s, java.lang.String modeName, com.hcl.domino.data.Document note) throws KeepException
s - modeName - Mode - to be usednote - KeepExceptionpublic io.vertx.core.json.JsonObject filterDocumentSilent(KeepJnxSession s, java.lang.String modeName, com.hcl.domino.data.Document note)
Like filterDocument, but no error bubbles up
s - sessionmodeName - note - public boolean hasForm(java.lang.String formName)
Returns if a specific form with any mode exist in the configuration Takes aliases into account
formName - public boolean hasFormAndMode(java.lang.String formName,
java.lang.String modeName)
Returns if a specific form and mode exist in the configuration Takes aliases into account
formName - modeName - public KeepApplicationConfigInfo retrieveKeepApplicationByApiKey(KeepJnxSession s, java.lang.String appId) throws KeepException
s - appId - KeepExceptionpublic io.vertx.core.json.JsonObject updateDocument(KeepJnxSession s, com.hcl.domino.data.Database parentDB, java.lang.String modeName, com.hcl.domino.data.Document note, io.vertx.core.json.JsonObject payload, java.lang.String parentUnid) throws java.lang.Exception
s - parentDB - modeName - note - payload - parentUnid - java.lang.Exceptionjava.lang.Throwablepublic TheBarbican updateNoteFromPayloadWithMode(KeepJnxSession s, com.hcl.domino.data.Database parentDB, io.vertx.core.json.JsonObject payload, com.hcl.domino.data.Document note, FormAccessModeInfo mode, java.lang.String apiName, java.lang.String parentUnid) throws java.lang.Exception
s - parentDB - payload - note - mode - apiName - parentUnid - java.lang.Exceptionpublic TheBarbican validateFormAccessFormula(KeepJnxSession s, com.hcl.domino.data.Database parentDB, java.lang.String formula, com.hcl.domino.data.Document note, java.lang.String apiName) throws KeepException
Validate the user has access to perform an action using a FormAccessMode, according to the DQL access formula in the KeepConfig
s - parentDB - formula - note - apiName - KeepException - error, e.g. not enough access or failure parsing formulapublic boolean barbicanAllowsThisDocument(KeepJnxSession s, com.hcl.domino.data.Database parentDB, com.hcl.domino.data.Document doc, java.lang.String formModeName, java.lang.String realFormName) throws KeepExceptionInsufficientAccess
Check if we can process these documents
s - The Keep SessionparentDB - containing the document to validatedoc - to validateformModeName - to verifyrealFormName - formName, if passedKeepExceptionInsufficientAccesspublic java.lang.String getRealFormName(@Nonnull
com.hcl.domino.data.Database db,
java.lang.String formName)
db - Database containing the formformName - Form name or aliaspublic java.lang.String getRealFormName(@Nonnull
com.hcl.domino.data.Database db,
@Nonnull
com.hcl.domino.data.Document note,
java.lang.String overrideFormName)
db - Database containing the formnote - Note to checkoverrideFormName - Form name to use instead