Add i/apps private API
This commit is contained in:
		
							parent
							
								
									3e1e234799
								
							
						
					
					
						commit
						9ea1ed8559
					
				
					 1 changed files with 41 additions and 0 deletions
				
			
		
							
								
								
									
										41
									
								
								src/server/api/endpoints/i/apps.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								src/server/api/endpoints/i/apps.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| import $ from 'cafy'; | ||||
| import define from '../../define'; | ||||
| import { AccessTokens } from '../../../../models'; | ||||
| 
 | ||||
| export const meta = { | ||||
| 	requireCredential: true as const, | ||||
| 
 | ||||
| 	secure: true, | ||||
| 
 | ||||
| 	params: { | ||||
| 		sort: { | ||||
| 			validator: $.optional.str.or([ | ||||
| 				'+createdAt', | ||||
| 				'-createdAt', | ||||
| 				'+lastUsedAt', | ||||
| 				'-lastUsedAt', | ||||
| 			]), | ||||
| 		}, | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| export default define(meta, async (ps, user) => { | ||||
| 	const query = AccessTokens.createQueryBuilder('token'); | ||||
| 
 | ||||
| 	switch (ps.sort) { | ||||
| 		case '+createdAt': query.orderBy('token.createdAt', 'DESC'); break; | ||||
| 		case '-createdAt': query.orderBy('token.createdAt', 'ASC'); break; | ||||
| 		case '+lastUsedAt': query.andWhere('token.lastUsedAt IS NOT NULL').orderBy('token.lastUsedAt', 'DESC'); break; | ||||
| 		case '-lastUsedAt': query.andWhere('token.lastUsedAt IS NOT NULL').orderBy('token.lastUsedAt', 'ASC'); break; | ||||
| 		default: query.orderBy('token.id', 'ASC'); break; | ||||
| 	} | ||||
| 
 | ||||
| 	const tokens = await query.getMany(); | ||||
| 
 | ||||
| 	return await Promise.all(tokens.map(token => ({ | ||||
| 		id: token.id, | ||||
| 		name: token.name, | ||||
| 		createdAt: token.createdAt, | ||||
| 		lastUsedAt: token.lastUsedAt, | ||||
| 	}))); | ||||
| }); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue