@@ -366,9 +366,10 @@ export class DatabaseConnection {
366366 q . item . _version = await this . SaveDiff ( q . collectionname , original , q . item ) ;
367367 } else {
368368 itemReplace = false ;
369- var _version = await this . SaveUpdateDiff ( q , user ) ;
370- if ( ( q . item [ "$set" ] ) === undefined ) { ( q . item [ "$set" ] ) = { } } ;
371- ( q . item [ "$set" ] ) . _version = _version ;
369+ this . SaveUpdateDiff ( q , user ) ;
370+ // var _version = await this.SaveUpdateDiff(q, user);
371+ // if ((q.item["$set"]) === undefined) { (q.item["$set"]) = {} };
372+ // (q.item["$set"])._version = _version;
372373 }
373374
374375 if ( q . collectionname === "users" && q . item . _type === "user" && q . item . hasOwnProperty ( "newpassword" ) ) {
@@ -812,39 +813,43 @@ export class DatabaseConnection {
812813 }
813814
814815 async SaveUpdateDiff < T extends Base > ( q : UpdateOneMessage < T > , user : TokenUser ) {
815- var _skip_array : string [ ] = Config . skip_history_collections . split ( "," ) ;
816- var skip_array : string [ ] = [ ] ;
817- _skip_array . forEach ( x => skip_array . push ( x . trim ( ) ) ) ;
818- if ( skip_array . indexOf ( q . collectionname ) > - 1 ) { return 0 ; }
819- var res = await this . query < T > ( q . query , null , 1 , 0 , null , q . collectionname , q . jwt ) ;
820- var name : string = "unknown" ;
821- var _id : string = "" ;
822- if ( res . length > 0 ) {
823- var _version = 1 ;
824- var original = res [ 0 ] ;
825- name = original . name ;
826- _id = original . _id ;
827- delete original . _modifiedby ;
828- delete original . _modifiedbyid ;
829- delete original . _modified ;
830- if ( original . _version != undefined && original . _version != null ) {
831- _version = original . _version + 1 ;
816+ try {
817+ var _skip_array : string [ ] = Config . skip_history_collections . split ( "," ) ;
818+ var skip_array : string [ ] = [ ] ;
819+ _skip_array . forEach ( x => skip_array . push ( x . trim ( ) ) ) ;
820+ if ( skip_array . indexOf ( q . collectionname ) > - 1 ) { return 0 ; }
821+ var res = await this . query < T > ( q . query , null , 1 , 0 , null , q . collectionname , q . jwt ) ;
822+ var name : string = "unknown" ;
823+ var _id : string = "" ;
824+ if ( res . length > 0 ) {
825+ var _version = 1 ;
826+ var original = res [ 0 ] ;
827+ name = original . name ;
828+ _id = original . _id ;
829+ delete original . _modifiedby ;
830+ delete original . _modifiedbyid ;
831+ delete original . _modified ;
832+ if ( original . _version != undefined && original . _version != null ) {
833+ _version = original . _version + 1 ;
834+ }
832835 }
836+ var updatehist = {
837+ _modified : new Date ( new Date ( ) . toISOString ( ) ) ,
838+ _modifiedby : user . name ,
839+ _modifiedbyid : user . _id ,
840+ _created : new Date ( new Date ( ) . toISOString ( ) ) ,
841+ _createdby : user . name ,
842+ _createdbyid : user . _id ,
843+ name : name ,
844+ id : _id ,
845+ update : JSON . stringify ( q . item ) ,
846+ _version : _version ,
847+ reason : ""
848+ }
849+ await this . db . collection ( q . collectionname + '_hist' ) . insertOne ( updatehist ) ;
850+ } catch ( error ) {
851+ this . _logger . error ( error ) ;
833852 }
834- var updatehist = {
835- _modified : new Date ( new Date ( ) . toISOString ( ) ) ,
836- _modifiedby : user . name ,
837- _modifiedbyid : user . _id ,
838- _created : new Date ( new Date ( ) . toISOString ( ) ) ,
839- _createdby : user . name ,
840- _createdbyid : user . _id ,
841- name : name ,
842- id : _id ,
843- update : q . item ,
844- _version : _version ,
845- reason : ""
846- }
847- await this . db . collection ( q . collectionname + '_hist' ) . insertOne ( updatehist ) ;
848853 }
849854 async SaveDiff ( collectionname : string , original : any , item : any ) {
850855 if ( item . _type == 'instance' && collectionname == 'workflows' ) return 0 ;
0 commit comments