kia-ml
Version:
Kia
59 lines (57 loc) • 2.23 kB
JavaScript
import { flow, types } from "mobx-state-tree";
import { BookmarkApi } from '../../services/api/bookmark-api';
import { withEnvironment } from '../extensions/with-environment';
export const KiaRequestModel = types.model("KiaRequest").props({
id: types.identifierNumber,
error: types.maybe(types.string),
isGlobal: types.maybe(types.boolean),
createdDate: types.optional(types.string, ""),
bookmarked: types.optional(types.boolean, false),
requestParams: types.optional(types.model({
url: types.optional(types.string, ""),
jobs: types.optional(types.array(types.string), []),
longText: types.optional(types.string, ""),
summaryType: types.optional(types.string, "")
}), {}),
response: types.optional(types.model({
id: types.identifierNumber,
longText: types.optional(types.string, ""),
summary: types.optional(types.string, ""),
title: types.optional(types.string, ""),
uri: types.optional(types.string, ""),
createdDate: types.optional(types.string, ""),
qa: types.optional(types.array(types.model({
id: types.identifierNumber,
autoGenerated: types.optional(types.boolean, false),
question: types.string,
answer: types.string,
timeTaken: types.number,
createdDate: types.optional(types.string, "")
})), [])
}), {
id: 0
})
}).extend(withEnvironment).views(_self => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
.actions(self => ({
localToggle: function () {
self.response.title = "updated";
},
toggleBookmark: flow(function* () {
self.bookmarked = !self.bookmarked;
const bookmarkApi = new BookmarkApi(self.environment.api);
const result = yield bookmarkApi.toggleBookmark(self.environment.clientUserId || 0, self.id); //to-do remove hardcoded 0
if (result.kind === "ok") {
console.log(self);
console.log("bookmark toggled");
console.log(self);
} else {
self.bookmarked = !self.bookmarked;
console.log("bookmark error");
}
})
})); // eslint-disable-line @typescript-eslint/no-unused-vars
export const createKiaRequestDefaultModel = () => types.optional(KiaRequestModel, {
id: 0,
isGlobal: false
});
//# sourceMappingURL=kia-request.js.map