Skip to content

Commit 5a0b6d3

Browse files
committed
v.0.1.0-beta.4
- Compatibility with database-builder v.0.1.0-beta.17
1 parent 9f4a527 commit 5a0b6d3

File tree

4 files changed

+25
-20
lines changed

4 files changed

+25
-20
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ionic-database-builder",
3-
"version": "0.1.0-beta.3",
3+
"version": "0.1.0-beta.4",
44
"description": "Extended library from database-builder to assist in creating and maintaining SQL commands. Allowing integrate execute commands with SQLite ('@ionic-native/sqlite'), Web Sql, etc. Through the interface injection 'DatabaseCreatorContract' returning an implementation of 'DatabaseObject'.",
55
"main": "index.js",
66
"scripts": {
@@ -45,7 +45,7 @@
4545
"homepage": "https://github.com/fernandocode/ionic-database-builder#readme",
4646
"dependencies": {
4747
"@angular/core": "^5.0.0",
48-
"database-builder": ">=0.1.0-beta.1"
48+
"database-builder": ">=0.1.0-beta.17"
4949
},
5050
"devDependencies": {
5151
"@angular/cli": "^1.7.4",

src/test/mapper.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,11 @@ describe('Mapper', () => {
106106
const database: Database = TestBed.get(Database);
107107
database.crud().then(crud => {
108108
const result = crud.insert(Cliente, clienteToSave).compile();
109-
expect(result.params.toString()).toEqual([
109+
expect(result[0].params.toString()).toEqual([
110110
clienteToSave.codeImport, clienteToSave.razaoSocial, clienteToSave.apelido,
111111
clienteToSave.desativo, clienteToSave.cidade.codeImport, clienteToSave.classificacao.codeImport
112112
].toString());
113-
expect(result.query).toEqual('INSERT INTO Cliente (codeImport, razaoSocial, apelido, desativo, cidade_codeImport, classificacao_codeImport) VALUES (?, ?, ?, ?, ?, ?)');
113+
expect(result[0].query).toEqual('INSERT INTO Cliente (codeImport, razaoSocial, apelido, desativo, cidade_codeImport, classificacao_codeImport) VALUES (?, ?, ?, ?, ?, ?)');
114114
});
115115
}));
116116

@@ -122,11 +122,11 @@ describe('Mapper', () => {
122122
database.beginTransaction().then(crud => {
123123
try {
124124
const result = crud.insert(Cliente, clienteToSave).compile();
125-
expect(result.params.toString()).toEqual([
125+
expect(result[0].params.toString()).toEqual([
126126
clienteToSave.codeImport, clienteToSave.razaoSocial, clienteToSave.apelido,
127127
clienteToSave.desativo, clienteToSave.cidade.codeImport, clienteToSave.classificacao.codeImport
128128
].toString());
129-
expect(result.query).toEqual('INSERT INTO Cliente (codeImport, razaoSocial, apelido, desativo, cidade_codeImport, classificacao_codeImport) VALUES (?, ?, ?, ?, ?, ?)');
129+
expect(result[0].query).toEqual('INSERT INTO Cliente (codeImport, razaoSocial, apelido, desativo, cidade_codeImport, classificacao_codeImport) VALUES (?, ?, ?, ?, ?, ?)');
130130
database.commitTransaction().then(x => {
131131
expect(x).toEqual(true);
132132
}).catch(rollback);

src/test/mapper/table-mapper.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { SubRegiao } from "../models/sub-regiao";
99
import { Regiao } from "../models/regiao";
1010
import { Classificacao } from "../models/classificacao";
1111
import { MapperBase } from "database-builder";
12+
import { PrimaryKeyType } from "database-builder/src/core/enums/primary-key-type";
1213

1314
@Injectable()
1415
export class TableMapper extends MapperBase {
@@ -23,13 +24,13 @@ export class TableMapper extends MapperBase {
2324
}
2425
);
2526

26-
this.add(TestClazzRef, x => x.id, true);
27-
this.add(TestClazz, x => x.id, true);
28-
this.add(Regiao, x => x.codeImport, true);
29-
this.add(SubRegiao, x => x.codeImport, true);
30-
this.add(Uf, x => x.codeImport, true);
31-
this.add(Cidade, x => x.codeImport, true);
32-
this.add(Classificacao, x => x.codeImport, true);
33-
this.add(Cliente, x => x.internalKey, true);
27+
this.autoMapper(TestClazzRef, x => x.id, PrimaryKeyType.AutoIncrement);
28+
this.autoMapper(TestClazz, x => x.id, PrimaryKeyType.AutoIncrement);
29+
this.autoMapper(Regiao, x => x.codeImport, PrimaryKeyType.AutoIncrement);
30+
this.autoMapper(SubRegiao, x => x.codeImport, PrimaryKeyType.AutoIncrement);
31+
this.autoMapper(Uf, x => x.codeImport, PrimaryKeyType.AutoIncrement);
32+
this.autoMapper(Cidade, x => x.codeImport, PrimaryKeyType.AutoIncrement);
33+
this.autoMapper(Classificacao, x => x.codeImport, PrimaryKeyType.AutoIncrement);
34+
this.autoMapper(Cliente, x => x.internalKey, PrimaryKeyType.AutoIncrement);
3435
}
3536
}

src/utils/buildable-database-manager.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,23 +94,27 @@ export abstract class BuildableDatabaseManager extends DatabaseManager {
9494
return new Promise((resolve, reject) => {
9595
this.databaseInstance().then(database => {
9696
const executable = new ExecutableBuilder(this.enableLog);
97-
executable.execute({
97+
executable.execute([{
9898
query: sql,
9999
params: params
100-
} as QueryCompiled, database)
101-
.then((cursor: DatabaseResult) => {
102-
resolve(cursor);
100+
} as QueryCompiled], database)
101+
.then((cursor: DatabaseResult[]) => {
102+
resolve(cursor[0]);
103103
});
104104
})
105-
.catch(reject);
105+
.catch(reject);
106106
});
107107
}
108108

109109
public query<T>(typeT: new () => T, alias: string = void 0): Promise<Query<T>> {
110110
return new Promise((resolve, reject) => {
111111
this.databaseInstance()
112112
.then(database => {
113-
resolve(new Query(typeT, alias, this._mapper.get(typeT), database, this.enableLog));
113+
const that = this;
114+
resolve(new Query(typeT, alias,
115+
(tKey: (new () => any) | string) => {
116+
return that._mapper.get(tKey);
117+
}, this._mapper.get(typeT).mapperTable, database, this.enableLog));
114118
}, reject)
115119
.catch(reject);
116120
});

0 commit comments

Comments
 (0)