UNPKG

kia-ml

Version:

Kia

59 lines (57 loc) 2.23 kB
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