forked from projects/fipamo
removed uneccessary util files, moved token set up to API util constructor, notifications style tweak
This commit is contained in:
parent
eeeb4f9af6
commit
ca6e9e488b
7 changed files with 5 additions and 324 deletions
|
@ -9,7 +9,6 @@ export default class NavIndex {
|
|||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
api.authStatus();
|
||||
this.start();
|
||||
}
|
||||
//--------------------------
|
||||
|
|
|
@ -7,7 +7,7 @@ import ApiUtils, {
|
|||
import * as DataEvent from '../events/DataEvent';
|
||||
import PageActions from '../actions/PageActions';
|
||||
import * as EditorEvent from '../events/EditorEvent';
|
||||
import TinyDatePicker from 'tiny-date-picker';
|
||||
//import TinyDatePicker from 'tiny-date-picker';
|
||||
import TextEditor from '../ui/TextEditor';
|
||||
import Notfications from '../ui/Notifications';
|
||||
const api = new ApiUtils();
|
||||
|
|
|
@ -15,7 +15,6 @@ export default class SettingsIndex {
|
|||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
api.authStatus();
|
||||
this.start();
|
||||
}
|
||||
//--------------------------
|
||||
|
|
|
@ -12,11 +12,6 @@ export default class APIUtils {
|
|||
constructor() {
|
||||
this.percentComplete = 0;
|
||||
this.token = null;
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
authStatus() {
|
||||
this.request('/api/v1/auth/status').then(r => {
|
||||
let response = JSON.parse(r.request['response']);
|
||||
if (response.type === DataEvent.API_REQUEST_GOOD) {
|
||||
|
@ -26,6 +21,9 @@ export default class APIUtils {
|
|||
}
|
||||
});
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
request(
|
||||
requestURL,
|
||||
eventType,
|
||||
|
|
|
@ -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
|
||||
//--------------------------
|
||||
}
|
|
@ -21,7 +21,7 @@ svg.icons
|
|||
z-index 2000
|
||||
height 10%
|
||||
width 100%
|
||||
display block
|
||||
display none
|
||||
align-items center
|
||||
justify-content center
|
||||
padding 0
|
||||
|
|
Loading…
Reference in a new issue