Boa tarde a todos, sou novato em desenvolvimento e estou desenvolvendo um aplicativo de tarefas que é salvo localmente, agora que sincronizar com um webservice, a API REST já foi desenvolvida agora com adicionar ao meu codigo é que não esta indo muito bem, abaixo o meu provider de criaçaõ do banco sqlite, onde posso adiconar a API
import { HttpClient } from ‘@angular/common/http’;
import { Injectable } from ‘@angular/core’;
import { SQLite, SQLiteObject } from ‘@ionic-native/sqlite’;
/*
Generated class for the DatabaseProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class DatabaseProvider {
constructor(private sqlite: SQLite) { }
//Cria um banco caso não exista ou pega um banco existente com o nome no parametro
public getDB() {
return this.sqlite.create({
name: ‘tarefas.db’,
location: ‘default’
});
}
//Cria a estrutura inicial do banco de dados
public createDatabase() {
return this.getDB()
.then((db: SQLiteObject) => {
// Criando as tabelas
this.createTables(db);
// Inserindo dados padrão
this.insertDefaultItems(db);
})
.catch(e => console.log(e));
}
//Criando as tabelas no banco de dados
private createTables(db: SQLiteObject) {
// Criando as tabelas
db.sqlBatch([
[‘CREATE TABLE IF NOT EXISTS categorias (id integer primary key AUTOINCREMENT NOT NULL, name TEXT)’],
[‘CREATE TABLE IF NOT EXISTS tarefas (id integer primary key AUTOINCREMENT NOT NULL, name TEXT, descricao TEXT, duedate DATE, active integer, categoria_id integer, FOREIGN KEY(categoria_id) REFERENCES categorias(id))’]
])
.then(() => console.log(‘Tabelas criadas’))
.catch(e => console.error(‘Erro ao criar as tabelas’, e));
}
//Incluindo os dados padrões
private insertDefaultItems(db: SQLiteObject) {
db.executeSql(‘select COUNT(id) as qtd from categorias’, {})
.then((data: any) => {
//Se não existe nenhum registro
if (data.rows.item(0).qtd == 0) {
// Criando as tabelas
db.sqlBatch([
['insert into categorias (name) values (?)', ['Não a Tarefas']],
['insert into categorias (name) values (?)', ['Nova Tarefa adicionada']],
['insert into categorias (name) values (?)', ['Tarefa em andamento']],
['insert into categorias(name) values (?)', ['Tarefa Finalizada']]
])
.then(() => console.log('Dados padrões incluídos'))
.catch(e => console.error('Erro ao incluir dados padrões', e));
}
})
.catch(e => console.error('Erro ao consultar a qtd de categorias', e));
}
}