unclean SPARC
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
class ApplicantOrganisationModel extends EICModel {
|
||||
|
||||
constructor(privileges) {
|
||||
super('/organisations/{pic}', privileges);
|
||||
}
|
||||
|
||||
search(pic) {
|
||||
if(!this.hasPrivilege('search')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('search');
|
||||
let uri = endpoint.uri
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method, {'search': pic })
|
||||
.then( async serverData => this.loadData(serverData.payload))
|
||||
)
|
||||
}
|
||||
|
||||
list() {
|
||||
if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('list');
|
||||
let uri = endpoint.uri
|
||||
|
||||
return ( this.request(uri, endpoint.method, payload) );
|
||||
}
|
||||
|
||||
read(pic) {
|
||||
if(!this.hasPrivilege('read')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('read');
|
||||
let uri = endpoint.uri.replace('{pic}', pic);
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method)
|
||||
.then( async serverData => { return serverData.payload })
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
app.registerClass('ApplicantOrganisationModel', ApplicantOrganisationModel);
|
||||
|
||||
|
||||
class ApplicantOrganisationProposalsModel extends EICModel {
|
||||
|
||||
constructor(privileges) {
|
||||
super('/organisations/{pic}/proposals', privileges);
|
||||
}
|
||||
|
||||
sanitize(list) {
|
||||
for(let item of list) {
|
||||
if(['created', 'updated'].includes(item.status)) item.status = 'draft';
|
||||
if(['evaluation-finalised'].includes(item.status)) item.status = 'evaluated';
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
list(pic) {
|
||||
if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('list');
|
||||
let uri = endpoint.uri.replace('{pic}', pic);
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method)
|
||||
.then( async serverData => { return this.sanitize(serverData.payload) })
|
||||
);
|
||||
}
|
||||
|
||||
search(pic, query) {
|
||||
if(!this.hasPrivilege('search')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('search');
|
||||
let uri = endpoint.uri.replace('{pic}', pic);
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method, query)
|
||||
.then( async serverData => { return this.sanitize(serverData.payload) })
|
||||
)
|
||||
}
|
||||
|
||||
create(pic) {
|
||||
if(!this.hasPrivilege('create')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('create');
|
||||
let uri = endpoint.uri.replace('{pic}', pic);
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method)
|
||||
.then( async serverData => { return serverData.payload })
|
||||
)
|
||||
}
|
||||
|
||||
apply(pic, pid, uid) {
|
||||
if(!this.hasPrivilege('apply')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('apply');
|
||||
let uri = endpoint.uri.replace('{pic}', pic).replace('{pid}', pid).replace('{uid}', uid);
|
||||
//TODO NIKE : should get it via app.Route.makelink() but that one seems outdated, doesn't work as expected on complex cases.
|
||||
// => it only searches in routes known (loaded) at time of call, not into the whole tree of possible routes
|
||||
// (which would be to crazy to recursively build... ) => refactor makelink & come back here ! GREP for proposalLink & organisationLink in models
|
||||
let proposalLink = '/organisations/{pic}/proposals/{pid}'.replace('{pic}',pic).replace('{pid}',pid)
|
||||
return (
|
||||
this.request(uri, endpoint.method, { status: 'pending', proposalLink: proposalLink})
|
||||
.then( async serverData => { return serverData.payload })
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('ApplicantOrganisationProposalsModel', ApplicantOrganisationProposalsModel);
|
||||
|
||||
class ApplicantOrganisationCoachingsModel extends EICModel {
|
||||
|
||||
constructor(privileges) {
|
||||
super('/organisations/{pic}/coachings', privileges);
|
||||
}
|
||||
|
||||
sanitize(list) {
|
||||
for(let item of list) {
|
||||
if(['created', 'updated'].includes(item.status)) item.status = 'draft';
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
list(pic) {
|
||||
if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
||||
|
||||
let endpoint = this.getApiEndpoint('list');
|
||||
let uri = endpoint.uri.replace('{pic}', pic);
|
||||
|
||||
return (
|
||||
this.request(uri, endpoint.method)
|
||||
.then( async serverData => { return this.sanitize(serverData.payload) })
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a specific coaching. Currently sending user to SMED mycoachings (id is no use right now either)
|
||||
* @param {*} id
|
||||
*/
|
||||
read(id) {
|
||||
let endpoint = this.getApiEndpoint('read');
|
||||
|
||||
window.open(endpoint.uri, '_blank');
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('ApplicantOrganisationCoachingsModel', ApplicantOrganisationCoachingsModel);
|
||||
Reference in New Issue
Block a user