Browse Source

Remove task status application service

pull/2144/head
Hironsan 2 years ago
parent
commit
ff436b0ca9
7 changed files with 6 additions and 39 deletions
  1. 5
      frontend/domain/models/celery/taskStatusRepository.ts
  2. 2
      frontend/pages/projects/_id/dataset/export.vue
  3. 6
      frontend/pages/projects/_id/dataset/import.vue
  4. 3
      frontend/plugins/services.ts
  5. 5
      frontend/repositories/celery/apiTaskStatusRepository.ts
  6. 13
      frontend/services/application/celery/statusData.ts
  7. 11
      frontend/services/application/celery/taskStatusApplicationService.ts

5
frontend/domain/models/celery/taskStatusRepository.ts

@ -1,5 +0,0 @@
import { Status } from './status'
export interface TaskStatusRepository {
get(taskId: string): Promise<Status>
}

2
frontend/pages/projects/_id/dataset/export.vue

@ -105,7 +105,7 @@ export default Vue.extend({
// @ts-ignore
this.polling = setInterval(async () => {
if (this.taskId) {
const res = await this.$services.taskStatus.get(this.taskId)
const res = await this.$repositories.taskStatus.get(this.taskId)
if (res.ready) {
this.$services.download.download(this.projectId, this.taskId)
this.reset()

6
frontend/pages/projects/_id/dataset/import.vue

@ -92,10 +92,10 @@
</template>
<script>
import FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type'
import 'filepond/dist/filepond.min.css'
import Cookies from 'js-cookie'
import vueFilePond from 'vue-filepond'
import 'filepond/dist/filepond.min.css'
import FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type'
const FilePond = vueFilePond(FilePondPluginFileValidateType)
export default {
@ -246,7 +246,7 @@ export default {
pollData() {
this.polling = setInterval(async () => {
if (this.taskId) {
const res = await this.$services.taskStatus.get(this.taskId)
const res = await this.$repositories.taskStatus.get(this.taskId)
if (res.ready) {
this.taskId = null
this.errors = res.result.error

3
frontend/plugins/services.ts

@ -1,7 +1,6 @@
import { Plugin } from '@nuxt/types'
import { repositories } from './repositories'
import { ConfigApplicationService } from '@/services/application/autoLabeling/configApplicationService'
import { TaskStatusApplicationService } from '@/services/application/celery/taskStatusApplicationService'
import { CommentApplicationService } from '@/services/application/comment/commentApplicationService'
import { DownloadApplicationService } from '@/services/application/download/downloadApplicationService'
import { DownloadFormatApplicationService } from '@/services/application/download/downloadFormatApplicationService'
@ -34,7 +33,6 @@ export interface Services {
config: ConfigApplicationService
catalog: CatalogApplicationService
parse: ParseApplicationService
taskStatus: TaskStatusApplicationService
downloadFormat: DownloadFormatApplicationService
download: DownloadApplicationService
tag: TagApplicationService
@ -67,7 +65,6 @@ const plugin: Plugin = (_, inject) => {
config: new ConfigApplicationService(repositories.config),
catalog: new CatalogApplicationService(repositories.catalog),
parse: new ParseApplicationService(repositories.parse),
taskStatus: new TaskStatusApplicationService(repositories.taskStatus),
downloadFormat: new DownloadFormatApplicationService(repositories.downloadFormat),
download: new DownloadApplicationService(repositories.download),
tag: new TagApplicationService(repositories.tag),

5
frontend/repositories/celery/apiTaskStatusRepository.ts

@ -1,9 +1,8 @@
import { plainToInstance } from 'class-transformer'
import ApiService from '@/services/api.service'
import { TaskStatusRepository } from '@/domain/models/celery/taskStatusRepository'
import { Status } from '@/domain/models/celery/status'
import ApiService from '@/services/api.service'
export class APITaskStatusRepository implements TaskStatusRepository {
export class APITaskStatusRepository {
constructor(private readonly request = ApiService) {}
async get(taskId: string): Promise<Status> {

13
frontend/services/application/celery/statusData.ts

@ -1,13 +0,0 @@
import { Status } from '@/domain/models/celery/status'
export class StatusDTO {
ready: boolean
result: object
error: any
constructor(item: Status) {
this.ready = item.ready
this.result = item.result
this.error = item.error
}
}

11
frontend/services/application/celery/taskStatusApplicationService.ts

@ -1,11 +0,0 @@
import { StatusDTO } from './statusData'
import { TaskStatusRepository } from '@/domain/models/celery/taskStatusRepository'
export class TaskStatusApplicationService {
constructor(private readonly repository: TaskStatusRepository) {}
public async get(taskId: string): Promise<StatusDTO> {
const item = await this.repository.get(taskId)
return new StatusDTO(item)
}
}
Loading…
Cancel
Save