removed uneccessary util files, moved token set up to API util constructor, notifications style tweak
parent
eeeb4f9af6
commit
ca6e9e488b
@ -1,178 +0,0 @@
|
||||
'use strict';
|
||||
import DataUtils, { REQUEST_TYPE_POST, CONTENT_TYPE_JSON } from './DataUtils';
|
||||
import Dexie from 'dexie';
|
||||
import * as DataEvent from '../events/DataEvent';
|
||||
export var COUNT;
|
||||
export var FINAL_KEY;
|
||||
export default class DBUtils {
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
/**
|
||||
* NOTE: DB ERRORS REPLICATE.
|
||||
* WHEN FIXING A BUG, FIX DATA WITH JSON BACKUP
|
||||
*/
|
||||
this.dataUtils = new DataUtils();
|
||||
this.db = new Dexie('fipamo_posts');
|
||||
this.db.version(1).stores({
|
||||
postList: 'id,post'
|
||||
});
|
||||
this.db.postList.toArray(array => {
|
||||
COUNT = array.length;
|
||||
FINAL_KEY = 0;
|
||||
if (COUNT != 0) FINAL_KEY = array[COUNT - 1].id;
|
||||
});
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
modify(id, postData) {
|
||||
let self = this;
|
||||
let freshID;
|
||||
return new Promise(function(resolve, reject) {
|
||||
if (id == null) {
|
||||
self.db.postList
|
||||
.put(postData)
|
||||
.then(fresh => {
|
||||
freshID = fresh;
|
||||
})
|
||||
.catch(e => {
|
||||
let err = {
|
||||
message: 'PUT ERROR',
|
||||
error: e
|
||||
};
|
||||
|
||||
return err;
|
||||
});
|
||||
} else {
|
||||
//console.log("UPDATED", postData);
|
||||
self.db.postList
|
||||
.update(Number(id), {
|
||||
post: postData
|
||||
})
|
||||
.then(() => {})
|
||||
.catch(e => {
|
||||
let err = {
|
||||
message: 'UPDATE ERROR',
|
||||
error: e
|
||||
};
|
||||
return err;
|
||||
});
|
||||
}
|
||||
self.db.postList.toArray(array => {
|
||||
self.syncRemote(array, freshID)
|
||||
.then(response => {
|
||||
resolve({
|
||||
response
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
reject({
|
||||
err
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
syncLocal(array) {
|
||||
let self = this;
|
||||
return new Promise(function(resolve, reject) {
|
||||
self.db.postList.clear().then(() => {
|
||||
self.db.postList
|
||||
.bulkAdd(array)
|
||||
.then(() => {
|
||||
self.db.postList.toArray(() => {
|
||||
let event = DataEvent.LOCAL_DB_READY;
|
||||
resolve({
|
||||
event
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(Dexie.BulkError, e => {
|
||||
reject({
|
||||
e
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
syncRemote(db, newPostId) {
|
||||
let self = this;
|
||||
return new Promise(function(resolve, reject) {
|
||||
self.dataUtils
|
||||
.request(
|
||||
'/api/post/sync',
|
||||
DataEvent.POSTS_SYNCED,
|
||||
REQUEST_TYPE_POST,
|
||||
CONTENT_TYPE_JSON,
|
||||
db
|
||||
)
|
||||
.then(response => {
|
||||
let bounce = {
|
||||
message: response,
|
||||
newPost: newPostId
|
||||
};
|
||||
resolve(bounce);
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
getPost(id) {
|
||||
let self = this;
|
||||
if (id == null) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
self.db.postList
|
||||
.toArray(array => {
|
||||
resolve(array);
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return new Promise(function(resolve, reject) {
|
||||
self.db.postList
|
||||
.get(Number(id))
|
||||
.then(obj => {
|
||||
resolve(obj);
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
archivePost(id, archive) {
|
||||
let self = this;
|
||||
return new Promise(function(resolve, reject) {
|
||||
self.db.postList
|
||||
.update(Number(id), {
|
||||
post: archive
|
||||
})
|
||||
.then(() => {
|
||||
self.db.postList.toArray(array => {
|
||||
self.syncRemote(array, null)
|
||||
.then(response => {
|
||||
resolve({
|
||||
response
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
reject({
|
||||
err
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log('ERROR', e);
|
||||
});
|
||||
});
|
||||
}
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
}
|
@ -1,137 +0,0 @@
|
||||
export const roles = {
|
||||
hnic: {
|
||||
client_admin: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
client_user: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
client_project: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
folio_project: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
bookmark: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
post: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
settings: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
}
|
||||
},
|
||||
client: {
|
||||
client_admin: {
|
||||
create: false,
|
||||
read: true,
|
||||
update: false,
|
||||
delete: false
|
||||
},
|
||||
client_user: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
client_project: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: false
|
||||
},
|
||||
folio_project: {
|
||||
create: false,
|
||||
read: false,
|
||||
update: false,
|
||||
delete: false
|
||||
}
|
||||
},
|
||||
user: {
|
||||
client_admin: {
|
||||
create: false,
|
||||
read: false,
|
||||
update: false,
|
||||
delete: false
|
||||
},
|
||||
client_user: {
|
||||
create: false,
|
||||
read: true,
|
||||
update: false,
|
||||
delete: false
|
||||
},
|
||||
client_project: {
|
||||
create: false,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: false
|
||||
},
|
||||
folio_project: {
|
||||
create: false,
|
||||
read: false,
|
||||
update: false,
|
||||
delete: false
|
||||
},
|
||||
bookmark: {
|
||||
create: true,
|
||||
read: true,
|
||||
update: true,
|
||||
delete: true
|
||||
},
|
||||
post: {
|
||||
create: false,
|
||||
read: false,
|
||||
update: false,
|
||||
delete: false
|
||||
}
|
||||
}
|
||||
};
|
||||
export const TASK_CREATE = 'create';
|
||||
export const TASK_UPDATE = 'update';
|
||||
export const TASK_READ = 'read';
|
||||
export const TASK_DELETE = 'delete';
|
||||
export const OBJECT_CLIENT_ADMIN = 'client_admin';
|
||||
export const OBJECT_CLIENT_USER = 'client_user';
|
||||
export const OBJECT_PROJECT_CLIENT = 'client_project';
|
||||
export const OBJECT_PROJECT_FOLIO = 'folio_project';
|
||||
export const OBJECT_BOOKMARK = 'bookmark';
|
||||
export const OBJECT_POST = 'post';
|
||||
export const OBJECT_SETTINGS = 'settings';
|
||||
export default class RightsManager {
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor() {}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
check(role, object, task) {
|
||||
//console.log(role + " *** " + object + " *** " + task);
|
||||
return roles[role][object][task];
|
||||
}
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
}
|
Loading…
Reference in New Issue