Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- editIssue: flow(function * () {
- self.status = 'loading'
- const { api: apiService } = getEnv<Environment>(self)
- const { issue, ident } = getSnapshot(self)
- const updatedIssue: EditIssueSnapshot = {
- ...issue,
- responsible: self.root.userStore.username,
- }
- // if (self.root.photosStore.imageIsSelected) {
- // const images = self.root.photosStore.getImages
- // images.forEach(image => {
- // const name = image.fileName
- // if (!updatedIssue.description) {
- // updatedIssue.description = ''
- // }
- // updatedIssue.description += `<p><img alt="description image" title="${name}" /></p>`
- // })
- // }
- const result: EditOpenIssueResult = yield apiService.editOpenIssue(updatedIssue, ident)
- if (result.kind === 'ok') {
- const { issueStore, issuesStore, navigationStore } = getRoot(self)
- const { details, displayedIssueId } = self.detailsIssue
- const detailsIssue = {
- ...details,
- ...updatedIssue,
- ident: Number(displayedIssueId),
- }
- self.status = 'done'
- if (self.root.photosStore.imageIsSelected) {
- const images = self.root.photosStore.getImages
- const promises = images.reduce((acc, image) => {
- return [...acc, apiService.addOpenIssueAttachment(displayedIssueId, image)]
- })
- const res = yield Promise.all(promises)
- let newDescription = detailsIssue.description
- res.forEach((result, ind) => {
- if (result.kind !== 'ok') alert('At least one of the images was not uploaded')
- else {
- const name = images[ind].fileName
- const attachmentId = result.result[0].attachment_id
- newDescription += `<p><img src="aih" alt=\"aih#${name}\"/ title="${attachmentId}"></p>`
- }
- })
- updatedIssue.description = newDescription
- const updateIssueRes = yield apiService.updateOpenIssue(
- updatedIssue,
- displayedIssueId,
- )
- self.root.photosStore.clean()
- }
- self.clearStore()
- issueStore.loadIssue(detailsIssue)
- issuesStore.updateIssue(detailsIssue)
- navigationStore.goBack()
- } else {
- if (result.kind === 'rejected' && Array.isArray(result.error)) {
- const error = result.error.reduce((acc, item) => `${acc} ${item.message}`, '')
- Alert.alert('Error', error)
- }
- self.status = 'error'
- }
- }),
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement