MdbBlobStore

MdbBlobStore

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.

Constructor

new MdbBlobStore()

Methods

doDeletion()

fillResponse(requestParams, blobItem, req, resp)Boolean

Fill HTTP response for getDocument request
Arguments:
  1. requestParams (BlobStoreRequest)
  2. blobItem (BlobStoreItem)
  3. req (THTTPRequest)
  4. resp (THTTPResponse)

getContent(request, blobInfo, optionsopt)String|ArrayBuffer abstract

Retrieve BLOB content from blob store.
Arguments:
  1. request (BlobStoreRequest)
  2. blobInfo (BlobStoreItem)  JSON retrieved from a DB.
  3. [options] (Object)
    Properties
    1. [encoding] (String|Null)  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

persist(attribute, ID, dirtyItem, newRevision)BlobStoreItem

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
Arguments:
  1. attribute (UBEntityAttribute)
  2. ID (Number)
  3. dirtyItem (BlobStoreItem)
  4. newRevision (number)

saveContentToTempStore(request, attribute, content)BlobStoreItem

Arguments:
  1. request (BlobStoreRequest)  Request params
  2. attribute (UBEntityAttribute)
  3. content (ArrayBuffer)