Resolve #2215
This commit is contained in:
		
							
								
								
									
										46
									
								
								src/server/api/endpoints/admin/unsuspend-user.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/server/api/endpoints/admin/unsuspend-user.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
import $ from 'cafy';
 | 
			
		||||
import ID from '../../../../misc/cafy-id';
 | 
			
		||||
import getParams from '../../get-params';
 | 
			
		||||
import User from '../../../../models/user';
 | 
			
		||||
 | 
			
		||||
export const meta = {
 | 
			
		||||
	desc: {
 | 
			
		||||
		ja: '指定したユーザーの凍結を解除します。',
 | 
			
		||||
		en: 'Unsuspend a user.'
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	requireCredential: true,
 | 
			
		||||
	requireAdmin: true,
 | 
			
		||||
 | 
			
		||||
	params: {
 | 
			
		||||
		userId: $.type(ID).note({
 | 
			
		||||
			desc: {
 | 
			
		||||
				ja: '対象のユーザーID',
 | 
			
		||||
				en: 'The user ID which you want to unsuspend'
 | 
			
		||||
			}
 | 
			
		||||
		}),
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default (params: any) => new Promise(async (res, rej) => {
 | 
			
		||||
	const [ps, psErr] = getParams(meta, params);
 | 
			
		||||
	if (psErr) return rej(psErr);
 | 
			
		||||
 | 
			
		||||
	const user = await User.findOne({
 | 
			
		||||
		_id: ps.userId
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	if (user == null) {
 | 
			
		||||
		return rej('user not found');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	await User.findOneAndUpdate({
 | 
			
		||||
		_id: user._id
 | 
			
		||||
	}, {
 | 
			
		||||
			$set: {
 | 
			
		||||
				isSuspended: false
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
	res();
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user