30 lines
722 B
TypeScript
30 lines
722 B
TypeScript
|
import AbstractService from '@/services/abstractService'
|
||
|
import type {IWebhook} from '@/modelTypes/IWebhook'
|
||
|
import WebhookModel from '@/models/webhook'
|
||
|
|
||
|
export default class WebhookService extends AbstractService<IWebhook> {
|
||
|
constructor() {
|
||
|
super({
|
||
|
getAll: '/projects/{projectId}/webhooks',
|
||
|
create: '/projects/{projectId}/webhooks',
|
||
|
update: '/projects/{projectId}/webhooks/{id}',
|
||
|
delete: '/projects/{projectId}/webhooks/{id}',
|
||
|
})
|
||
|
}
|
||
|
|
||
|
modelFactory(data) {
|
||
|
return new WebhookModel(data)
|
||
|
}
|
||
|
|
||
|
async getAvailableEvents(): Promise<string[]> {
|
||
|
const cancel = this.setLoading()
|
||
|
|
||
|
try {
|
||
|
const response = await this.http.get('/webhooks/events')
|
||
|
return response.data
|
||
|
} finally {
|
||
|
cancel()
|
||
|
}
|
||
|
}
|
||
|
}
|