37 lines
813 B
JavaScript
37 lines
813 B
JavaScript
import define from "../../define.js";
|
|
import { insertModerationLog } from "../../../../services/insert-moderation-log.js";
|
|
import { db } from "../../../../db/postgre.js";
|
|
export const meta = {
|
|
tags: [
|
|
"admin"
|
|
],
|
|
requireCredential: true,
|
|
requireModerator: true
|
|
};
|
|
export const paramDef = {
|
|
type: "object",
|
|
properties: {
|
|
full: {
|
|
type: "boolean"
|
|
},
|
|
analyze: {
|
|
type: "boolean"
|
|
}
|
|
},
|
|
required: [
|
|
"full",
|
|
"analyze"
|
|
]
|
|
};
|
|
export default define(meta, paramDef, async (ps, me)=>{
|
|
const params = [];
|
|
if (ps.full) {
|
|
params.push("FULL");
|
|
}
|
|
if (ps.analyze) {
|
|
params.push("ANALYZE");
|
|
}
|
|
db.query(`VACUUM ${params.join(" ")}`);
|
|
insertModerationLog(me, "vacuum", ps);
|
|
});
|