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)→Booleaninstance#

Fill HTTP response for getDocument request

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

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)→BlobStoreIteminstance#

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)→BlobStoreIteminstance#

Arguments info: