1 |
|
2 |
|
3 | module.exports = function(self, argv, callback) {
|
4 | return self._apos.forEachPage({ type: self.pieceName }, {}, function(piece, callback) {
|
5 | var oldSlug = piece.slug;
|
6 | self.pieces.addDateToSlug(piece, true);
|
7 |
|
8 | function attempt() {
|
9 | return self._apos.pages.update({
|
10 | slug: oldSlug
|
11 | }, {
|
12 | $set: {
|
13 | slug: piece.slug
|
14 | }
|
15 | }, function(err) {
|
16 | if (!err) {
|
17 | return callback(null);
|
18 | }
|
19 |
|
20 |
|
21 | if (self._apos.isUniqueError(err))
|
22 | {
|
23 | var num = (Math.floor(Math.random() * 10)).toString();
|
24 | piece.slug += num;
|
25 | return attempt();
|
26 | }
|
27 | return callback(err);
|
28 | });
|
29 | }
|
30 |
|
31 | attempt();
|
32 |
|
33 | }, callback);
|
34 | };
|
35 |
|