feat: Add sorting API

Added POST /api/sort/subs, /api/sort/collections, /api/sort/artifacts for sorting subs, collections, and artifacts.
This commit is contained in:
Peng-YM
2022-07-05 12:41:25 +08:00
parent 84b4dba425
commit ce51674d6b
6 changed files with 45 additions and 10 deletions

View File

@@ -15,6 +15,7 @@ import registerArtifactRoutes from './artifacts';
import registerDownloadRoutes from './download';
import registerSettingRoutes from './settings';
import registerPreviewRoutes from './preview';
import registerSortingRoutes from './sort';
import { success } from '@/restful/response';
export default function serve() {
@@ -25,6 +26,7 @@ export default function serve() {
registerSubscriptionRoutes($app);
registerDownloadRoutes($app);
registerPreviewRoutes($app);
registerSortingRoutes($app);
registerSettingRoutes($app);
registerArtifactRoutes($app);

View File

@@ -0,0 +1,33 @@
import { ARTIFACTS_KEY, COLLECTIONS_KEY, SUBS_KEY } from '@/constants';
import $ from '@/core/app';
import { success } from '@/restful/response';
export default function register($app) {
$app.post('/api/sort/sub', sortSubs);
$app.post('/api/sort/collection', sortCollections);
$app.post('/api/sort/artifacts', sortArtifacts);
}
function sortSubs(req, res) {
const orders = req.body;
const allSubs = $.read(SUBS_KEY);
allSubs.sort((a, b) => orders.indexOf(a) - orders.indexOf(b));
$.write(allSubs, SUBS_KEY);
success(res, allSubs);
}
function sortCollections(req, res) {
const orders = req.body;
const allCols = $.read(COLLECTIONS_KEY);
allCols.sort((a, b) => orders.indexOf(a) - orders.indexOf(b));
$.write(allCols, COLLECTIONS_KEY);
success(res, allCols);
}
function sortArtifacts(req, res) {
const orders = req.body;
const allArtifacts = $.read(ARTIFACTS_KEY);
allArtifacts.sort((a, b) => orders.indexOf(a) - orders.indexOf(b));
$.write(allArtifacts, ARTIFACTS_KEY);
success(res, allArtifacts);
}