new SafeStorage(database, logger, gmeConfig, gmeAuth)
Parameters:
Name | Type | Description |
---|---|---|
database |
||
logger |
||
gmeConfig |
||
gmeAuth |
Methods
-
_getProject(data, callback)
-
Authorization: read access
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
createBranch(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
createProject(data [, callback])
-
Creates a project and assigns a projectId by concatenating the username and the provided project name. The user with the given username becomes the owner of the project.
Authorization level: canCreate
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectName
string name of new project.
username
string <optional>
gmeConfig.authentication.guestAccount ownerId
string <optional>
data.username kind
string <optional>
Category of project typically based on meta.
callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
createTag(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
deleteBranch(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
deleteProject(data [, callback])
-
Deletes a project from the _projects collection, deletes the collection for the the project and removes the rights from all users.
Authorization level: delete access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- Promise
-
deleteTag(data, callback)
-
Authorization: delete access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
duplicateProject(data [, callback])
-
Duplicates a project including all data-objects, commits, branches etc.
Authorization level: canCreate and read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string id of existing project that will be duplicated.
projectName
string name of new project.
username
string <optional>
gmeConfig.authentication.guestAccount ownerId
string <optional>
data.username callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
getBranches(data [, callback])
-
Returns a dictionary with all the branches and their hashes within a project. Example: { master: '#someHash', b1: '#someOtherHash' }
Authorization level: read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
getBranchHash(data, callback)
-
Authorization: read access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
getCommits(data [, callback])
-
Returns an array of commits for a project ordered by their timestamp.
Authorization level: read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
number
number maximum number of commits to load.
before
number | string timestamp or commitHash to load history from. When number given it will load data.number of commits strictly before data.before, when commitHash is given it will return that commit too.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
getCommonAncestorCommit(data, callback)
-
Authorization: read access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
getHistory(data [, callback])
-
Returns an array of commits starting from either a branch(es) or commitHash(es). They are ordered by the rules (applied in order)
- Descendants are always before their ancestors
- By their timestamp
Authorization level: read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
number
number maximum number of commits to load.
start
string | Array.<string> BranchName or commitHash, or an array of such.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
getLatestCommitData(data [, callback])
-
Returns the latest commit data for a branch within the project. (This is the same data that is provided during a BRANCH_UPDATE event.)
Example: { projectId: 'guest+TestProject', branchName: 'master', commitObject: { _id: '#someCommitHash', root: '#someNodeHash', parents: ['#someOtherCommitHash'], update: ['guest'], time: 1430169614741, message: 'createChild(/1/2)', type: 'commit' }, coreObject: [{coreObj}, ..., {coreObj}], }
Authorization level: read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
branchName
string name of the branch.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
getProjects(data [, callback])
-
Returns and array of dictionaries for each project the user has at least read access to. If branches is set, the returned array will be filtered based on if the projects really do exist as collections on their own. If branches is not set, there is no guarantee that the returned projects really exist.
Authorization level: read access for each returned project.
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description info
boolean <optional>
include the info field from the _projects collection.
rights
boolean <optional>
include users' authorization information for each project.
branches
boolean <optional>
include a dictionary with all branches and their hash.
hooks
boolean <optional>
include the dictionary with all hooks.
projectId
string <optional>
if given will return only single matching project.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- Promise
-
getTags(data [, callback])
-
Returns a dictionary with all the tags and their commitHashes within a project. Example: { tag1: '#someHash', taggen: '#someOtherHash' }
Authorization level: read access for project
Parameters:
Name Type Argument Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
username
string <optional>
gmeConfig.authentication.guestAccount callback
function <optional>
Returns:
- Type
- *
-
loadObjects(data, callback)
-
Authorization: TODO: read access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
loadPaths(data [, callback])
-
Returns a dictionary with all the hashes needed to load the containment of the input paths.
Authorization level: read access for data.projectId
Parameters:
Name Type Argument Description data
object input parameters.
Properties
Name Type Argument Default Description projectId
string identifier for project.
username
string <optional>
gmeConfig.authentication.guestAccount pathsInfo
Array.<object> list of objects with parentHash and path.
excludes
Array.<string> <optional>
list of known object hashes that should not be returned.
excludeParents
boolean <optional>
if true will only return the data for the node at the path.
callback
function <optional>
Returns:
//TODO: jsdocify this
- Type
- promise
-
makeCommit(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
openProject(data, callback)
-
Authorization: read access
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
setBranchHash(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
callback
Returns:
- Type
- *
-
squashCommits(data, callback)
-
Authorization: write access for data.projectId
Parameters:
Name Type Description data
object input parameters
Properties
Name Type Argument Default Description projectId
string identifier for project.
fromCommit
string starting point of the squash.
toCommitOrBranch
string branch or commit where the endpoint of squash can be found.
username
string <optional>
gmeConfig.authentication.guestAccount callback
Returns:
- Type
- *
-
transferProject(data, callback)
-
Authorization level: canCreate and delete access for project
Parameters:
Name Type Description data
callback
Returns:
- Type
- *