@@ -2,8 +2,10 @@ import { DatabaseBaseTransaction, DatabaseResult } from 'database-builder';
22import { DatabaseManager } from './database-manager' ;
33import { Crud , DatabaseObject , Ddl , ExecutableBuilder , GetMapper , Query , QueryCompiled } from 'database-builder' ;
44import { DatabaseFactoryContract } from './database-factory-contract' ;
5- import { Observable , Observer } from 'rxjs' ;
5+ import { Observable , Observer , from , of } from 'rxjs' ;
6+ import { mergeMap } from 'rxjs/operators' ;
67import { PlatformLoad } from './platform-load' ;
8+ import { ManagedTransaction } from 'database-builder/src/transaction/managed-transaction' ;
79
810export abstract class BuildableDatabaseManager extends DatabaseManager {
911
@@ -51,6 +53,24 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
5153 } ) ;
5254 }
5355
56+ public managedTransaction ( ) : Observable < ManagedTransaction > {
57+ return from ( this . databaseInstance ( ) ) . pipe ( mergeMap ( database => of ( database . managedTransaction ( ) ) ) ) ;
58+ // return new Observable<ManagedTransaction>((observer) => {
59+ // const database = await this.databaseInstance();
60+ // // this.newTransaction(successTransaction)
61+ // // .subscribe((transaction) => {
62+ // // observer.next(new Crud(transaction, this._mapper, this.enableLog));
63+ // // observer.complete();
64+ // // }, error => {
65+ // // observer.error(error);
66+ // // observer.complete();
67+ // // });
68+ // });
69+ }
70+
71+ /**
72+ * @deprecated Use managedTransaction()
73+ */
5474 public transaction ( successTransaction : ( ) => void ) : Observable < Crud > {
5575 return new Observable ( ( observer : Observer < Crud > ) => {
5676 this . newTransaction ( successTransaction )
@@ -64,6 +84,9 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
6484 } ) ;
6585 }
6686
87+ /**
88+ * @deprecated Use managedTransaction()
89+ */
6790 public beginTransaction ( ) : Observable < Crud > {
6891 return new Observable ( ( observer : Observer < Crud > ) => {
6992 this . sql ( 'BEGIN TRANSACTION' )
@@ -83,6 +106,9 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
83106 } ) ;
84107 }
85108
109+ /**
110+ * @deprecated Use managedTransaction()
111+ */
86112 public commitTransaction ( ) : Observable < boolean > {
87113 return new Observable ( ( observer : Observer < boolean > ) => {
88114 this . sql ( 'COMMIT' )
@@ -96,6 +122,9 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
96122 } ) ;
97123 }
98124
125+ /**
126+ * @deprecated Use managedTransaction()
127+ */
99128 public rollbackTransaction ( ) : Observable < boolean > {
100129 return new Observable ( ( observer : Observer < boolean > ) => {
101130 this . sql ( 'ROLLBACK' )
@@ -120,27 +149,27 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
120149 } ) ;
121150 }
122151
123- public batch ( compiled : QueryCompiled [ ] ) : Observable < DatabaseResult [ ] > {
124- return new Observable ( ( observer : Observer < DatabaseResult [ ] > ) => {
125- this . databaseInstance ( )
126- . then ( database => {
127- const executable = new ExecutableBuilder ( this . enableLog ) ;
128- console . log ( 'batch ::: ' , database ) ;
129- executable . executeBatch ( compiled , database )
130- . subscribe ( ( cursor : DatabaseResult [ ] ) => {
131- observer . next ( cursor ) ;
132- observer . complete ( ) ;
133- } , err => {
134- observer . error ( err ) ;
135- observer . complete ( ) ;
136- } ) ;
137- } )
138- . catch ( err => {
139- observer . error ( err ) ;
140- observer . complete ( ) ;
141- } ) ;
142- } ) ;
143- }
152+ // public batch(compiled: QueryCompiled[]): Observable<DatabaseResult[]> {
153+ // return new Observable((observer: Observer<DatabaseResult[]>) => {
154+ // this.databaseInstance()
155+ // .then(database => {
156+ // const executable = new ExecutableBuilder(this.enableLog);
157+ // console.log('batch ::: ', database);
158+ // executable.executeBatch(compiled, database)
159+ // .subscribe((cursor: DatabaseResult[]) => {
160+ // observer.next(cursor);
161+ // observer.complete();
162+ // }, err => {
163+ // observer.error(err);
164+ // observer.complete();
165+ // });
166+ // })
167+ // .catch(err => {
168+ // observer.error(err);
169+ // observer.complete();
170+ // });
171+ // });
172+ // }
144173
145174 public sql ( sql : string , params : any [ ] = [ ] ) : Observable < DatabaseResult > {
146175 return new Observable ( ( observer : Observer < DatabaseResult > ) => {
0 commit comments