controllers are all POST

This commit is contained in:
Jan Prochazka
2021-12-22 09:18:48 +01:00
parent a108fb749a
commit f0e0fb8f64
13 changed files with 91 additions and 91 deletions

View File

@@ -10,7 +10,7 @@ const { saveFreeTableData } = require('../utility/freeTableStorage');
const loadFilesRecursive = require('../utility/loadFilesRecursive'); const loadFilesRecursive = require('../utility/loadFilesRecursive');
module.exports = { module.exports = {
folders_meta: 'get', folders_meta: true,
async folders() { async folders() {
const folders = await fs.readdir(archivedir()); const folders = await fs.readdir(archivedir());
return [ return [
@@ -27,14 +27,14 @@ module.exports = {
]; ];
}, },
createFolder_meta: 'post', createFolder_meta: true,
async createFolder({ folder }) { async createFolder({ folder }) {
await fs.mkdir(path.join(archivedir(), folder)); await fs.mkdir(path.join(archivedir(), folder));
socket.emitChanged('archive-folders-changed'); socket.emitChanged('archive-folders-changed');
return true; return true;
}, },
createLink_meta: 'post', createLink_meta: true,
async createLink({ linkedFolder }) { async createLink({ linkedFolder }) {
const folder = await this.getNewArchiveFolder({ database: path.parse(linkedFolder).name + '.link' }); const folder = await this.getNewArchiveFolder({ database: path.parse(linkedFolder).name + '.link' });
fs.writeFile(path.join(archivedir(), folder), linkedFolder); fs.writeFile(path.join(archivedir(), folder), linkedFolder);
@@ -43,7 +43,7 @@ module.exports = {
return folder; return folder;
}, },
files_meta: 'get', files_meta: true,
async files({ folder }) { async files({ folder }) {
const dir = resolveArchiveFolder(folder); const dir = resolveArchiveFolder(folder);
if (!(await fs.exists(dir))) return []; if (!(await fs.exists(dir))) return [];
@@ -70,23 +70,23 @@ module.exports = {
]; ];
}, },
refreshFiles_meta: 'post', refreshFiles_meta: true,
async refreshFiles({ folder }) { async refreshFiles({ folder }) {
socket.emitChanged(`archive-files-changed-${folder}`); socket.emitChanged(`archive-files-changed-${folder}`);
}, },
refreshFolders_meta: 'post', refreshFolders_meta: true,
async refreshFolders() { async refreshFolders() {
socket.emitChanged(`archive-folders-changed`); socket.emitChanged(`archive-folders-changed`);
}, },
deleteFile_meta: 'post', deleteFile_meta: true,
async deleteFile({ folder, file, fileType }) { async deleteFile({ folder, file, fileType }) {
await fs.unlink(path.join(resolveArchiveFolder(folder), `${file}.${fileType}`)); await fs.unlink(path.join(resolveArchiveFolder(folder), `${file}.${fileType}`));
socket.emitChanged(`archive-files-changed-${folder}`); socket.emitChanged(`archive-files-changed-${folder}`);
}, },
renameFile_meta: 'post', renameFile_meta: true,
async renameFile({ folder, file, newFile, fileType }) { async renameFile({ folder, file, newFile, fileType }) {
await fs.rename( await fs.rename(
path.join(resolveArchiveFolder(folder), `${file}.${fileType}`), path.join(resolveArchiveFolder(folder), `${file}.${fileType}`),
@@ -95,14 +95,14 @@ module.exports = {
socket.emitChanged(`archive-files-changed-${folder}`); socket.emitChanged(`archive-files-changed-${folder}`);
}, },
renameFolder_meta: 'post', renameFolder_meta: true,
async renameFolder({ folder, newFolder }) { async renameFolder({ folder, newFolder }) {
const uniqueName = await this.getNewArchiveFolder({ database: newFolder }); const uniqueName = await this.getNewArchiveFolder({ database: newFolder });
await fs.rename(path.join(archivedir(), folder), path.join(archivedir(), uniqueName)); await fs.rename(path.join(archivedir(), folder), path.join(archivedir(), uniqueName));
socket.emitChanged(`archive-folders-changed`); socket.emitChanged(`archive-folders-changed`);
}, },
deleteFolder_meta: 'post', deleteFolder_meta: true,
async deleteFolder({ folder }) { async deleteFolder({ folder }) {
if (!folder) throw new Error('Missing folder parameter'); if (!folder) throw new Error('Missing folder parameter');
if (folder.endsWith('.link')) { if (folder.endsWith('.link')) {
@@ -113,14 +113,14 @@ module.exports = {
socket.emitChanged(`archive-folders-changed`); socket.emitChanged(`archive-folders-changed`);
}, },
saveFreeTable_meta: 'post', saveFreeTable_meta: true,
async saveFreeTable({ folder, file, data }) { async saveFreeTable({ folder, file, data }) {
await saveFreeTableData(path.join(resolveArchiveFolder(folder), `${file}.jsonl`), data); await saveFreeTableData(path.join(resolveArchiveFolder(folder), `${file}.jsonl`), data);
socket.emitChanged(`archive-files-changed-${folder}`); socket.emitChanged(`archive-files-changed-${folder}`);
return true; return true;
}, },
loadFreeTable_meta: 'post', loadFreeTable_meta: true,
async loadFreeTable({ folder, file }) { async loadFreeTable({ folder, file }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const fileStream = fs.createReadStream(path.join(resolveArchiveFolder(folder), `${file}.jsonl`)); const fileStream = fs.createReadStream(path.join(resolveArchiveFolder(folder), `${file}.jsonl`));

View File

@@ -21,7 +21,7 @@ module.exports = {
} }
}, },
get_meta: 'get', get_meta: true,
async get() { async get() {
const permissions = process.env.PERMISSIONS ? process.env.PERMISSIONS.split(',') : null; const permissions = process.env.PERMISSIONS ? process.env.PERMISSIONS.split(',') : null;
@@ -33,17 +33,17 @@ module.exports = {
}; };
}, },
platformInfo_meta: 'get', platformInfo_meta: true,
async platformInfo() { async platformInfo() {
return platformInfo; return platformInfo;
}, },
getSettings_meta: 'get', getSettings_meta: true,
async getSettings() { async getSettings() {
return this.settingsValue; return this.settingsValue;
}, },
updateSettings_meta: 'post', updateSettings_meta: true,
async updateSettings(values) { async updateSettings(values) {
if (!hasPermission(`settings/change`)) return false; if (!hasPermission(`settings/change`)) return false;
try { try {
@@ -60,7 +60,7 @@ module.exports = {
} }
}, },
changelog_meta: 'get', changelog_meta: true,
async changelog() { async changelog() {
const resp = await axios.default.get('https://raw.githubusercontent.com/dbgate/dbgate/master/CHANGELOG.md'); const resp = await axios.default.get('https://raw.githubusercontent.com/dbgate/dbgate/master/CHANGELOG.md');
return resp.data; return resp.data;

View File

@@ -126,7 +126,7 @@ module.exports = {
} }
}, },
list_meta: 'get', list_meta: true,
async list() { async list() {
return portalConnections || this.datastore.find(); return portalConnections || this.datastore.find();
}, },
@@ -148,7 +148,7 @@ module.exports = {
subprocess.send(req.body); subprocess.send(req.body);
}, },
save_meta: 'post', save_meta: true,
async save(connection) { async save(connection) {
if (portalConnections) return; if (portalConnections) return;
let res; let res;
@@ -162,7 +162,7 @@ module.exports = {
return res; return res;
}, },
update_meta: 'post', update_meta: true,
async update({ _id, values }) { async update({ _id, values }) {
if (portalConnections) return; if (portalConnections) return;
const res = await this.datastore.update({ _id }, { $set: values }); const res = await this.datastore.update({ _id }, { $set: values });
@@ -170,7 +170,7 @@ module.exports = {
return res; return res;
}, },
updateDatabase_meta: 'post', updateDatabase_meta: true,
async updateDatabase({ conid, database, values }) { async updateDatabase({ conid, database, values }) {
if (portalConnections) return; if (portalConnections) return;
const conn = await this.datastore.find({ _id: conid }); const conn = await this.datastore.find({ _id: conid });
@@ -185,7 +185,7 @@ module.exports = {
return res; return res;
}, },
delete_meta: 'post', delete_meta: true,
async delete(connection) { async delete(connection) {
if (portalConnections) return; if (portalConnections) return;
const res = await this.datastore.remove(_.pick(connection, '_id')); const res = await this.datastore.remove(_.pick(connection, '_id'));
@@ -193,14 +193,14 @@ module.exports = {
return res; return res;
}, },
get_meta: 'get', get_meta: true,
async get({ conid }) { async get({ conid }) {
if (portalConnections) return portalConnections.find(x => x._id == conid); if (portalConnections) return portalConnections.find(x => x._id == conid);
const res = await this.datastore.find({ _id: conid }); const res = await this.datastore.find({ _id: conid });
return res[0]; return res[0];
}, },
newSqliteDatabase_meta: 'post', newSqliteDatabase_meta: true,
async newSqliteDatabase({ file }) { async newSqliteDatabase({ file }) {
const sqliteDir = path.join(filesdir(), 'sqlite'); const sqliteDir = path.join(filesdir(), 'sqlite');
if (!(await fs.exists(sqliteDir))) { if (!(await fs.exists(sqliteDir))) {

View File

@@ -121,7 +121,7 @@ module.exports = {
return promise; return promise;
}, },
queryData_meta: 'post', queryData_meta: true,
async queryData({ conid, database, sql }) { async queryData({ conid, database, sql }) {
console.log(`Processing query, conid=${conid}, database=${database}, sql=${sql}`); console.log(`Processing query, conid=${conid}, database=${database}, sql=${sql}`);
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
@@ -132,7 +132,7 @@ module.exports = {
return res; return res;
}, },
runScript_meta: 'post', runScript_meta: true,
async runScript({ conid, database, sql }) { async runScript({ conid, database, sql }) {
console.log(`Processing script, conid=${conid}, database=${database}, sql=${sql}`); console.log(`Processing script, conid=${conid}, database=${database}, sql=${sql}`);
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
@@ -140,21 +140,21 @@ module.exports = {
return res; return res;
}, },
collectionData_meta: 'post', collectionData_meta: true,
async collectionData({ conid, database, options }) { async collectionData({ conid, database, options }) {
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
const res = await this.sendRequest(opened, { msgtype: 'collectionData', options }); const res = await this.sendRequest(opened, { msgtype: 'collectionData', options });
return res.result; return res.result;
}, },
updateCollection_meta: 'post', updateCollection_meta: true,
async updateCollection({ conid, database, changeSet }) { async updateCollection({ conid, database, changeSet }) {
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
const res = await this.sendRequest(opened, { msgtype: 'updateCollection', changeSet }); const res = await this.sendRequest(opened, { msgtype: 'updateCollection', changeSet });
return res.result; return res.result;
}, },
status_meta: 'get', status_meta: true,
async status({ conid, database }) { async status({ conid, database }) {
const existing = this.opened.find(x => x.conid == conid && x.database == database); const existing = this.opened.find(x => x.conid == conid && x.database == database);
if (existing) { if (existing) {
@@ -176,7 +176,7 @@ module.exports = {
}; };
}, },
ping_meta: 'post', ping_meta: true,
async ping({ conid, database }) { async ping({ conid, database }) {
let existing = this.opened.find(x => x.conid == conid && x.database == database); let existing = this.opened.find(x => x.conid == conid && x.database == database);
@@ -192,7 +192,7 @@ module.exports = {
}; };
}, },
refresh_meta: 'post', refresh_meta: true,
async refresh({ conid, database, keepOpen }) { async refresh({ conid, database, keepOpen }) {
if (!keepOpen) this.close(conid, database); if (!keepOpen) this.close(conid, database);
@@ -200,7 +200,7 @@ module.exports = {
return { status: 'ok' }; return { status: 'ok' };
}, },
syncModel_meta: 'post', syncModel_meta: true,
async syncModel({ conid, database }) { async syncModel({ conid, database }) {
const conn = await this.ensureOpened(conid, database); const conn = await this.ensureOpened(conid, database);
conn.subprocess.send({ msgtype: 'syncModel' }); conn.subprocess.send({ msgtype: 'syncModel' });
@@ -224,13 +224,13 @@ module.exports = {
} }
}, },
disconnect_meta: 'post', disconnect_meta: true,
async disconnect({ conid, database }) { async disconnect({ conid, database }) {
await this.close(conid, database, true); await this.close(conid, database, true);
return { status: 'ok' }; return { status: 'ok' };
}, },
structure_meta: 'get', structure_meta: true,
async structure({ conid, database }) { async structure({ conid, database }) {
if (conid == '__model') { if (conid == '__model') {
const model = await importDbModel(database); const model = await importDbModel(database);
@@ -247,13 +247,13 @@ module.exports = {
// }; // };
}, },
serverVersion_meta: 'get', serverVersion_meta: true,
async serverVersion({ conid, database }) { async serverVersion({ conid, database }) {
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
return opened.serverVersion; return opened.serverVersion;
}, },
sqlPreview_meta: 'post', sqlPreview_meta: true,
async sqlPreview({ conid, database, objects, options }) { async sqlPreview({ conid, database, objects, options }) {
// wait for structure // wait for structure
await this.structure({ conid, database }); await this.structure({ conid, database });
@@ -263,7 +263,7 @@ module.exports = {
return res; return res;
}, },
exportModel_meta: 'post', exportModel_meta: true,
async exportModel({ conid, database }) { async exportModel({ conid, database }) {
const archiveFolder = await archive.getNewArchiveFolder({ database }); const archiveFolder = await archive.getNewArchiveFolder({ database });
await fs.mkdir(path.join(archivedir(), archiveFolder)); await fs.mkdir(path.join(archivedir(), archiveFolder));
@@ -273,7 +273,7 @@ module.exports = {
return { archiveFolder }; return { archiveFolder };
}, },
generateDeploySql_meta: 'post', generateDeploySql_meta: true,
async generateDeploySql({ conid, database, archiveFolder }) { async generateDeploySql({ conid, database, archiveFolder }) {
const opened = await this.ensureOpened(conid, database); const opened = await this.ensureOpened(conid, database);
const res = await this.sendRequest(opened, { msgtype: 'generateDeploySql', modelFolder: resolveArchiveFolder(archiveFolder) }); const res = await this.sendRequest(opened, { msgtype: 'generateDeploySql', modelFolder: resolveArchiveFolder(archiveFolder) });
@@ -300,7 +300,7 @@ module.exports = {
// }; // };
// return sql; // return sql;
}, },
// runCommand_meta: 'post', // runCommand_meta: true,
// async runCommand({ conid, database, sql }) { // async runCommand({ conid, database, sql }) {
// console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`); // console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`);
// const opened = await this.ensureOpened(conid, database); // const opened = await this.ensureOpened(conid, database);
@@ -343,7 +343,7 @@ module.exports = {
return res; return res;
}, },
generateDbDiffReport_meta: 'post', generateDbDiffReport_meta: true,
async generateDbDiffReport({ filePath, sourceConid, sourceDatabase, targetConid, targetDatabase }) { async generateDbDiffReport({ filePath, sourceConid, sourceDatabase, targetConid, targetDatabase }) {
const unifiedDiff = await this.getUnifiedDiff({ sourceConid, sourceDatabase, targetConid, targetDatabase }); const unifiedDiff = await this.getUnifiedDiff({ sourceConid, sourceDatabase, targetConid, targetDatabase });

View File

@@ -20,7 +20,7 @@ function deserialize(format, text) {
} }
module.exports = { module.exports = {
list_meta: 'get', list_meta: true,
async list({ folder }) { async list({ folder }) {
if (!hasPermission(`files/${folder}/read`)) return []; if (!hasPermission(`files/${folder}/read`)) return [];
const dir = path.join(filesdir(), folder); const dir = path.join(filesdir(), folder);
@@ -29,7 +29,7 @@ module.exports = {
return files; return files;
}, },
listAll_meta: 'get', listAll_meta: true,
async listAll() { async listAll() {
const folders = await fs.readdir(filesdir()); const folders = await fs.readdir(filesdir());
const res = []; const res = [];
@@ -42,7 +42,7 @@ module.exports = {
return res; return res;
}, },
delete_meta: 'post', delete_meta: true,
async delete({ folder, file }) { async delete({ folder, file }) {
if (!hasPermission(`files/${folder}/write`)) return; if (!hasPermission(`files/${folder}/write`)) return;
await fs.unlink(path.join(filesdir(), folder, file)); await fs.unlink(path.join(filesdir(), folder, file));
@@ -50,7 +50,7 @@ module.exports = {
socket.emitChanged(`all-files-changed`); socket.emitChanged(`all-files-changed`);
}, },
rename_meta: 'post', rename_meta: true,
async rename({ folder, file, newFile }) { async rename({ folder, file, newFile }) {
if (!hasPermission(`files/${folder}/write`)) return; if (!hasPermission(`files/${folder}/write`)) return;
await fs.rename(path.join(filesdir(), folder, file), path.join(filesdir(), folder, newFile)); await fs.rename(path.join(filesdir(), folder, file), path.join(filesdir(), folder, newFile));
@@ -58,7 +58,7 @@ module.exports = {
socket.emitChanged(`all-files-changed`); socket.emitChanged(`all-files-changed`);
}, },
copy_meta: 'post', copy_meta: true,
async copy({ folder, file, newFile }) { async copy({ folder, file, newFile }) {
if (!hasPermission(`files/${folder}/write`)) return; if (!hasPermission(`files/${folder}/write`)) return;
await fs.copyFile(path.join(filesdir(), folder, file), path.join(filesdir(), folder, newFile)); await fs.copyFile(path.join(filesdir(), folder, file), path.join(filesdir(), folder, newFile));
@@ -66,7 +66,7 @@ module.exports = {
socket.emitChanged(`all-files-changed`); socket.emitChanged(`all-files-changed`);
}, },
load_meta: 'post', load_meta: true,
async load({ folder, file, format }) { async load({ folder, file, format }) {
if (folder.startsWith('archive:')) { if (folder.startsWith('archive:')) {
const text = await fs.readFile(path.join(resolveArchiveFolder(folder.substring('archive:'.length)), file), { const text = await fs.readFile(path.join(resolveArchiveFolder(folder.substring('archive:'.length)), file), {
@@ -80,7 +80,7 @@ module.exports = {
} }
}, },
save_meta: 'post', save_meta: true,
async save({ folder, file, data, format }) { async save({ folder, file, data, format }) {
if (folder.startsWith('archive:')) { if (folder.startsWith('archive:')) {
const dir = resolveArchiveFolder(folder.substring('archive:'.length)); const dir = resolveArchiveFolder(folder.substring('archive:'.length));
@@ -101,12 +101,12 @@ module.exports = {
} }
}, },
saveAs_meta: 'post', saveAs_meta: true,
async saveAs({ filePath, data, format }) { async saveAs({ filePath, data, format }) {
await fs.writeFile(filePath, serialize(format, data)); await fs.writeFile(filePath, serialize(format, data));
}, },
favorites_meta: 'get', favorites_meta: true,
async favorites() { async favorites() {
if (!hasPermission(`files/favorites/read`)) return []; if (!hasPermission(`files/favorites/read`)) return [];
const dir = path.join(filesdir(), 'favorites'); const dir = path.join(filesdir(), 'favorites');
@@ -125,7 +125,7 @@ module.exports = {
return res; return res;
}, },
generateUploadsFile_meta: 'get', generateUploadsFile_meta: true,
async generateUploadsFile() { async generateUploadsFile() {
const fileName = `${uuidv1()}.html`; const fileName = `${uuidv1()}.html`;
return { return {
@@ -134,7 +134,7 @@ module.exports = {
}; };
}, },
exportChart_meta: 'post', exportChart_meta: true,
async exportChart({ filePath, title, config, image }) { async exportChart({ filePath, title, config, image }) {
const fileName = path.parse(filePath).base; const fileName = path.parse(filePath).base;
const imageFile = fileName.replace('.html', '-preview.png'); const imageFile = fileName.replace('.html', '-preview.png');

View File

@@ -104,7 +104,7 @@ module.exports = {
return datastore; return datastore;
}, },
getInfo_meta: 'get', getInfo_meta: true,
async getInfo({ jslid }) { async getInfo({ jslid }) {
const file = getJslFileName(jslid); const file = getJslFileName(jslid);
const firstLine = await readFirstLine(file); const firstLine = await readFirstLine(file);
@@ -112,13 +112,13 @@ module.exports = {
return null; return null;
}, },
getRows_meta: 'post', getRows_meta: true,
async getRows({ jslid, offset, limit, filters }) { async getRows({ jslid, offset, limit, filters }) {
const datastore = await this.ensureDatastore(jslid); const datastore = await this.ensureDatastore(jslid);
return datastore.getRows(offset, limit, _.isEmpty(filters) ? null : filters); return datastore.getRows(offset, limit, _.isEmpty(filters) ? null : filters);
}, },
getStats_meta: 'get', getStats_meta: true,
getStats({ jslid }) { getStats({ jslid }) {
const file = `${getJslFileName(jslid)}.stats`; const file = `${getJslFileName(jslid)}.stats`;
if (fs.existsSync(file)) { if (fs.existsSync(file)) {
@@ -146,7 +146,7 @@ module.exports = {
// } // }
}, },
saveFreeTable_meta: 'post', saveFreeTable_meta: true,
async saveFreeTable({ jslid, data }) { async saveFreeTable({ jslid, data }) {
saveFreeTableData(getJslFileName(jslid), data); saveFreeTableData(getJslFileName(jslid), data);
return true; return true;

View File

@@ -7,14 +7,14 @@ function pickObjectNames(array) {
} }
module.exports = { module.exports = {
// tableData_meta: 'get', // tableData_meta: true,
// async tableData({ conid, database, schemaName, pureName }) { // async tableData({ conid, database, schemaName, pureName }) {
// const opened = await databaseConnections.ensureOpened(conid, database); // const opened = await databaseConnections.ensureOpened(conid, database);
// const res = await databaseConnections.sendRequest(opened, { msgtype: 'tableData', schemaName, pureName }); // const res = await databaseConnections.sendRequest(opened, { msgtype: 'tableData', schemaName, pureName });
// return res; // return res;
// }, // },
listObjects_meta: 'get', listObjects_meta: true,
async listObjects({ conid, database }) { async listObjects({ conid, database }) {
const opened = await databaseConnections.ensureOpened(conid, database); const opened = await databaseConnections.ensureOpened(conid, database);
const types = ['tables', 'collections', 'views', 'procedures', 'functions', 'triggers']; const types = ['tables', 'collections', 'views', 'procedures', 'functions', 'triggers'];
@@ -27,7 +27,7 @@ module.exports = {
); );
}, },
tableInfo_meta: 'get', tableInfo_meta: true,
async tableInfo({ conid, database, schemaName, pureName }) { async tableInfo({ conid, database, schemaName, pureName }) {
const opened = await databaseConnections.ensureOpened(conid, database); const opened = await databaseConnections.ensureOpened(conid, database);
const table = opened.structure.tables.find(x => x.pureName == pureName && x.schemaName == schemaName); const table = opened.structure.tables.find(x => x.pureName == pureName && x.schemaName == schemaName);
@@ -38,7 +38,7 @@ module.exports = {
}; };
}, },
sqlObjectInfo_meta: 'get', sqlObjectInfo_meta: true,
async sqlObjectInfo({ objectTypeField, conid, database, schemaName, pureName }) { async sqlObjectInfo({ objectTypeField, conid, database, schemaName, pureName }) {
const opened = await databaseConnections.ensureOpened(conid, database); const opened = await databaseConnections.ensureOpened(conid, database);
const res = opened.structure[objectTypeField].find(x => x.pureName == pureName && x.schemaName == schemaName); const res = opened.structure[objectTypeField].find(x => x.pureName == pureName && x.schemaName == schemaName);

View File

@@ -12,7 +12,7 @@ const _ = require('lodash');
const packagedPluginsContent = require('../packagedPluginsContent'); const packagedPluginsContent = require('../packagedPluginsContent');
module.exports = { module.exports = {
script_meta: 'get', script_meta: true,
async script({ packageName }) { async script({ packageName }) {
const packagedContent = packagedPluginsContent(); const packagedContent = packagedPluginsContent();
@@ -30,7 +30,7 @@ module.exports = {
return data; return data;
}, },
search_meta: 'get', search_meta: true,
async search({ filter }) { async search({ filter }) {
// DOCS: https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search // DOCS: https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search
const resp = await axios.default.get( const resp = await axios.default.get(
@@ -40,7 +40,7 @@ module.exports = {
return (objects || []).map(x => x.package); return (objects || []).map(x => x.package);
}, },
info_meta: 'get', info_meta: true,
async info({ packageName }) { async info({ packageName }) {
try { try {
const infoResp = await axios.default.get(`https://registry.npmjs.org/${packageName}`); const infoResp = await axios.default.get(`https://registry.npmjs.org/${packageName}`);
@@ -63,7 +63,7 @@ module.exports = {
} }
}, },
installed_meta: 'get', installed_meta: true,
async installed() { async installed() {
const packagedContent = packagedPluginsContent(); const packagedContent = packagedPluginsContent();
@@ -107,7 +107,7 @@ module.exports = {
// await fs.writeFile(path.join(datadir(), 'removed-plugins'), this.removedPlugins.join('\n')); // await fs.writeFile(path.join(datadir(), 'removed-plugins'), this.removedPlugins.join('\n'));
// }, // },
install_meta: 'post', install_meta: true,
async install({ packageName }) { async install({ packageName }) {
if (!hasPermission(`plugins/install`)) return; if (!hasPermission(`plugins/install`)) return;
const dir = path.join(pluginsdir(), packageName); const dir = path.join(pluginsdir(), packageName);
@@ -120,7 +120,7 @@ module.exports = {
// await this.saveRemovePlugins(); // await this.saveRemovePlugins();
}, },
uninstall_meta: 'post', uninstall_meta: true,
async uninstall({ packageName }) { async uninstall({ packageName }) {
if (!hasPermission(`plugins/install`)) return; if (!hasPermission(`plugins/install`)) return;
const dir = path.join(pluginsdir(), packageName); const dir = path.join(pluginsdir(), packageName);
@@ -130,7 +130,7 @@ module.exports = {
await this.saveRemovePlugins(); await this.saveRemovePlugins();
}, },
upgrade_meta: 'post', upgrade_meta: true,
async upgrade({ packageName }) { async upgrade({ packageName }) {
if (!hasPermission(`plugins/install`)) return; if (!hasPermission(`plugins/install`)) return;
const dir = path.join(pluginsdir(), packageName); const dir = path.join(pluginsdir(), packageName);
@@ -143,13 +143,13 @@ module.exports = {
socket.emitChanged(`installed-plugins-changed`); socket.emitChanged(`installed-plugins-changed`);
}, },
command_meta: 'post', command_meta: true,
async command({ packageName, command, args }) { async command({ packageName, command, args }) {
const content = requirePlugin(packageName); const content = requirePlugin(packageName);
return content.commands[command](args); return content.commands[command](args);
}, },
authTypes_meta: 'get', authTypes_meta: true,
async authTypes({ engine }) { async authTypes({ engine }) {
const packageName = extractPackageName(engine); const packageName = extractPackageName(engine);
const content = requirePlugin(packageName); const content = requirePlugin(packageName);

View File

@@ -34,7 +34,7 @@ function readCore(reader, skip, limit, filter) {
} }
module.exports = { module.exports = {
read_meta: 'get', read_meta: true,
async read({ skip, limit, filter }) { async read({ skip, limit, filter }) {
const fileName = path.join(datadir(), 'query-history.jsonl'); const fileName = path.join(datadir(), 'query-history.jsonl');
// @ts-ignore // @ts-ignore
@@ -44,7 +44,7 @@ module.exports = {
return res; return res;
}, },
write_meta: 'post', write_meta: true,
async write({ data }) { async write({ data }) {
const fileName = path.join(datadir(), 'query-history.jsonl'); const fileName = path.join(datadir(), 'query-history.jsonl');
await fs.appendFile(fileName, JSON.stringify(data) + '\n'); await fs.appendFile(fileName, JSON.stringify(data) + '\n');

View File

@@ -139,18 +139,18 @@ module.exports = {
return newOpened; return newOpened;
}, },
start_meta: 'post', start_meta: true,
async start({ script }) { async start({ script }) {
const runid = uuidv1(); const runid = uuidv1();
return this.startCore(runid, scriptTemplate(script, false)); return this.startCore(runid, scriptTemplate(script, false));
}, },
getNodeScript_meta: 'post', getNodeScript_meta: true,
async getNodeScript({ script }) { async getNodeScript({ script }) {
return scriptTemplate(script, true); return scriptTemplate(script, true);
}, },
cancel_meta: 'post', cancel_meta: true,
async cancel({ runid }) { async cancel({ runid }) {
const runner = this.opened.find(x => x.runid == runid); const runner = this.opened.find(x => x.runid == runid);
if (!runner) { if (!runner) {
@@ -160,7 +160,7 @@ module.exports = {
return { state: 'ok' }; return { state: 'ok' };
}, },
files_meta: 'get', files_meta: true,
async files({ runid }) { async files({ runid }) {
const directory = path.join(rundir(), runid); const directory = path.join(rundir(), runid);
const files = await fs.readdir(directory); const files = await fs.readdir(directory);
@@ -176,7 +176,7 @@ module.exports = {
return res; return res;
}, },
loadReader_meta: 'post', loadReader_meta: true,
async loadReader({ functionName, props }) { async loadReader({ functionName, props }) {
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
const runid = uuidv1(); const runid = uuidv1();

View File

@@ -86,25 +86,25 @@ module.exports = {
} }
}, },
disconnect_meta: 'post', disconnect_meta: true,
async disconnect({ conid }) { async disconnect({ conid }) {
await this.close(conid, true); await this.close(conid, true);
return { status: 'ok' }; return { status: 'ok' };
}, },
listDatabases_meta: 'get', listDatabases_meta: true,
async listDatabases({ conid }) { async listDatabases({ conid }) {
const opened = await this.ensureOpened(conid); const opened = await this.ensureOpened(conid);
return opened.databases; return opened.databases;
}, },
version_meta: 'get', version_meta: true,
async version({ conid }) { async version({ conid }) {
const opened = await this.ensureOpened(conid); const opened = await this.ensureOpened(conid);
return opened.version; return opened.version;
}, },
serverStatus_meta: 'get', serverStatus_meta: true,
async serverStatus() { async serverStatus() {
return { return {
...this.closed, ...this.closed,
@@ -112,7 +112,7 @@ module.exports = {
}; };
}, },
ping_meta: 'post', ping_meta: true,
async ping({ connections }) { async ping({ connections }) {
await Promise.all( await Promise.all(
_.uniq(connections).map(async conid => { _.uniq(connections).map(async conid => {
@@ -128,7 +128,7 @@ module.exports = {
return { status: 'ok' }; return { status: 'ok' };
}, },
refresh_meta: 'post', refresh_meta: true,
async refresh({ conid, keepOpen }) { async refresh({ conid, keepOpen }) {
if (!keepOpen) this.close(conid); if (!keepOpen) this.close(conid);
@@ -136,7 +136,7 @@ module.exports = {
return { status: 'ok' }; return { status: 'ok' };
}, },
createDatabase_meta: 'post', createDatabase_meta: true,
async createDatabase({ conid, name }) { async createDatabase({ conid, name }) {
const opened = await this.ensureOpened(conid); const opened = await this.ensureOpened(conid);
opened.subprocess.send({ msgtype: 'createDatabase', name }); opened.subprocess.send({ msgtype: 'createDatabase', name });

View File

@@ -61,7 +61,7 @@ module.exports = {
handle_ping() {}, handle_ping() {},
create_meta: 'post', create_meta: true,
async create({ conid, database }) { async create({ conid, database }) {
const sesid = uuidv1(); const sesid = uuidv1();
const connection = await connections.get({ conid }); const connection = await connections.get({ conid });
@@ -84,7 +84,7 @@ module.exports = {
return newOpened; return newOpened;
}, },
executeQuery_meta: 'post', executeQuery_meta: true,
async executeQuery({ sesid, sql }) { async executeQuery({ sesid, sql }) {
const session = this.opened.find(x => x.sesid == sesid); const session = this.opened.find(x => x.sesid == sesid);
if (!session) { if (!session) {
@@ -98,7 +98,7 @@ module.exports = {
return { state: 'ok' }; return { state: 'ok' };
}, },
// cancel_meta: 'post', // cancel_meta: true,
// async cancel({ sesid }) { // async cancel({ sesid }) {
// const session = this.opened.find((x) => x.sesid == sesid); // const session = this.opened.find((x) => x.sesid == sesid);
// if (!session) { // if (!session) {
@@ -108,7 +108,7 @@ module.exports = {
// return { state: 'ok' }; // return { state: 'ok' };
// }, // },
kill_meta: 'post', kill_meta: true,
async kill({ sesid }) { async kill({ sesid }) {
const session = this.opened.find(x => x.sesid == sesid); const session = this.opened.find(x => x.sesid == sesid);
if (!session) { if (!session) {
@@ -119,7 +119,7 @@ module.exports = {
return { state: 'ok' }; return { state: 'ok' };
}, },
// runCommand_meta: 'post', // runCommand_meta: true,
// async runCommand({ conid, database, sql }) { // async runCommand({ conid, database, sql }) {
// console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`); // console.log(`Running SQL command , conid=${conid}, database=${database}, sql=${sql}`);
// const opened = await this.ensureOpened(conid, database); // const opened = await this.ensureOpened(conid, database);

View File

@@ -23,13 +23,13 @@ module.exports = function useController(app, route, controller) {
const meta = controller[`${key}_meta`]; const meta = controller[`${key}_meta`];
if (!meta) continue; if (!meta) continue;
let method = 'get'; let method = 'post';
let raw = false; let raw = false;
let rawParams = false; let rawParams = false;
if (_.isString(meta)) { // if (_.isString(meta)) {
method = meta; // method = meta;
} // }
if (_.isPlainObject(meta)) { if (_.isPlainObject(meta)) {
method = meta.method; method = meta.method;
raw = meta.raw; raw = meta.raw;