Database.service.ts
import { Injectable } from ‘@angular/core’;
import { Platform } from ‘@ionic/angular’;
import { SQLitePorter } from ‘@ionic-native/sqlite-porter/ngx’;
import { HttpClient } from ‘@angular/common/http’;
import { SQLite, SQLiteObject } from ‘@ionic-native/sqlite/ngx’;
import { BehaviorSubject, Observable } from ‘rxjs’;
export interface DriversList {
id: number,
name: string,
skills: any,
img: string
}
@Injectable({
providedIn: ‘root’
})
export class DatabaseService {
private database: SQLiteObject;
private dbReady: BehaviorSubject = new BehaviorSubject(false);
driver = new BehaviorSubject();
// products = new BehaviorSubject();
constructor(private plt: Platform, private sqlitePorter: SQLitePorter, private sqlite: SQLite, private http: HttpClient) {
this.plt.ready().then(() => {
this.sqlite.create({
name: ‘driver.db’,
location: ‘default’
})
.then((db: SQLiteObject) => {
** console.log(‘success creationDB’);**
** this.database = db;**
** this.driversDatabase();**
});
});
}
driversDatabase() {
this.http.get(’…/assets/driversListData.sql’, { responseType: ‘text’ })
.subscribe(sql => {
this.sqlitePorter.importSqlToDb(this.database, sql)
.then(_ => {
console.log(‘success drversdatabase’);
this.loadDevelopers();
// this.loadProducts();
this.dbReady.next(true);
})
.catch(e => console.error(e));
});
}
getDatabaseState() {
return this.dbReady.asObservable();
}
getDevs(): Observable<DriversList> {
return this.driver.asObservable();
}
// getProducts(): Observable<any> {
// return this.products.asObservable();
// }
loadDevelopers() {
console.log(‘success load driver’);
return this.database.executeSql('SELECT * FROM driver', []).then(data => {
const drivers: DriversList[] = [];
console.log('data driver', data);
if (data.rows.length > 0) {
for (var i = 0; i < data.rows.length; i++) {
let skills = [];
if (data.rows.item(i).skills != '') {
skills = JSON.parse(data.rows.item(i).skills);
}
drivers.push({
id: data.rows.item(i).id,
name: data.rows.item(i).name,
skills: skills,
img: data.rows.item(i).img
});
}
}
this.driver.next(drivers);
});
}
}
that highlilghted code is getting error