An extention to the version-repo package with a backend provided by MongoDB.
See version-repo for the general version-repo API.
Repositories Classes
RemoteRepo
An asynchronous repository which forwards all requests to another
version-repository over http. (The RouterRepo
class available in the
version-repo-node wraps
another repository with an HTTP interface).
Constructor parameters
- config: An object with the following attributes:
- directory: (string) Path to the directory to use for persisting objects to file
- ext?: (string, opitonal) A file extention for stored files
- update: (optional) one of "latest" (default), "any", "none"
- delete: (optional) one of "latest" (default), "any", "none"
Example:
var my_file_based_repo = dir: "/some/place/nice" ext: "txt"
Router
A wrapper for another 'host' repository which provides an HTTP/S API via ExpressJS
Constructor parameters
- Config: An object with the following attributes
- repository: The host repository that is being exposed via the Router instance
- router: (optional) An ExpressJS Router instance
- query_credentials: (optional) An express middleware function used for validating requesters authorization to perform the query
- modify_credentials: (optional) An express middleware function used for validating requesters authorization to perform the query
Example:
;;var http = express = superagent = ; const app = ;const host_repo = ; app;var server = http;server; console;
RemoteRepo
An asynchronous repository which forwards all requests to another
version-repository over http. (The RouterRepo
class available in the
version-repo-node wraps
another repository with an HTTP interface).
Note that the RemoteRepo can be webpack
ed into a browser application.
Constructor parameters
One of:
-
(Most common) An object with a complete
base_url
attribute (e.g.{ 'base_url':"http://my.repo.com:1234/my-stuff", }
) -
(typically used for testing) an object with an Express App instance serving a repo router and the relative path, such as:
; host_repo = new MemoryRepo; app.use'/my-stuff', repo.router;
- (typically used for testing) an object with a server instance serving a repo router and the relative path, such as:
;; host_repo = new MemoryRepo;app.use'/my-stuff', repo.router; my_repo =new RemoteRepo