ストリーム経由でAPIにリクエストできるように

This commit is contained in:
syuilo
2018-04-11 17:40:01 +09:00
parent 91791834be
commit bd3d57a67f
15 changed files with 137 additions and 179 deletions

View File

@ -36,14 +36,10 @@ import App, { pack } from '../../../../models/app';
/**
* Show an app
*
* @param {any} params
* @param {any} user
* @param {any} _
* @param {any} isSecure
* @return {Promise<any>}
*/
module.exports = (params, user, _, isSecure) => new Promise(async (res, rej) => {
module.exports = (params, user, app) => new Promise(async (res, rej) => {
const isSecure = user != null && app == null;
// Get 'appId' parameter
const [appId, appIdErr] = $(params.appId).optional.id().$;
if (appIdErr) return rej('invalid appId param');
@ -57,16 +53,16 @@ module.exports = (params, user, _, isSecure) => new Promise(async (res, rej) =>
}
// Lookup app
const app = appId !== undefined
const ap = appId !== undefined
? await App.findOne({ _id: appId })
: await App.findOne({ nameIdLower: nameId.toLowerCase() });
if (app === null) {
if (ap === null) {
return rej('app not found');
}
// Send response
res(await pack(app, user, {
includeSecret: isSecure && app.userId.equals(user._id)
res(await pack(ap, user, {
includeSecret: isSecure && ap.userId.equals(user._id)
}));
});

View File

@ -6,7 +6,9 @@ import User, { pack } from '../../../models/user';
/**
* Show myself
*/
module.exports = (params, user, _, isSecure) => new Promise(async (res, rej) => {
module.exports = (params, user, app) => new Promise(async (res, rej) => {
const isSecure = user != null && app == null;
// Serialize
res(await pack(user, user, {
detail: true,

View File

@ -7,14 +7,10 @@ import event from '../../../../publishers/stream';
/**
* Update myself
*
* @param {any} params
* @param {any} user
* @param {any} _
* @param {boolean} isSecure
* @return {Promise<any>}
*/
module.exports = async (params, user, _, isSecure) => new Promise(async (res, rej) => {
module.exports = async (params, user, app) => new Promise(async (res, rej) => {
const isSecure = user != null && app == null;
// Get 'name' parameter
const [name, nameErr] = $(params.name).optional.nullable.string().pipe(isValidName).$;
if (nameErr) return rej('invalid name param');

View File

@ -35,9 +35,6 @@ import Meta from '../../../models/meta';
/**
* Show core info
*
* @param {any} params
* @return {Promise<any>}
*/
module.exports = (params) => new Promise(async (res, rej) => {
const meta: any = (await Meta.findOne()) || {};

View File

@ -6,14 +6,8 @@ import Subscription from '../../../../models/sw-subscription';
/**
* subscribe service worker
*
* @param {any} params
* @param {any} user
* @param {any} _
* @param {boolean} isSecure
* @return {Promise<any>}
*/
module.exports = async (params, user, _, isSecure) => new Promise(async (res, rej) => {
module.exports = async (params, user, app) => new Promise(async (res, rej) => {
// Get 'endpoint' parameter
const [endpoint, endpointErr] = $(params.endpoint).string().$;
if (endpointErr) return rej('invalid endpoint param');