feat(lifecycle): API clients for rules/config/deliveries + concierge update

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Rodribm10 2026-04-15 10:42:51 -03:00
parent 1459655243
commit b69053ae62
4 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,18 @@
/* global axios */
import ApiClient from '../ApiClient';
class CaptainLifecycleConfig extends ApiClient {
constructor() {
super('captain/lifecycle_config', { accountScoped: true });
}
show() {
return axios.get(this.url);
}
update(data) {
return axios.patch(this.url, { config: data });
}
}
export default new CaptainLifecycleConfig();

View File

@ -0,0 +1,18 @@
/* global axios */
import ApiClient from '../ApiClient';
class CaptainLifecycleDeliveries extends ApiClient {
constructor() {
super('captain/lifecycle_deliveries', { accountScoped: true });
}
get(params = {}) {
return axios.get(this.url, { params });
}
show(id) {
return axios.get(`${this.url}/${id}`);
}
}
export default new CaptainLifecycleDeliveries();

View File

@ -0,0 +1,30 @@
/* global axios */
import ApiClient from '../ApiClient';
class CaptainLifecycleRules extends ApiClient {
constructor() {
super('captain/lifecycle_rules', { accountScoped: true });
}
get(params = {}) {
return axios.get(this.url, { params });
}
show(id) {
return axios.get(`${this.url}/${id}`);
}
create(data) {
return axios.post(this.url, { rule: data });
}
update(id, data) {
return axios.patch(`${this.url}/${id}`, { rule: data });
}
delete(id) {
return axios.delete(`${this.url}/${id}`);
}
}
export default new CaptainLifecycleRules();

View File

@ -1,3 +1,4 @@
/* global axios */
import ApiClient from '../../api/ApiClient';
class CaptainUnitsAPI extends ApiClient {
@ -24,6 +25,12 @@ class CaptainUnitsAPI extends ApiClient {
deleteUnit(id) {
return this.delete(id);
}
updateConcierge(id, payload) {
return axios.patch(`${this.url}/${id}/concierge`, {
captain_unit: payload,
});
}
}
export default new CaptainUnitsAPI();