71 lines
1.6 KiB
TypeScript
71 lines
1.6 KiB
TypeScript
import { Injectable } from "@angular/core";
|
|
import { LocalStorageService } from "ngx-localstorage";
|
|
import { LocalStorage, StorageMap } from '@ngx-pwa/local-storage';
|
|
import { } from 'sha1';
|
|
let options = { hour12: false };
|
|
|
|
@Injectable({
|
|
providedIn: "root"
|
|
})
|
|
|
|
|
|
export class DataService {
|
|
|
|
db: any;
|
|
|
|
constructor(
|
|
private storage: LocalStorageService,
|
|
private localStorage: LocalStorage,
|
|
private storageMap: StorageMap
|
|
) { }
|
|
|
|
async db_init() { }
|
|
|
|
async set_item(_item: object) {
|
|
try {
|
|
let list: any;
|
|
let has = await this.storageMap.has("instances").toPromise();
|
|
if(!has) {
|
|
list = await this.storageMap.set('instances', []).toPromise()
|
|
return [];
|
|
} else {
|
|
list = await this.storageMap.get('instances').toPromise()
|
|
}
|
|
list.push({
|
|
id: Date.now(),
|
|
lines: _item,
|
|
created_at: new Date(Date.now()).toLocaleString("en-US", options)
|
|
});
|
|
await this.storageMap.set('instances', list).toPromise();
|
|
return true;
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
async get_all() {
|
|
|
|
try {
|
|
return await this.storageMap.get("instances").toPromise();
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
// get_singe_instance(line1, line2, line3) {
|
|
|
|
// }
|
|
|
|
async remove_item(_item: any) {
|
|
try {
|
|
let data: any;
|
|
data = await this.storageMap.get("instances").toPromise();
|
|
let tmp = data.findIndex((x:any)=> x['id'] === _item.id)
|
|
data.splice(tmp, 1);
|
|
return await this.storageMap.set('instances', data).toPromise();
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
}
|