mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-13 10:18:58 +08:00
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:
parent
84b4dba425
commit
ce51674d6b
6
backend/dist/cron-sync-artifacts.min.js
vendored
6
backend/dist/cron-sync-artifacts.min.js
vendored
File diff suppressed because one or more lines are too long
6
backend/dist/sub-store-parser.loon.min.js
vendored
6
backend/dist/sub-store-parser.loon.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.4.0",
|
"version": "2.5.0",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -15,6 +15,7 @@ import registerArtifactRoutes from './artifacts';
|
|||||||
import registerDownloadRoutes from './download';
|
import registerDownloadRoutes from './download';
|
||||||
import registerSettingRoutes from './settings';
|
import registerSettingRoutes from './settings';
|
||||||
import registerPreviewRoutes from './preview';
|
import registerPreviewRoutes from './preview';
|
||||||
|
import registerSortingRoutes from './sort';
|
||||||
import { success } from '@/restful/response';
|
import { success } from '@/restful/response';
|
||||||
|
|
||||||
export default function serve() {
|
export default function serve() {
|
||||||
@ -25,6 +26,7 @@ export default function serve() {
|
|||||||
registerSubscriptionRoutes($app);
|
registerSubscriptionRoutes($app);
|
||||||
registerDownloadRoutes($app);
|
registerDownloadRoutes($app);
|
||||||
registerPreviewRoutes($app);
|
registerPreviewRoutes($app);
|
||||||
|
registerSortingRoutes($app);
|
||||||
registerSettingRoutes($app);
|
registerSettingRoutes($app);
|
||||||
registerArtifactRoutes($app);
|
registerArtifactRoutes($app);
|
||||||
|
|
||||||
|
33
backend/src/restful/sort.js
Normal file
33
backend/src/restful/sort.js
Normal 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);
|
||||||
|
}
|
6
backend/sub-store.min.js
vendored
6
backend/sub-store.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user