fix: #9950, rename account export routes to remove `uid/` prefix

isekai-main
Julian Lam 3 years ago
parent 60352eca54
commit 0ee85d5a0b

@ -180,12 +180,14 @@ paths:
$ref: 'read/user/username/username.yaml'
"/api/user/email/{email}":
$ref: 'read/user/email/email.yaml'
"/api/user/uid/{userslug}/export/posts":
$ref: 'read/user/uid/userslug/export/posts.yaml'
"/api/user/uid/{userslug}/export/uploads":
$ref: 'read/user/uid/userslug/export/uploads.yaml'
"/api/user/uid/{userslug}/export/profile":
$ref: 'read/user/uid/userslug/export/profile.yaml'
"/api/user/{userslug}/export/posts":
$ref: 'read/user/userslug/export/posts.yaml'
"/api/user/{userslug}/export/uploads":
$ref: 'read/user/userslug/export/uploads.yaml'
"/api/user/{userslug}/export/profile":
$ref: 'read/user/userslug/export/profile.yaml'
"/api/user/uid/{userslug}/export/{type}":
$ref: 'read/user/uid/userslug/export/type.yaml'
/api/categories:
$ref: 'read/categories.yaml'
"/api/categories/{cid}/moderators":

@ -0,0 +1,19 @@
get:
tags:
- deprecated
summary: Export a user's posts (.csv)
parameters:
- name: userslug
in: path
required: true
schema:
type: string
example: admin
responses:
"200":
description: "A CSV file containing a user's posts"
content:
text/csv:
schema:
type: string
format: binary

@ -1,6 +1,7 @@
'use strict';
const express = require('express');
const winston = require('winston');
const uploadsController = require('../controllers/uploads');
const helpers = require('./helpers');
@ -17,9 +18,15 @@ module.exports = function (app, middleware, controllers) {
router.get('/user/username/:username', [...middlewares, middleware.canViewUsers], helpers.tryRoute(controllers.user.getUserByUsername));
router.get('/user/email/:email', [...middlewares, middleware.canViewUsers], helpers.tryRoute(controllers.user.getUserByEmail));
router.get('/user/uid/:userslug/export/posts', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportPosts));
router.get('/user/uid/:userslug/export/uploads', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportUploads));
router.get('/user/uid/:userslug/export/profile', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportProfile));
router.get('/user/:userslug/export/posts', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportPosts));
router.get('/user/:userslug/export/uploads', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportUploads));
router.get('/user/:userslug/export/profile', [...middlewares, middleware.authenticateRequest, middleware.ensureLoggedIn, middleware.checkAccountPermissions, middleware.exposeUid], helpers.tryRoute(controllers.user.exportProfile));
// Deprecated, remove in v1.20.0
router.get('/user/uid/:userslug/export/:type', (req, res) => {
winston.warn(`[router] \`/api/user/uid/${req.params.userslug}/export/${req.params.type}\` is deprecated, call it \`/api/user/${req.params.userslug}/export/${req.params.type}\`instead.`);
res.redirect(`/api/user/${req.params.userslug}/export/${req.params.type}`);
});
router.get('/categories/:cid/moderators', [...middlewares], helpers.tryRoute(controllers.api.getModerators));
router.get('/recent/posts/:term?', [...middlewares], helpers.tryRoute(controllers.posts.getRecentPosts));

@ -140,7 +140,7 @@ module.exports = function (SocketUser) {
const userData = await user.getUserFields(data.uid, ['username', 'userslug']);
const n = await notifications.create({
bodyShort: `[[notifications:${type}-exported, ${userData.username}]]`,
path: `/api/user/uid/${userData.userslug}/export/${type}`,
path: `/api/user/${userData.userslug}/export/${type}`,
nid: `${type}:export:${data.uid}`,
from: data.uid,
});

Loading…
Cancel
Save