@@ -106,87 +106,82 @@ class Metadata {
106
106
async getMetadataId ( JAVID , version = 1 , JAVmetadata ) {
107
107
logger . debug ( 'Creating JAV metadata record' , JAVID )
108
108
109
- return new Promise ( async ( resolve ) => {
110
- try {
111
- const metadataId = await db ( 'metadatas' ) . where ( 'companyName' , JAVID . split ( '-' ) [ 0 ] ) . where ( 'companyId' , JAVID . split ( '-' ) [ 1 ] ) . first ( )
112
- if ( metadataId && metadataId . id ) {
113
- resolve ( metadataId . id )
114
- } else {
115
- await db . transaction ( async trx => {
116
- let JAVinfo
117
-
118
- switch ( version ) {
119
- case 1 :
120
- JAVinfo = await this . fetchNew ( JAVID )
121
- logger . debug ( 'JAVinfo' , JAVinfo )
122
-
123
- if ( ! JAVinfo || ! JAVinfo . tags . length || ! JAVinfo . stars . length ) {
124
- logger . warn ( 'Invalid info' , JAVinfo )
125
- await ignore . addIgnore ( JAVID )
126
- resolve ( 0 )
127
- return
128
- }
129
- break
130
-
131
- case 2 :
132
- if ( ! JAVmetadata || ! JAVmetadata . tags . length || ! JAVmetadata . stars . length ) {
133
- logger . warn ( 'Invalid version 2 JAV metadata' , JAVmetadata )
134
- resolve ( 0 )
135
- return
136
- }
137
-
138
- JAVinfo = JAVmetadata
139
- break
140
-
141
- default :
142
- logger . warn ( `Unknown version '${ version } '` )
143
- resolve ( 0 )
144
- return
145
- }
146
-
147
- const dbData = {
148
- title : JAVinfo . title ,
149
- companyName : JAVID . split ( '-' ) [ 0 ] ,
150
- companyId : JAVID . split ( '-' ) [ 1 ] ,
151
- posterFileURL : JAVinfo . cover ,
152
- releaseDate : JAVinfo . releaseDate ,
153
- updateTime : ( new Date ( ) ) . getTime ( ) ,
154
- version
155
- }
156
-
157
- if ( version === 2 ) dbData . screenshotFilesURL = JAVinfo . screenshots
158
- else dbData . screenshotFilesURL = [ ]
159
-
160
- dbData . screenshotFilesURL = JSON . stringify ( dbData . screenshotFilesURL )
161
-
162
- let metadataId = await db ( 'metadatas' ) . insert ( dbData ) . transacting ( trx ) . select ( 'id' )
163
- metadataId = metadataId [ 0 ]
164
-
165
- const promises = [ ]
166
-
167
- if ( JAVinfo . series ) promises . push ( this . attachMeta ( 'series' , metadataId , JAVinfo . series , null , trx ) )
168
-
169
- for ( const i in JAVinfo . stars ) {
170
- const item = JAVinfo . stars [ i ]
171
- promises . push ( this . attachMeta ( 'star' , metadataId , item . name , item . img , trx ) )
172
- }
173
-
174
- for ( const i in JAVinfo . tags ) {
175
- const item = JAVinfo . tags [ i ]
176
- promises . push ( this . attachMeta ( 'tag' , metadataId , item , null , trx ) )
177
- }
178
-
179
- await Promise . all ( promises )
180
-
181
- logger . debug ( 'Finished attching metas' )
182
-
183
- resolve ( metadataId )
184
- } )
109
+ try {
110
+ const metadataId = await db ( 'metadatas' ) . where ( 'companyName' , JAVID . split ( '-' ) [ 0 ] ) . where ( 'companyId' , JAVID . split ( '-' ) [ 1 ] ) . first ( )
111
+ if ( metadataId && metadataId . id ) {
112
+ return metadataId . id
113
+ } else {
114
+ let JAVinfo
115
+
116
+ switch ( version ) {
117
+ case 1 :
118
+ JAVinfo = await this . fetchNew ( JAVID )
119
+ logger . debug ( 'JAVinfo' , JAVinfo )
120
+
121
+ if ( ! JAVinfo || ! JAVinfo . tags . length || ! JAVinfo . stars . length ) {
122
+ logger . warn ( 'Invalid info' , JAVinfo )
123
+ await ignore . addIgnore ( JAVID )
124
+ return 0
125
+ }
126
+ break
127
+
128
+ case 2 :
129
+ if ( ! JAVmetadata || ! JAVmetadata . tags . length || ! JAVmetadata . stars . length ) {
130
+ logger . warn ( 'Invalid version 2 JAV metadata' , JAVmetadata )
131
+ return 0
132
+ }
133
+
134
+ JAVinfo = JAVmetadata
135
+ break
136
+
137
+ default :
138
+ logger . warn ( `Unknown version '${ version } '` )
139
+ return
140
+ }
141
+
142
+ const dbData = {
143
+ title : JAVinfo . title ,
144
+ companyName : JAVID . split ( '-' ) [ 0 ] ,
145
+ companyId : JAVID . split ( '-' ) [ 1 ] ,
146
+ posterFileURL : JAVinfo . cover ,
147
+ releaseDate : JAVinfo . releaseDate ,
148
+ updateTime : ( new Date ( ) ) . getTime ( ) ,
149
+ version
150
+ }
151
+
152
+ if ( version === 2 ) dbData . screenshotFilesURL = JAVinfo . screenshots
153
+ else dbData . screenshotFilesURL = [ ]
154
+
155
+ dbData . screenshotFilesURL = JSON . stringify ( dbData . screenshotFilesURL )
156
+
157
+ let metadataId = await db ( 'metadatas' ) . insert ( dbData ) . select ( 'id' )
158
+ metadataId = metadataId [ 0 ]
159
+
160
+ const promises = [ ]
161
+
162
+ if ( JAVinfo . series ) promises . push ( this . attachMeta ( 'series' , metadataId , JAVinfo . series , null ) )
163
+
164
+ for ( const i in JAVinfo . stars ) {
165
+ const item = JAVinfo . stars [ i ]
166
+ promises . push ( this . attachMeta ( 'star' , metadataId , item . name , item . img ) )
167
+ }
168
+
169
+ for ( const i in JAVinfo . tags ) {
170
+ const item = JAVinfo . tags [ i ]
171
+ promises . push ( this . attachMeta ( 'tag' , metadataId , item , null ) )
185
172
}
186
- } catch ( error ) {
187
- logger . error ( 'Error while creating records' , error )
173
+
174
+ await ( Promise . all ( promises ) . catch ( ( error ) => {
175
+ logger . error ( error )
176
+ } ) )
177
+
178
+ logger . debug ( 'Finished attching metas' )
179
+
180
+ return metadataId
188
181
}
189
- } )
182
+ } catch ( error ) {
183
+ logger . error ( 'Error while creating records' , error )
184
+ }
190
185
}
191
186
192
187
/**
@@ -337,11 +332,10 @@ class Metadata {
337
332
* @param {String } type value can be: tags, stars, series
338
333
* @param {String } name name
339
334
* @param {String= } photoURL photo URL
340
- * @param {trx } trx knex trx object
341
335
*
342
336
* @returns {Int } id
343
337
*/
344
- async getMetaId ( type , name , photoURL , trx ) {
338
+ async getMetaId ( type , name , photoURL ) {
345
339
try {
346
340
const result = await db ( `${ type } ` ) . where ( 'name' , name ) . first ( )
347
341
if ( result ) {
@@ -357,7 +351,7 @@ class Metadata {
357
351
358
352
if ( photoURL ) data . photoURL = photoURL
359
353
360
- let id = await db ( `${ type } ` ) . insert ( data ) . transacting ( trx ) . select ( 'id' )
354
+ let id = await db ( `${ type } ` ) . insert ( data ) . select ( 'id' )
361
355
id = id [ 0 ]
362
356
363
357
logger . debug ( `[${ type } ] record for` , name , 'created,' , id )
@@ -434,42 +428,35 @@ class Metadata {
434
428
* @param {Int } metadataId
435
429
* @param {String } name
436
430
* @param {String= } photoURL photo URL
437
- * @param {trx } trx knex trx object
438
431
*
439
432
* @return {Int }
440
433
*/
441
- async attachMeta ( type , metadataId , name , photoURL , trx ) {
434
+ async attachMeta ( type , metadataId , name , photoURL ) {
442
435
const map = this . _getTypeMapping ( type )
443
436
logger . debug ( map )
444
437
445
- return new Promise ( async ( resolve ) => {
446
- try {
447
- const id = await this . getMetaId ( map . type , name , photoURL , trx )
448
- logger . debug ( `${ map . log } id` , id )
449
-
450
- const count = await db ( `${ map . type } _mapping` ) . where ( map . column , id ) . where ( 'metadataId' , metadataId ) . count ( )
451
- await db . transaction ( async trx => {
452
- if ( count [ 0 ] [ 'count(*)' ] === 0 ) {
453
- logger . debug ( 'Create mapping, count' , count , count [ 0 ] [ 'count(*)' ] )
454
-
455
- const data = {
456
- metadataId,
457
- updateTime : ( new Date ( ) ) . getTime ( )
458
- }
459
- data [ map . column ] = id
460
-
461
- await db ( `${ map . type } _mapping` ) . insert ( data ) . transacting ( trx )
462
- resolve ( 1 )
463
- } else {
464
- logger . debug ( 'Meta exist' )
465
- resolve ( 1 )
466
- } ;
467
- } )
468
- } catch ( error ) {
469
- logger . error ( 'Error while attaching a record' , error )
470
- throw error
438
+ try {
439
+ const id = await this . getMetaId ( map . type , name , photoURL )
440
+ logger . debug ( `${ map . log } id` , id )
441
+
442
+ const count = await db ( `${ map . type } _mapping` ) . where ( map . column , id ) . where ( 'metadataId' , metadataId ) . count ( )
443
+ if ( count [ 0 ] [ 'count(*)' ] === 0 ) {
444
+ logger . debug ( 'Create mapping, count' , count , count [ 0 ] [ 'count(*)' ] )
445
+
446
+ const data = {
447
+ metadataId,
448
+ updateTime : ( new Date ( ) ) . getTime ( )
449
+ }
450
+ data [ map . column ] = id
451
+
452
+ await db ( `${ map . type } _mapping` ) . insert ( data )
453
+ } else {
454
+ logger . debug ( 'Meta exists' )
471
455
}
472
- } )
456
+ } catch ( error ) {
457
+ logger . error ( 'Error while attaching a record' , error )
458
+ throw error
459
+ }
473
460
}
474
461
475
462
async searchMetadata ( searchStr , page , size ) {
0 commit comments