@@ -19,6 +19,15 @@ var utils;
19
19
var updateState ;
20
20
var getModel ;
21
21
22
+ /**
23
+ * Initializes variables and gets the roller.
24
+ *
25
+ * @param mongoose the mongoose instance
26
+ * @param _TaskMdl the task model
27
+ *
28
+ * @returns An object containing rollback functions
29
+ * @constructor
30
+ */
22
31
var RollerProvider = function ( mongoose , _TaskMdl ) {
23
32
TaskMdl = _TaskMdl ;
24
33
utils = require ( "./utils" ) ( mongoose ) ;
@@ -29,6 +38,10 @@ var RollerProvider = function(mongoose, _TaskMdl){
29
38
} ;
30
39
31
40
var Roller = {
41
+
42
+ /**
43
+ * rolls back all incomplete tasks
44
+ */
32
45
roll : function ( ) {
33
46
var chain = Promise . resolve ( ) ;
34
47
@@ -46,6 +59,13 @@ var Roller = {
46
59
, rollOne : rollBackTask
47
60
} ;
48
61
62
+ /**
63
+ * Rollback for a single task
64
+ *
65
+ * @param task the task to roll back
66
+ *
67
+ * @returns {Promise|* }
68
+ */
49
69
function rollBackTask ( task ) {
50
70
var chain = Promise . resolve ( ) ;
51
71
var lastIndex = task . steps . length - 1 ;
@@ -73,6 +93,13 @@ function rollBackTask(task) {
73
93
} ) ;
74
94
}
75
95
96
+ /**
97
+ * Gets the correct rollback function for a step
98
+ *
99
+ * @param step the step to rollback
100
+ *
101
+ * @returns a function to rollback step
102
+ */
76
103
function getRollbackFunc ( step ) {
77
104
switch ( step . type ) {
78
105
case SAVE : return rollbackSave ;
@@ -81,6 +108,12 @@ function getRollbackFunc(step){
81
108
}
82
109
}
83
110
111
+ /**
112
+ * Rollback for a save step
113
+ *
114
+ * @param save the save step
115
+ * @param task the task containing the step
116
+ */
84
117
function rollbackSave ( save , task ) {
85
118
var Collection = getModel ( save . name ) ;
86
119
@@ -89,6 +122,14 @@ function rollbackSave(save, task) {
89
122
} ) ;
90
123
}
91
124
125
+ /**
126
+ * Rollback for delete or update step.
127
+ *
128
+ * @param step the step to update
129
+ * @param task the task containing the step.
130
+ *
131
+ * @returns {Promise|* }
132
+ */
92
133
function rollbackDeleteOrUpdate ( step , task ) {
93
134
var Collection = getModel ( step . name ) ;
94
135
var chain = Promise . resolve ( ) ;
0 commit comments