Clean up
This commit is contained in:
		
							parent
							
								
									86c60f045f
								
							
						
					
					
						commit
						b93d2922e5
					
				
					 1 changed files with 57 additions and 58 deletions
				
			
		| 
						 | 
				
			
			@ -26,7 +26,7 @@ import serialize from '../../../serializers/user';
 | 
			
		|||
 *         in: formData
 | 
			
		||||
 *         required: true
 | 
			
		||||
 *         type: string
 | 
			
		||||
 *     
 | 
			
		||||
 *
 | 
			
		||||
 *     responses:
 | 
			
		||||
 *       200:
 | 
			
		||||
 *         description: OK
 | 
			
		||||
| 
						 | 
				
			
			@ -51,66 +51,65 @@ import serialize from '../../../serializers/user';
 | 
			
		|||
 * @return {Promise<object>}
 | 
			
		||||
 */
 | 
			
		||||
module.exports = (params) =>
 | 
			
		||||
	new Promise(async (res, rej) =>
 | 
			
		||||
{
 | 
			
		||||
	// Get 'app_secret' parameter
 | 
			
		||||
	const appSecret = params.app_secret;
 | 
			
		||||
	if (appSecret == null) {
 | 
			
		||||
		return rej('app_secret is required');
 | 
			
		||||
	}
 | 
			
		||||
	new Promise(async (res, rej) => {
 | 
			
		||||
		// Get 'app_secret' parameter
 | 
			
		||||
		const appSecret = params.app_secret;
 | 
			
		||||
		if (appSecret == null) {
 | 
			
		||||
			return rej('app_secret is required');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	// Lookup app
 | 
			
		||||
	const app = await App.findOne({
 | 
			
		||||
		secret: appSecret
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	if (app == null) {
 | 
			
		||||
		return rej('app not found');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Get 'token' parameter
 | 
			
		||||
	const token = params.token;
 | 
			
		||||
	if (token == null) {
 | 
			
		||||
		return rej('token is required');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Fetch token
 | 
			
		||||
	const session = await AuthSess
 | 
			
		||||
		.findOne({
 | 
			
		||||
			token: token,
 | 
			
		||||
			app_id: app._id
 | 
			
		||||
		// Lookup app
 | 
			
		||||
		const app = await App.findOne({
 | 
			
		||||
			secret: appSecret
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
	if (session === null) {
 | 
			
		||||
		return rej('session not found');
 | 
			
		||||
	}
 | 
			
		||||
		if (app == null) {
 | 
			
		||||
			return rej('app not found');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (session.user_id == null) {
 | 
			
		||||
		return rej('this session is not allowed yet');
 | 
			
		||||
	}
 | 
			
		||||
		// Get 'token' parameter
 | 
			
		||||
		const token = params.token;
 | 
			
		||||
		if (token == null) {
 | 
			
		||||
			return rej('token is required');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	// Lookup access token
 | 
			
		||||
	const accessToken = await AccessToken.findOne({
 | 
			
		||||
		app_id: app._id,
 | 
			
		||||
		user_id: session.user_id
 | 
			
		||||
		// Fetch token
 | 
			
		||||
		const session = await AuthSess
 | 
			
		||||
			.findOne({
 | 
			
		||||
				token: token,
 | 
			
		||||
				app_id: app._id
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
		if (session === null) {
 | 
			
		||||
			return rej('session not found');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (session.user_id == null) {
 | 
			
		||||
			return rej('this session is not allowed yet');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Lookup access token
 | 
			
		||||
		const accessToken = await AccessToken.findOne({
 | 
			
		||||
			app_id: app._id,
 | 
			
		||||
			user_id: session.user_id
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		// Delete session
 | 
			
		||||
 | 
			
		||||
		/* https://github.com/Automattic/monk/issues/178
 | 
			
		||||
		AuthSess.deleteOne({
 | 
			
		||||
			_id: session._id
 | 
			
		||||
		});
 | 
			
		||||
		*/
 | 
			
		||||
		AuthSess.remove({
 | 
			
		||||
			_id: session._id
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		// Response
 | 
			
		||||
		res({
 | 
			
		||||
			access_token: accessToken.token,
 | 
			
		||||
			user: await serialize(session.user_id, null, {
 | 
			
		||||
				detail: true
 | 
			
		||||
			})
 | 
			
		||||
		});
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	// Delete session
 | 
			
		||||
 | 
			
		||||
	/* https://github.com/Automattic/monk/issues/178
 | 
			
		||||
	AuthSess.deleteOne({
 | 
			
		||||
		_id: session._id
 | 
			
		||||
	});
 | 
			
		||||
	*/
 | 
			
		||||
	AuthSess.remove({
 | 
			
		||||
		_id: session._id
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	// Response
 | 
			
		||||
	res({
 | 
			
		||||
		access_token: accessToken.token,
 | 
			
		||||
		user: await serialize(session.user_id, null, {
 | 
			
		||||
			detail: true
 | 
			
		||||
		})
 | 
			
		||||
	});
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue