11import { FormDataFile } from "$deps" ;
22import { S3 } from "$components" ;
3- import { IFileDTO , IFileService } from "$common" ;
4- import { FileRespository } from "$repositories" ;
3+ import { IFileDTO , IFileService , IPersonDTO } from "$common" ;
4+ import { FileRespository , PersonRepository } from "$repositories" ;
5+ import { PersonService } from "$services" ;
56
67class FileService implements IFileService {
78 private s3 : typeof S3 ;
89 private fileRepository : typeof FileRespository ;
10+ private personService : typeof PersonService ;
911
1012 constructor ( s3 : typeof S3 ) {
1113 this . s3 = s3 ;
1214 this . fileRepository = FileRespository ;
15+ this . personService = PersonService ;
1316 }
1417
1518 public async handlerFilesPerson ( files : Array < FormDataFile > ) : Promise < void > {
1619 return this . processFilesPerson ( files ) ;
1720 }
1821
1922 private async processFilesPerson ( files : Array < FormDataFile > ) : Promise < void > {
20- const person : Array < string > = [ ] ;
23+ const user : Array < Partial < IPersonDTO > > = [ ]
2124
2225 for ( const file of files ) {
2326 const isTypeCsvOrXml = file . contentType === "text/csv" ||
@@ -36,13 +39,21 @@ class FileService implements IFileService {
3639
3740 await this . s3 . handlerBucket ( whithoutHeader , filename ) ;
3841
39- const readS3 = await this . s3 . readFileFromS3 ( filename ) as Array < string > ;
40-
4142 await this . fileRepository . handleCreate ( filename ) ;
4243
44+ const readS3 = await this . s3 . readFileFromS3 ( filename ) as Array < string > ;
45+
4346 for ( const result of readS3 ) {
4447 const [ name , age , sex , size , weight ] = result . split ( "," ) ;
45- console . log ( result . split ( ',' ) )
48+ const personObject = {
49+ name,
50+ age : Number ( age ) ,
51+ sex,
52+ size : Number ( size ) ,
53+ weight : Number ( weight )
54+ }
55+
56+ await this . personService . create ( personObject )
4657 }
4758 }
4859 }
0 commit comments