kia-ml
Version:
Kia
31 lines (28 loc) • 1.31 kB
JavaScript
import { flow, types } from "mobx-state-tree";
import { withEnvironment } from "../extensions/with-environment";
import { KiaRequestModel } from "../kia-request/kia-request";
import { RequestApi } from '../../services/api/request-api';
export const RequestDetailsStoreModel = types.model("RequestDetailsStore").props({
request: types.optional(KiaRequestModel, {
id: 0
}),
isRequestUnprocessed: types.optional(types.boolean, true)
}).extend(withEnvironment).views(_self => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
.actions(self => ({
getRequest: flow(function* (requestId) {
const api = new RequestApi(self.environment.api);
const result = yield api.getRequest(self.environment.clientUserId || 0, requestId);
if (result.kind === "ok") {
self.request = KiaRequestModel.create(result.request);
if (self.request.response && self.request.response.id != 0) {
self.isRequestUnprocessed = false;
} else {
self.isRequestUnprocessed = true;
}
} else {
console.log(result); //to-do handle error
}
})
})); // eslint-disable-line @typescript-eslint/no-unused-vars
export const createRequestDetailsStoreDefaultModel = () => types.optional(RequestDetailsStoreModel, {});
//# sourceMappingURL=request-details-store.js.map