@@ -245,7 +245,7 @@ export class KuzuDriver {
245245
246246 console . log ( 'Schema created: ' , result ) ;
247247 }
248- async uploadCsvFile ( file : File ) : Promise < any > {
248+ async uploadCsvFile ( file : File , meta ) : Promise < any > {
249249 return new Promise ( ( resolve , reject ) => {
250250 if ( file ) {
251251 const reader = new FileReader ( ) ;
@@ -258,10 +258,11 @@ export class KuzuDriver {
258258 var label_name = file . name . split ( '.' ) [ 0 ] ;
259259 await this . FS . writeFile ( filePath , fileData ) ;
260260 var res ;
261+
262+ const { delimiter } = meta ;
261263 res = await this . conn ?. execute (
262- `COPY ${ label_name } FROM "${ filePath } " (HEADER=true, DELIM="|", ESCAPE='"', QUOTE='" ');` ,
264+ `COPY ${ label_name } FROM "${ filePath } " (HEADER=true, DELIM=' ${ delimiter } ');` ,
263265 ) ;
264- console . log ( 'File uploaded successfully!' , filePath ) ;
265266 resolve ( res ) ; // Resolve the Promise
266267 } catch ( error ) {
267268 reject ( error ) ; // Reject the Promise on error
@@ -279,15 +280,23 @@ export class KuzuDriver {
279280 } ) ;
280281 }
281282 async loadGraph ( data_files : File [ ] ) : Promise < any > {
283+ const logs : any = {
284+ nodes : [ ] ,
285+ edges : [ ] ,
286+ } ;
287+
282288 for ( const node of this . schema . nodes ) {
283289 const file = data_files . find ( item => {
284290 //@ts -ignore
285291 return item . name === node . label + '.csv' ;
286292 } ) ;
287293 if ( file ) {
288294 console . log ( 'node: ' , file . name ) ;
289- await this . uploadCsvFile ( file ) . then ( res => {
290- console . log ( 'Response received:' , res . toString ( ) ) ;
295+ await this . uploadCsvFile ( file , node . meta ) . then ( res => {
296+ logs . nodes . push ( {
297+ name : file . name ,
298+ message : res . toString ( ) ,
299+ } ) ;
291300 } ) ;
292301 }
293302 }
@@ -297,14 +306,15 @@ export class KuzuDriver {
297306 return item . name === edge . label + '.csv' ;
298307 } ) ;
299308 if ( file ) {
300- console . log ( 'edge: ' , file . name ) ;
301- await this . uploadCsvFile ( file ) . then ( res => {
302- console . log ( 'Response received:' , res . toString ( ) ) ;
309+ await this . uploadCsvFile ( file , edge . meta ) . then ( res => {
310+ logs . edges . push ( {
311+ name : file . name ,
312+ message : res . toString ( ) ,
313+ } ) ;
303314 } ) ;
304315 }
305316 }
306-
307- return true ;
317+ return logs ;
308318 }
309319
310320 pathJoin ( ...segments ) {
0 commit comments