mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-29 16:16:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
		
			860 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			860 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import http, { FractalResponseData } from '@/api/http';
 | |
| import { Subuser } from '@/state/server/subusers';
 | |
| 
 | |
| export const rawDataToServerSubuser = (data: FractalResponseData): Subuser => ({
 | |
|     uuid: data.attributes.uuid,
 | |
|     username: data.attributes.username,
 | |
|     email: data.attributes.email,
 | |
|     image: data.attributes.image,
 | |
|     twoFactorEnabled: data.attributes['2fa_enabled'],
 | |
|     createdAt: new Date(data.attributes.created_at),
 | |
|     permissions: data.attributes.permissions || [],
 | |
|     can: permission => (data.attributes.permissions || []).indexOf(permission) >= 0,
 | |
| });
 | |
| 
 | |
| export default (uuid: string): Promise<Subuser[]> => {
 | |
|     return new Promise((resolve, reject) => {
 | |
|         http.get(`/api/client/servers/${uuid}/users`)
 | |
|             .then(({ data }) => resolve((data.data || []).map(rawDataToServerSubuser)))
 | |
|             .catch(reject);
 | |
|     });
 | |
| };
 | 
