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

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.

# new MdbBlobStore (storeConfig:  object, appInstance:  ServerApp, sessionInstance:  UBSession)

Arguments:

Methods

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

Fill HTTP response for getDocument request

Arguments:

# getContent (request:  BlobStoreRequest, blobInfo:  BlobStoreItem, optionsopt:  object) → string | ArrayBuffer instance

Retrieve BLOB content from blob store.

Arguments:
  • request: BlobStoreRequest
  • blobInfo: BlobStoreItem

    JSON retrieved from a DB.

  • options: object
    • 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:  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

Arguments: