Skip to content

Commit

Permalink
refactor(writeapi): update route prefix to api/v3, default error option
Browse files Browse the repository at this point in the history
  • Loading branch information
julianlam committed Oct 8, 2020
1 parent f678247 commit 3ea1aa4
Show file tree
Hide file tree
Showing 29 changed files with 70 additions and 68 deletions.
4 changes: 2 additions & 2 deletions public/src/admin/manage/admins-mods.js
Expand Up @@ -54,7 +54,7 @@ define('admin/manage/admins-mods', ['translator', 'benchpress', 'autocomplete',
$('.global-moderator-area').prepend(html);
$('#no-global-mods-warning').addClass('hidden');
});
}, err => app.alertError(err.status.message));
}, 'default');
});

$('.global-moderator-area').on('click', '.remove-user-icon', function () {
Expand All @@ -69,7 +69,7 @@ define('admin/manage/admins-mods', ['translator', 'benchpress', 'autocomplete',
if (!$('.global-moderator-area').children().length) {
$('#no-global-mods-warning').removeClass('hidden');
}
}, err => app.alertError(err.status.message));
}, 'default');
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion public/src/admin/manage/group.js
Expand Up @@ -139,7 +139,7 @@ define('admin/manage/group', [
}
api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + uid, undefined, () => {
userRow.slideUp().remove();
}, err => app.alertError(err.status.message));
}, 'default');
});
break;
default:
Expand Down
4 changes: 2 additions & 2 deletions public/src/admin/manage/users.js
Expand Up @@ -98,7 +98,7 @@ define('admin/manage/users', ['translator', 'benchpress', 'autocomplete', 'api']
app.parseAndTranslate('admin/partials/manage_user_groups', { users: [{ groups: [ui.item.group] }] }, function (html) {
$('[data-uid=' + uid + '] .group-area').append(html.find('.group-area').html());
});
}, err => app.alertError(err.status.message));
}, 'default');
});
});
modal.on('click', '.group-area a', function () {
Expand All @@ -110,7 +110,7 @@ define('admin/manage/users', ['translator', 'benchpress', 'autocomplete', 'api']
var uid = $(this).parents('[data-uid]').attr('data-uid');
api.del('/groups/' + utils.slugify(groupName) + '/membership/' + uid, undefined, () => {
groupCard.remove();
}, err => app.alertError(err.status.message));
}, 'default');
return false;
});
});
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/account/edit.js
Expand Up @@ -55,7 +55,7 @@ define('forum/account/edit', [
}

updateHeader(res.picture);
}, err => app.alertError(err.status.message));
}, 'default');

return false;
}
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/account/edit/email.js
Expand Up @@ -29,7 +29,7 @@ define('forum/account/edit/email', ['forum/account/header', 'api'], function (he
api.put('/users/' + userData.uid, userData, (res) => {
btn.removeClass('disabled').find('i').addClass('hide');
ajaxify.go('user/' + res.userslug + '/edit');
}, err => app.alertError(err.status.message));
}, 'default');

return false;
});
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/account/edit/password.js
Expand Up @@ -75,7 +75,7 @@ define('forum/account/edit/password', ['forum/account/header', 'translator', 'zx
} else {
ajaxify.go('user/' + ajaxify.data.userslug + '/edit');
}
}, err => app.alertError(err.status.message)).always(() => {
}, 'default').always(() => {
btn.removeClass('disabled').find('i').addClass('hide');
currentPassword.val('');
password.val('');
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/account/edit/username.js
Expand Up @@ -36,7 +36,7 @@ define('forum/account/edit/username', ['forum/account/header', 'api'], function
}

ajaxify.go('user/' + userslug + '/edit');
}, err => app.alertError(err.status.message));
}, 'default');

return false;
});
Expand Down
6 changes: 3 additions & 3 deletions public/src/client/account/header.js
Expand Up @@ -120,7 +120,7 @@ define('forum/account/header', [
components.get('account/follow').toggleClass('hide', type === 'follow');
components.get('account/unfollow').toggleClass('hide', type === 'unfollow');
app.alertSuccess('[[global:alert.' + type + ', ' + ajaxify.data.username + ']]');
}, err => app.alertError(err.status.message));
}, 'default');

return false;
}
Expand Down Expand Up @@ -158,7 +158,7 @@ define('forum/account/header', [
}

ajaxify.refresh();
}, err => app.alertError(err.status.message));
}, 'default');
},
},
},
Expand All @@ -169,7 +169,7 @@ define('forum/account/header', [
function unbanAccount() {
api.del('/users/' + ajaxify.data.theirid + '/ban', undefined, () => {
ajaxify.refresh();
}, err => app.alertError(err.status.message));
}, 'default');
}

function flagAccount() {
Expand Down
4 changes: 2 additions & 2 deletions public/src/client/groups/details.js
Expand Up @@ -106,11 +106,11 @@ define('forum/groups/details', [
break;

case 'join': // intentional fall-throughs!
api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined, () => ajaxify.refresh(), err => app.alertError(err.status.message));
api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined, () => ajaxify.refresh(), 'default');
break;

case 'leave':
api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined, () => ajaxify.refresh(), err => app.alertError(err.status.message));
api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined, () => ajaxify.refresh(), 'default');
break;

case 'accept': // intentional fall-throughs!
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/groups/list.js
Expand Up @@ -14,7 +14,7 @@ define('forum/groups/list', ['forum/infinitescroll', 'benchpress', 'api'], funct
name: name,
}, (res) => {
ajaxify.go('groups/' + res.slug);
}, err => app.alertError(err.status.message));
}, 'default');
}
});
});
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/groups/memberlist.js
Expand Up @@ -88,7 +88,7 @@ define('forum/groups/memberlist', ['api'], function (api) {

$.when(requests)
.done(done)
.fail(err => app.alertError(err.status.message));
.fail('default');
}
}

Expand Down
4 changes: 2 additions & 2 deletions public/src/client/topic/postTools.js
Expand Up @@ -338,7 +338,7 @@ define('forum/topic/postTools', [
function bookmarkPost(button, pid) {
var method = button.attr('data-bookmarked') === 'false' ? 'put' : 'del';

api[method](`/posts/${pid}/bookmark`, undefined, undefined, err => app.alertError(err.status.message));
api[method](`/posts/${pid}/bookmark`, undefined, undefined, 'default');
return false;
}

Expand Down Expand Up @@ -385,7 +385,7 @@ define('forum/topic/postTools', [

const route = action === 'purge' ? '' : '/state';
const method = action === 'restore' ? 'put' : 'del';
api[method](`/posts/${pid}${route}`, undefined, undefined, err => app.alertError(err.status.message));
api[method](`/posts/${pid}${route}`, undefined, undefined, 'default');
});
});
}
Expand Down
2 changes: 1 addition & 1 deletion public/src/client/topic/threadTools.js
Expand Up @@ -183,7 +183,7 @@ define('forum/topic/threadTools', [

const method = command === 'restore' ? 'put' : 'del';
const suffix = command !== 'purge' ? '/state' : '';
api[method](`/topics/${tid}${suffix}`, undefined, undefined, err => app.alertError(err.status.message));
api[method](`/topics/${tid}${suffix}`, undefined, undefined, 'default');
});
});
}
Expand Down
6 changes: 4 additions & 2 deletions public/src/modules/api.js
Expand Up @@ -2,7 +2,7 @@

define('api', () => {
const api = {};
const baseUrl = config.relative_path + '/api/v1';
const baseUrl = config.relative_path + '/api/v3';

function call(options, onSuccess, onError) {
$.ajax(options)
Expand All @@ -12,7 +12,9 @@ define('api', () => {
}
})
.fail((ev) => {
if (onError) {
if (onError === 'default') {
app.alertError(ev.responseJSON.status.message);
} else if (onError) {
onError(ev.responseJSON);
}
});
Expand Down
18 changes: 9 additions & 9 deletions src/routes/write/index.js
Expand Up @@ -8,7 +8,7 @@ const Write = module.exports;
Write.reload = (params) => {
const router = params.router;

router.use('/api/v1', function (req, res, next) {
router.use('/api/v3', function (req, res, next) {
// if (req.protocol !== 'https') {
// res.set('Upgrade', 'TLS/1.0, HTTP/1.1');
// return helpers.formatApiResponse(426, res);
Expand All @@ -20,20 +20,20 @@ Write.reload = (params) => {
next();
});

router.use('/api/v1/users', require('./users')());
router.use('/api/v1/groups', require('./groups')());
router.use('/api/v1/categories', require('./categories')());
router.use('/api/v1/topics', require('./topics')());
router.use('/api/v1/posts', require('./posts')());
// router.use('/api/v1/util', require('./util')());
router.use('/api/v3/users', require('./users')());
router.use('/api/v3/groups', require('./groups')());
router.use('/api/v3/categories', require('./categories')());
router.use('/api/v3/topics', require('./topics')());
router.use('/api/v3/posts', require('./posts')());
// router.use('/api/v3/util', require('./util')());

router.get('/api/v1/ping', function (req, res) {
router.get('/api/v3/ping', function (req, res) {
helpers.formatApiResponse(200, res, {
pong: true,
});
});

router.post('/api/v1/ping', middleware.authenticate, function (req, res) {
router.post('/api/v3/ping', middleware.authenticate, function (req, res) {
helpers.formatApiResponse(200, res, {
uid: req.user.uid,
});
Expand Down
6 changes: 3 additions & 3 deletions src/socket.io/admin/categories.js
Expand Up @@ -13,7 +13,7 @@ const sockets = require('..');
const Categories = module.exports;

Categories.create = async function (socket, data) {
sockets.warnDeprecated(socket, 'POST /api/v1/categories');
sockets.warnDeprecated(socket, 'POST /api/v3/categories');

if (!data) {
throw new Error('[[error:invalid-data]]');
Expand All @@ -40,7 +40,7 @@ Categories.getNames = async function () {
};

Categories.purge = async function (socket, cid) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/categories/:cid');
sockets.warnDeprecated(socket, 'DELETE /api/v3/categories/:cid');

const name = await categories.getCategoryField(cid, 'name');
await categories.purge(cid, socket.uid);
Expand All @@ -54,7 +54,7 @@ Categories.purge = async function (socket, cid) {
};

Categories.update = async function (socket, data) {
sockets.warnDeprecated(socket, 'PUT /api/v1/categories/:cid');
sockets.warnDeprecated(socket, 'PUT /api/v3/categories/:cid');

if (!data) {
throw new Error('[[error:invalid-data]]');
Expand Down
6 changes: 3 additions & 3 deletions src/socket.io/admin/groups.js
Expand Up @@ -6,7 +6,7 @@ const sockets = require('..');
const Groups = module.exports;

Groups.create = async function (socket, data) {
sockets.warnDeprecated(socket, 'POST /api/v1/groups');
sockets.warnDeprecated(socket, 'POST /api/v3/groups');

if (!data) {
throw new Error('[[error:invalid-data]]');
Expand All @@ -24,7 +24,7 @@ Groups.create = async function (socket, data) {
};

Groups.join = async (socket, data) => {
sockets.warnDeprecated(socket, 'PUT /api/v1/groups/:slug/membership/:uid');
sockets.warnDeprecated(socket, 'PUT /api/v3/groups/:slug/membership/:uid');

if (!data) {
throw new Error('[[error:invalid-data]]');
Expand All @@ -39,7 +39,7 @@ Groups.join = async (socket, data) => {
};

Groups.leave = async function (socket, data) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/groups/:slug/membership/:uid');
sockets.warnDeprecated(socket, 'DELETE /api/v3/groups/:slug/membership/:uid');

if (!data) {
throw new Error('[[error:invalid-data]]');
Expand Down
4 changes: 2 additions & 2 deletions src/socket.io/admin/user.js
Expand Up @@ -58,7 +58,7 @@ User.removeAdmins = async function (socket, uids) {
};

User.createUser = async function (socket, userData) {
sockets.warnDeprecated(socket, 'POST /api/v1/users');
sockets.warnDeprecated(socket, 'POST /api/v3/users');

if (!userData) {
throw new Error('[[error:invalid-data]]');
Expand Down Expand Up @@ -139,7 +139,7 @@ User.deleteUsersContent = async function (socket, uids) {
};

User.deleteUsersAndContent = async function (socket, uids) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/users or DELETE /api/v1/users/:uid');
sockets.warnDeprecated(socket, 'DELETE /api/v3/users or DELETE /api/v3/users/:uid');

await canDeleteUids(uids);
deleteUsers(socket, uids, async function (uid) {
Expand Down
6 changes: 3 additions & 3 deletions src/socket.io/groups.js
Expand Up @@ -19,7 +19,7 @@ SocketGroups.before = async (socket, method, data) => {
};

SocketGroups.join = async (socket, data) => {
sockets.warnDeprecated(socket, 'PUT /api/v1/groups/:slug/membership/:uid');
sockets.warnDeprecated(socket, 'PUT /api/v3/groups/:slug/membership/:uid');

if (socket.uid <= 0) {
throw new Error('[[error:invalid-uid]]');
Expand Down Expand Up @@ -69,7 +69,7 @@ SocketGroups.join = async (socket, data) => {
};

SocketGroups.leave = async (socket, data) => {
sockets.warnDeprecated(socket, 'DELETE /api/v1/groups/:slug/membership/:uid');
sockets.warnDeprecated(socket, 'DELETE /api/v3/groups/:slug/membership/:uid');

if (socket.uid <= 0) {
throw new Error('[[error:invalid-uid]]');
Expand Down Expand Up @@ -282,7 +282,7 @@ SocketGroups.kick = async (socket, data) => {
};

SocketGroups.create = async (socket, data) => {
sockets.warnDeprecated(socket, 'POST /api/v1/groups');
sockets.warnDeprecated(socket, 'POST /api/v3/groups');

if (!socket.uid) {
throw new Error('[[error:no-privileges]]');
Expand Down
2 changes: 1 addition & 1 deletion src/socket.io/posts.js
Expand Up @@ -24,7 +24,7 @@ require('./posts/tools')(SocketPosts);
require('./posts/diffs')(SocketPosts);

SocketPosts.reply = async function (socket, data) {
sockets.warnDeprecated(socket, 'POST /api/v1/topics/:tid');
sockets.warnDeprecated(socket, 'POST /api/v3/topics/:tid');

if (!data || !data.tid || (meta.config.minimumPostLength !== 0 && !data.content)) {
throw new Error('[[error:invalid-data]]');
Expand Down
4 changes: 2 additions & 2 deletions src/socket.io/posts/bookmarks.js
Expand Up @@ -6,12 +6,12 @@ const sockets = require('..');

module.exports = function (SocketPosts) {
SocketPosts.bookmark = async function (socket, data) {
sockets.warnDeprecated(socket, 'PUT /api/v1/posts/:pid/bookmark');
sockets.warnDeprecated(socket, 'PUT /api/v3/posts/:pid/bookmark');
return await helpers.postCommand(socket, 'bookmark', 'bookmarked', '', data);
};

SocketPosts.unbookmark = async function (socket, data) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/posts/:pid/bookmark');
sockets.warnDeprecated(socket, 'DELETE /api/v3/posts/:pid/bookmark');
return await helpers.postCommand(socket, 'unbookmark', 'bookmarked', '', data);
};
};
2 changes: 1 addition & 1 deletion src/socket.io/posts/edit.js
Expand Up @@ -12,7 +12,7 @@ const websockets = require('../index');

module.exports = function (SocketPosts) {
SocketPosts.edit = async function (socket, data) {
websockets.warnDeprecated(socket, 'PUT /api/v1/posts/:pid');
websockets.warnDeprecated(socket, 'PUT /api/v3/posts/:pid');

if (!socket.uid) {
throw new Error('[[error:not-logged-in]]');
Expand Down
6 changes: 3 additions & 3 deletions src/socket.io/posts/tools.js
Expand Up @@ -64,7 +64,7 @@ module.exports = function (SocketPosts) {
};

SocketPosts.delete = async function (socket, data) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/posts/:pid/state');
sockets.warnDeprecated(socket, 'DELETE /api/v3/posts/:pid/state');

await deleteOrRestore(socket, data, {
command: 'delete',
Expand All @@ -74,7 +74,7 @@ module.exports = function (SocketPosts) {
};

SocketPosts.restore = async function (socket, data) {
sockets.warnDeprecated(socket, 'PUT /api/v1/posts/:pid/state');
sockets.warnDeprecated(socket, 'PUT /api/v3/posts/:pid/state');

await deleteOrRestore(socket, data, {
command: 'restore',
Expand Down Expand Up @@ -123,7 +123,7 @@ module.exports = function (SocketPosts) {
}

SocketPosts.purge = async function (socket, data) {
sockets.warnDeprecated(socket, 'DELETE /api/v1/posts/:pid');
sockets.warnDeprecated(socket, 'DELETE /api/v3/posts/:pid');

if (!data || !parseInt(data.pid, 10)) {
throw new Error('[[error:invalid-data]]');
Expand Down

0 comments on commit 3ea1aa4

Please sign in to comment.