Resolve #2623
This commit is contained in:
		| @@ -5,23 +5,27 @@ import App from '../../../../models/app'; | ||||
| import AuthSess from '../../../../models/auth-session'; | ||||
| import AccessToken from '../../../../models/access-token'; | ||||
| import { ILocalUser } from '../../../../models/user'; | ||||
| import getParams from '../../get-params'; | ||||
|  | ||||
| export const meta = { | ||||
| 	requireCredential: true, | ||||
| 	secure: true | ||||
|  | ||||
| 	secure: true, | ||||
|  | ||||
| 	params: { | ||||
| 		token: { | ||||
| 			validator: $.str | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Accept | ||||
|  */ | ||||
| export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { | ||||
| 	// Get 'token' parameter | ||||
| 	const [token, tokenErr] = $.str.get(params.token); | ||||
| 	if (tokenErr) return rej('invalid token param'); | ||||
| 	const [ps, psErr] = getParams(meta, params); | ||||
| 	if (psErr) return rej(psErr); | ||||
|  | ||||
| 	// Fetch token | ||||
| 	const session = await AuthSess | ||||
| 		.findOne({ token: token }); | ||||
| 		.findOne({ token: ps.token }); | ||||
|  | ||||
| 	if (session === null) { | ||||
| 		return rej('session not found'); | ||||
|   | ||||
| @@ -1,26 +1,27 @@ | ||||
| /** | ||||
|  * Module dependencies | ||||
|  */ | ||||
| import * as uuid from 'uuid'; | ||||
| import $ from 'cafy'; | ||||
| import App from '../../../../../models/app'; | ||||
| import AuthSess from '../../../../../models/auth-session'; | ||||
| import config from '../../../../../config'; | ||||
| import getParams from '../../../get-params'; | ||||
|  | ||||
| export const meta = { | ||||
| 	requireCredential: false, | ||||
|  | ||||
| 	params: { | ||||
| 		appSecret: { | ||||
| 			validator: $.str | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Generate a session | ||||
|  * | ||||
|  * @param {any} params | ||||
|  * @return {Promise<any>} | ||||
|  */ | ||||
| export default (params: any) => new Promise(async (res, rej) => { | ||||
| 	// Get 'appSecret' parameter | ||||
| 	const [appSecret, appSecretErr] = $.str.get(params.appSecret); | ||||
| 	if (appSecretErr) return rej('invalid appSecret param'); | ||||
| 	const [ps, psErr] = getParams(meta, params); | ||||
| 	if (psErr) return rej(psErr); | ||||
|  | ||||
| 	// Lookup app | ||||
| 	const app = await App.findOne({ | ||||
| 		secret: appSecret | ||||
| 		secret: ps.appSecret | ||||
| 	}); | ||||
|  | ||||
| 	if (app == null) { | ||||
|   | ||||
| @@ -1,18 +1,25 @@ | ||||
| import $ from 'cafy'; | ||||
| import AuthSess, { pack } from '../../../../../models/auth-session'; | ||||
| import { ILocalUser } from '../../../../../models/user'; | ||||
| import getParams from '../../../get-params'; | ||||
|  | ||||
| export const meta = { | ||||
| 	requireCredential: false, | ||||
|  | ||||
| 	params: { | ||||
| 		token: { | ||||
| 			validator: $.str | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Show a session | ||||
|  */ | ||||
| export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { | ||||
| 	// Get 'token' parameter | ||||
| 	const [token, tokenErr] = $.str.get(params.token); | ||||
| 	if (tokenErr) return rej('invalid token param'); | ||||
| 	const [ps, psErr] = getParams(meta, params); | ||||
| 	if (psErr) return rej(psErr); | ||||
|  | ||||
| 	// Lookup session | ||||
| 	const session = await AuthSess.findOne({ | ||||
| 		token: token | ||||
| 		token: ps.token | ||||
| 	}); | ||||
|  | ||||
| 	if (session == null) { | ||||
|   | ||||
| @@ -1,40 +1,41 @@ | ||||
| /** | ||||
|  * Module dependencies | ||||
|  */ | ||||
| import $ from 'cafy'; | ||||
| import App from '../../../../../models/app'; | ||||
| import AuthSess from '../../../../../models/auth-session'; | ||||
| import AccessToken from '../../../../../models/access-token'; | ||||
| import { pack } from '../../../../../models/user'; | ||||
| import getParams from '../../../get-params'; | ||||
|  | ||||
| export const meta = { | ||||
| 	requireCredential: false, | ||||
|  | ||||
| 	params: { | ||||
| 		appSecret: { | ||||
| 			validator: $.str | ||||
| 		}, | ||||
|  | ||||
| 		token: { | ||||
| 			validator: $.str | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Generate a session | ||||
|  * | ||||
|  * @param {any} params | ||||
|  * @return {Promise<any>} | ||||
|  */ | ||||
| export default (params: any) => new Promise(async (res, rej) => { | ||||
| 	// Get 'appSecret' parameter | ||||
| 	const [appSecret, appSecretErr] = $.str.get(params.appSecret); | ||||
| 	if (appSecretErr) return rej('invalid appSecret param'); | ||||
| 	const [ps, psErr] = getParams(meta, params); | ||||
| 	if (psErr) return rej(psErr); | ||||
|  | ||||
| 	// Lookup app | ||||
| 	const app = await App.findOne({ | ||||
| 		secret: appSecret | ||||
| 		secret: ps.appSecret | ||||
| 	}); | ||||
|  | ||||
| 	if (app == null) { | ||||
| 		return rej('app not found'); | ||||
| 	} | ||||
|  | ||||
| 	// Get 'token' parameter | ||||
| 	const [token, tokenErr] = $.str.get(params.token); | ||||
| 	if (tokenErr) return rej('invalid token param'); | ||||
|  | ||||
| 	// Fetch token | ||||
| 	const session = await AuthSess | ||||
| 		.findOne({ | ||||
| 			token: token, | ||||
| 			token: ps.token, | ||||
| 			appId: app._id | ||||
| 		}); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo