mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-10-30 17:14:43 +00:00 
			
		
		
		
	Ready to implement account export
This commit is contained in:
		| @@ -220,8 +220,18 @@ export class AccountController { | ||||
| 	public static async ExportData(h: RequestHandler) { | ||||
| 		await h.needUserPostPassword("password"); | ||||
|  | ||||
| 		// TODO : implement | ||||
| 		h.error(500, "Method not implemented yet."); | ||||
| 		const data = await AccountHelper.Export(h.getUserId()); | ||||
| 		 | ||||
| 		const out: any = { | ||||
| 			userID: data.userID | ||||
| 		}; | ||||
|  | ||||
|  | ||||
|  | ||||
| 		// TODO : continue | ||||
|  | ||||
|  | ||||
| 		h.send(out); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
|   | ||||
							
								
								
									
										20
									
								
								src/entities/AccountExport.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/entities/AccountExport.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| /** | ||||
|  * Account data export | ||||
|  *  | ||||
|  * @author Pierre Hubert | ||||
|  */ | ||||
|  | ||||
| export interface AccountExportBuilder { | ||||
| 	userID: number; | ||||
| } | ||||
|  | ||||
| export class AccountExport implements AccountExportBuilder { | ||||
| 	userID: number; | ||||
|  | ||||
| 	public constructor(info: AccountExportBuilder) { | ||||
| 		for (const key in info) { | ||||
| 			if (info.hasOwnProperty(key)) | ||||
| 				this[key] = info[key]; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -6,6 +6,7 @@ import { UserHelper } from "./UserHelper"; | ||||
| import { time, mysql_date } from "../utils/DateUtils"; | ||||
| import { NewAccount } from "../entities/NewAccount"; | ||||
| import { GeneralSettings, UserPageStatus, LangSettings, SecuritySettings } from "../entities/User"; | ||||
| import { AccountExport } from "../entities/AccountExport"; | ||||
|  | ||||
| /** | ||||
|  * Account helper | ||||
| @@ -374,4 +375,20 @@ export class AccountHelper { | ||||
| 			} | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Export all the data of an account | ||||
| 	 *  | ||||
| 	 * @param userID Target user ID | ||||
| 	 */ | ||||
| 	public static async Export(userID: number) : Promise<AccountExport> { | ||||
| 		const data = new AccountExport({ | ||||
| 			userID: userID | ||||
| 		}) | ||||
|  | ||||
|  | ||||
| 		// TODO : continue | ||||
|  | ||||
| 		return data; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user