new MdbBlobStore(storeConfig : Object, appInstance : App, sessionInstance : UBSession) #

Blob store implementation for storing content inside models public folders. Key conceptions:

  • relative path created in format modelName|relativePathFromModelDir to hide real file place from client
  • OS user temp folder used for store temporary content
  • delete operation is forbidden since models must be under version control

    Used in:

  • ubm_form for store form def & js inside /public/forms

  • ubm_diagrams for store diagram inside /public/erdiagrams
  • ubs_report for store report template inside /public/reports
  • e.t.c.

Methods

doDeletion() instance #

fillResponse(requestParams : BlobStoreRequest, blobItem : BlobStoreItem, req : THTTPRequest, resp : THTTPResponse)→Boolean instance #

Fill HTTP response for getDocument request

getContent(request : BlobStoreRequest, blobInfo : BlobStoreItem, optionsopt : Object)→String | ArrayBuffer instance #

Retrieve BLOB content from blob store.

Arguments info:

  • options: Object
    • encoding: String

      Default to 'bin'. Possible values: 'bin'|'ascii'|'utf-8' If undefined UB will send query to entity anf get it from DB. At last one parameter {store: storeName} should be defined to prevent loading actual JSON from DB

  • blobInfo: BlobStoreItem

    JSON retrieved from a DB.

persist(attribute : UBEntityAttribute, ID : Number, dirtyItem : BlobStoreItem, newRevision : number)→BlobStoreItem instance #

Move content defined by dirtyItem from temporary to permanent store. In case oldItem is present store implementation & parameters should be taken from oldItem.store. Return a new attribute content which describe a place of BLOB in permanent store

saveContentToTempStore(request : BlobStoreRequest, attribute : UBEntityAttribute, content : ArrayBuffer)→BlobStoreItem instance #

Arguments info: