UNPKG

840 BJavaScriptView Raw
1/* jshint node:true */
2
3module.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 // Careful, removing the date can make
20 // slugs no longer unique, resolve that
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