mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
Merge branch 'developer' of https://bitbucket.org/equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { JsonStore } from './jsonStore.service';
|
||||
|
||||
describe('JsonStore', () => {
|
||||
let service: JsonStore;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(JsonStore);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,130 @@
|
||||
///<reference path="../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
|
||||
///<reference path="../../../plugins/cordova-plugin-mfp-jsonstore/typings/jsonstore.d.ts" />
|
||||
import { Injectable } from "@angular/core";
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
|
||||
export class JsonStore {
|
||||
|
||||
createCollection(name, data) {
|
||||
|
||||
var collectionName = name;
|
||||
var addOptions = {
|
||||
// Mark data as dirty (true = yes, false = no), default true.
|
||||
markDirty: true
|
||||
};
|
||||
|
||||
var JSONStoreCollections = {};
|
||||
JSONStoreCollections[collectionName] = {};
|
||||
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||
|
||||
WL.JSONStore.init(JSONStoreCollections)
|
||||
|
||||
.then(function () {
|
||||
WL.Logger.debug('Init done');
|
||||
console.log('Init done');
|
||||
return WL.JSONStore.get(collectionName).add(data, addOptions);
|
||||
|
||||
}).fail(function (err) {
|
||||
WL.Logger.error(err);
|
||||
console.log(err)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
getCollection(collectionName) {
|
||||
|
||||
var allOptions = {
|
||||
// Returns a maximum of 10 documents, default no limit.
|
||||
limit: 10,
|
||||
// Skip 0 documents, default no offset.
|
||||
offset: 0,
|
||||
// Search fields to return, default: ['_id', 'json'].
|
||||
filter: ['UserId', 'json'],
|
||||
// How to sort the returned values, default no sort.}]
|
||||
};
|
||||
|
||||
var JSONStoreCollections = {};
|
||||
JSONStoreCollections[collectionName] = {};
|
||||
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||
|
||||
WL.JSONStore.init(JSONStoreCollections)
|
||||
.then(function () {
|
||||
WL.Logger.debug('Find all colletion data');
|
||||
console.log('Find all colletion data');
|
||||
|
||||
|
||||
}).fail(function (err) {
|
||||
WL.Logger.error(err);
|
||||
console.log("JsonStore getColletion error ",err)
|
||||
});
|
||||
|
||||
const data = WL.JSONStore.get(collectionName).findAll(allOptions).then((value) => {
|
||||
console.log('Find all colletion data', value);
|
||||
return JSON.parse(value);
|
||||
});
|
||||
|
||||
|
||||
return data
|
||||
|
||||
//return notificationData
|
||||
}
|
||||
|
||||
getColletionById(collectionName, value) {
|
||||
|
||||
var query = { UserId: value };
|
||||
|
||||
var allOptions = {
|
||||
// Returns a maximum of 10 documents, default no limit.
|
||||
limit: 10,
|
||||
// Skip 0 documents, default no offset.
|
||||
offset: 0,
|
||||
// Search fields to return, default: ['_id', 'json'].
|
||||
filter: ['UserId', 'json'],
|
||||
// How to sort the returned values, default no sort.}]
|
||||
};
|
||||
|
||||
var JSONStoreCollections = {};
|
||||
JSONStoreCollections[collectionName] = {};
|
||||
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||
|
||||
WL.JSONStore.init(JSONStoreCollections)
|
||||
.then(function () {
|
||||
WL.Logger.debug('Find colletion data by id');
|
||||
console.log('Find colletion data by id');
|
||||
|
||||
return WL.JSONStore.get(collectionName).find(query, allOptions).then((value) => {
|
||||
console.log('Find colletion data by id', value);
|
||||
});
|
||||
}).fail(function (err) {
|
||||
WL.Logger.error(err);
|
||||
console.log(err)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
replaceDocument(collectionName: string, document: any) {
|
||||
/* var document = { Example of how identify the document to replace
|
||||
_id: 1, json: {name: 'chevy', age: 23}
|
||||
}; */
|
||||
var options = {};
|
||||
|
||||
WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) {
|
||||
console.log("JsonStore replace document sucess: ", numberOfDocsReplaced)
|
||||
}).fail(function (error) {
|
||||
console.log("JsonStore replace document error: ", error)
|
||||
});
|
||||
}
|
||||
|
||||
removeDocument(collectionName: any,query: any,) {
|
||||
/* var query = { _id: 1 }; Exemple of query*/
|
||||
var options = { exact: true };
|
||||
WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) {
|
||||
console.log("JsonStore remove document sucess: ", numberOfDocsRemoved)
|
||||
}).fail(function (error) {
|
||||
console.log("JsonStore remove document erro: ", error)
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import { ModalController, AlertController, AnimationController, Platform } from
|
||||
import { NavigationExtras,Router } from '@angular/router';
|
||||
import { ToastService } from '../services/toast.service';
|
||||
import { Optional } from '@angular/core';
|
||||
import { JsonStore } from './jsonStore.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -20,6 +21,7 @@ export class NotificationsService {
|
||||
|
||||
adding: "intervenient" | "CC" = "intervenient";
|
||||
folderId: string;
|
||||
DataArray: Array<String> = [];
|
||||
|
||||
constructor(
|
||||
private http: HttpClient,
|
||||
@@ -31,7 +33,8 @@ export class NotificationsService {
|
||||
private router: Router,
|
||||
private toastService: ToastService,
|
||||
private zone: NgZone,
|
||||
private activeroute: ActivatedRoute) { }
|
||||
private activeroute: ActivatedRoute,
|
||||
private jsonstore: JsonStore) { }
|
||||
|
||||
getTokenByUserIdAndId(user, userID) {
|
||||
const geturl = environment.apiURL + 'notifications/user/' + userID;
|
||||
@@ -40,6 +43,7 @@ export class NotificationsService {
|
||||
}
|
||||
|
||||
getAndpostToken(username) {
|
||||
|
||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
console.log('Notifications not supported')
|
||||
} else {
|
||||
@@ -94,6 +98,62 @@ export class NotificationsService {
|
||||
|
||||
}
|
||||
|
||||
getAndpostToken2() {
|
||||
|
||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
console.log('Notifications not supported')
|
||||
} else {
|
||||
|
||||
const geturl = environment.apiURL + 'notifications/token';
|
||||
|
||||
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
|
||||
(token) => {
|
||||
console.log('Push Notification: Success ' + token);
|
||||
|
||||
window['MFPPush'].initialize(
|
||||
function (successResponse) {
|
||||
console.log("Push notification Successfully Service intialized: " + successResponse);
|
||||
},
|
||||
function (failureResponse) {
|
||||
console.log("Push notification failure Service intialized: " + failureResponse);
|
||||
}
|
||||
);
|
||||
|
||||
window['MFPPush'].registerDevice(null, (successResponse) => {
|
||||
console.log("Successfully registered: " + JSON.stringify(successResponse));
|
||||
console.log('token: ', successResponse.deviceId)
|
||||
/* this.storageService.store(username, successResponse.deviceId);
|
||||
this.storageService.get(username).then(value => {
|
||||
console.log('STORAGE TOKEN', value)
|
||||
this.storageService.get(AuthConnstants.USER).then(res => {
|
||||
console.log('USERID', res);
|
||||
const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' };
|
||||
const body = {
|
||||
UserId: res.UserId,
|
||||
TokenId: successResponse.deviceId,
|
||||
Status: 1,
|
||||
Service: 1
|
||||
};
|
||||
this.http.post<Token>(`${geturl}`, body, { headers }).subscribe(data => {
|
||||
console.log('TOKEN USER MIDLE', data);
|
||||
})
|
||||
});
|
||||
|
||||
}); */
|
||||
},
|
||||
function (failureResponse) {
|
||||
console.log("Successfully failue: " + JSON.stringify(failureResponse));
|
||||
}
|
||||
);
|
||||
}, (error) => {
|
||||
console.log('Push notification recived: failure ' + error.responseText);
|
||||
console.log(JSON.stringify(error));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async onReceviNotification() {
|
||||
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
|
||||
(token) => {
|
||||
@@ -109,6 +169,10 @@ export class NotificationsService {
|
||||
}
|
||||
);
|
||||
var notificationReceived = (message) => {
|
||||
//this.jsonstore.createCollection('Notifications',message);
|
||||
this.DataArray.push(message)
|
||||
this.storageService.store("Notifications",JSON.stringify(this.DataArray))
|
||||
|
||||
console.log(message);
|
||||
var data = JSON.parse(message.payload);
|
||||
console.log(data.Service);
|
||||
|
||||
Reference in New Issue
Block a user