87 lines
2.3 KiB
JavaScript
87 lines
2.3 KiB
JavaScript
class SupportModel extends EICModel {
|
|
|
|
constructor(privileges) {
|
|
super('/zammad/tickets', privileges);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @returns
|
|
*/
|
|
list(filters) {
|
|
//if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
|
|
|
let endpoint = this.getApiEndpoint('list');
|
|
return (
|
|
this.request(endpoint.uri, endpoint.method, filters)
|
|
.then( async serverData => {
|
|
return serverData.payload;
|
|
})
|
|
)
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @returns
|
|
*/
|
|
get(id) {
|
|
// if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
|
|
|
let endpoint = this.getApiEndpoint('get');
|
|
endpoint.uri = endpoint.uri.replace('{id}', id);
|
|
|
|
return (
|
|
this.request(endpoint.uri, endpoint.method)
|
|
.then( async serverData => {
|
|
return serverData.payload;
|
|
})
|
|
)
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @returns
|
|
*/
|
|
create(ticket) {
|
|
//if(!this.hasPrivilege('create')) return( new Promise((resolve, reject) => reject()))
|
|
|
|
let endpoint = this.getApiEndpoint('create');
|
|
|
|
return (
|
|
this.request(endpoint.uri, endpoint.method, ticket)
|
|
.then( async serverData => {
|
|
return serverData.payload;
|
|
})
|
|
)
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @returns
|
|
*/
|
|
update(id, content) {
|
|
//if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
|
|
|
let endpoint = this.getApiEndpoint('update');
|
|
endpoint.uri = endpoint.uri.replace('{id}', id);
|
|
|
|
return (
|
|
this.request(endpoint.uri, endpoint.method, content)
|
|
.then( async serverData => {
|
|
return serverData.payload;
|
|
})
|
|
)
|
|
}
|
|
|
|
download(ticketId, articleId, attachmentId) {
|
|
// if(!this.hasPrivilege('list')) return( new Promise((resolve, reject) => reject()))
|
|
|
|
let endpoint = this.getApiEndpoint('download');
|
|
endpoint.uri = endpoint.uri.replace('{ticid}', ticketId);
|
|
endpoint.uri = endpoint.uri.replace('{artid}', articleId);
|
|
endpoint.uri = endpoint.uri.replace('{attid}', attachmentId);
|
|
|
|
window.open(endpoint.uri, '_blank');
|
|
}
|
|
}
|
|
app.registerClass('SupportModel', SupportModel); |