Files
ProjectDeployer/server/lib/deployment.service.js

68 lines
1.8 KiB
JavaScript

Deployments = new Mongo.Collection('deployments');
DeploymentService = {
get: function(id) {
return Deployments.findOne({_id: id});
},
appendLog: function(id, data, error) {
var deployment = DeploymentService.get(id),
project = ProjectService.get(deployment.project_id);
Deployments.update({ _id: id },{ $push: {
output: {
timestamp : new Date().getTime(),
data : data.replace(new RegExp(project._id, 'g'), project.label),
error: error
}
}});
},
create: function(project) {
return Deployments.insert({
project_id: project._id,
timestamp: new Date().getTime(),
output: [],
status: 'opened'
}, function(errors, deploymentId) {
JobService.create_repository(deploymentId);
});
},
delete: function(projectId) {
Deployments.remove({project_id: projectId}, function(errors) {
if( !errors ) {
JobService.delete_repository({_id: projectId});
}
});
},
update: function(projectId) {
Deployments.insert({
project_id: projectId,
timestamp: new Date().getTime(),
output: []
}, function(errors, deploymentId) {
JobService.update_repository(deploymentId);
});
},
update_status: function(id, status, callback) {
Deployments.update(
id,
{ $set: {
status: status
}
},
callback
);
},
list: function(projectId) {
return Deployments.find({project_id: projectId}, {sort: {timestamp: -1}});
},
deploy: function(project) {
}
}