|
|
@@ -30,20 +30,12 @@
|
|
|
</v-btn>
|
|
|
</div>
|
|
|
</v-form>
|
|
|
- <!-- <<< for debugging purposes, TODO: remove before deploying -->
|
|
|
- <div v-if="file !== null">
|
|
|
- {{ file().value }}
|
|
|
- </div>
|
|
|
-<!-- <ul>-->
|
|
|
-<!-- <li v-for="event in events">{{ event }}</li>-->
|
|
|
-<!-- </ul>-->
|
|
|
- <!-- >>> for debugging purposes -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
import {computed, ComputedRef, defineComponent, Ref, ref, useContext} from "@nuxtjs/composition-api";
|
|
|
-import {DENORMALIZER_TYPE, QUERY_TYPE} from "~/types/enums";
|
|
|
+import {QUERY_TYPE} from "~/types/enums";
|
|
|
import DataPersister from "~/services/data/dataPersister";
|
|
|
import {DataPersisterArgs} from "~/types/interfaces";
|
|
|
import { Context } from "@nuxt/types";
|
|
|
@@ -52,20 +44,16 @@ import {Model, Query} from "@vuex-orm/core";
|
|
|
import {repositoryHelper} from "~/services/store/repository";
|
|
|
import {File} from "~/models/Core/File";
|
|
|
import {queryHelper} from "~/services/store/query";
|
|
|
-import Serializer from "~/services/serializer/serializer";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'OrganizationCmfLicence',
|
|
|
setup() {
|
|
|
const context = useContext()
|
|
|
|
|
|
-
|
|
|
let fileId: Ref<number | null> = ref(null)
|
|
|
|
|
|
const file: ComputedRef<File | null> = computed(() => {
|
|
|
- if (fileId.value === null)
|
|
|
- return null
|
|
|
- return queryHelper.getItem(query, fileId.value) as File
|
|
|
+ return fileId.value !== null ? queryHelper.getItem(query, fileId.value) as File : null
|
|
|
})
|
|
|
|
|
|
let pending: ComputedRef<boolean> = computed(() => {
|
|
|
@@ -85,38 +73,27 @@ export default defineComponent({
|
|
|
{
|
|
|
url: '/api/export/cmf-licence/organization',
|
|
|
type: QUERY_TYPE.DEFAULT,
|
|
|
- data: { format: 'pdf', async: true },
|
|
|
+ data: { format: 'pdf', async: async() },
|
|
|
withCredentials: true
|
|
|
} as DataPersisterArgs
|
|
|
)
|
|
|
|
|
|
- if (async()) {
|
|
|
- // pending.value = true
|
|
|
- console.log(response)
|
|
|
- let entry = Serializer.denormalize(response.data, DENORMALIZER_TYPE.HYDRA)
|
|
|
- let model = repositoryHelper.persist(File, entry.data) as any
|
|
|
-
|
|
|
- console.log(model)
|
|
|
- fileId.value = model.id
|
|
|
- // file.value = () => { return queryHelper.getItem(query, model.id) as File }
|
|
|
- // file.value = queryHelper.getItem(query, model.id) as File
|
|
|
-
|
|
|
- } else {
|
|
|
+ if (!async()) {
|
|
|
console.error('SSE unavailable - File downloaded synchronously')
|
|
|
- // file.value = response
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- // const onMessage = (eventData) => {
|
|
|
- // fileUrl.value = eventData.url
|
|
|
- // pending.value = false
|
|
|
- // }
|
|
|
+ fileId.value = response.data.id
|
|
|
+ repositoryHelper.persist(File, response.data)
|
|
|
+ }
|
|
|
|
|
|
return {
|
|
|
submit,
|
|
|
pending,
|
|
|
file: () => file
|
|
|
}
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ repositoryHelper.cleanRepository(File)
|
|
|
}
|
|
|
})
|
|
|
|