From ef7edb39789dc7ede7052a36434d1d0cb7756ba2 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Fri, 19 Jul 2024 17:50:25 +0100 Subject: [PATCH] fix bug --- endpoints_documentation.md | 221 ++++++++++++++++++ gabinete-digital-fo.code-workspace | 3 + .../despacho-pr/despacho-pr.page.ts | 1 + .../despachos/despacho/despacho.page.ts | 1 + .../diploma-assinar/diploma-assinar.page.ts | 1 + .../diplomas/diploma/diploma.page.ts | 1 + .../expediente-detail.page.ts | 25 +- .../viewer-attachment.page.ts | 93 ++++---- src/app/services/task.service.ts | 12 +- .../task-details/task-details.page.html | 3 - .../opts-expediente/opts-expediente.page.ts | 26 ++- version/git-version.ts | 12 +- 12 files changed, 332 insertions(+), 67 deletions(-) create mode 100644 endpoints_documentation.md diff --git a/endpoints_documentation.md b/endpoints_documentation.md new file mode 100644 index 000000000..3f3c6b744 --- /dev/null +++ b/endpoints_documentation.md @@ -0,0 +1,221 @@ + +# Endpoints Documentation + +## 1. Get Actions + +**Endpoint:** +``` +GET https://gdapi-dev.dyndns.info/jwt/api/presidentialActions +``` + +**Query Parameters:** +None + +**Body:** +None + +--- + +## 2. Post Action + +**Endpoint:** +``` +POST https://gdapi-dev.dyndns.info/jwt/api/presidentialActions +``` + +**Query Parameters:** +None + +**Body:** +```json +{ + "ProcessId": null, + "Description": "teste 345", + "Detail": "teste", + "DateBegin": "2024-07-19T13:30:00.730Z", + "DateEnd": "2024-07-19T13:45:00.730Z", + "ActionType": "Evento" +} +``` + +--- + +## 3. Put Action + +**Endpoint:** +``` +PUT https://gdapi-dev.dyndns.info/jwt/api/presidentialActions +``` + +**Query Parameters:** +None + +**Body:** +```json +{ + "ProcessId": 15412, + "Description": "teste 345 45", + "Detail": "teste", + "DateBegin": "2024-07-19T14:30:00+01:00", + "DateEnd": "2024-07-19T14:45:00+01:00", + "ActionType": "Evento" +} +``` + +--- + +## 4. Delete Action + +**Endpoint:** +``` +DELETE https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{actionId} +``` + +**Query Parameters:** +None + +**Body:** +None + +--- + +## 5. Get Folder Info + +**Endpoint:** +``` +GET https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{actionId} +``` + +**Query Parameters:** +None + +**Body:** +None + +--- + +## 6. Get Publications IDs + +**Endpoint:** +``` +GET https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{actionId}/posts/ids +``` + +**Query Parameters:** +- `folderId`: The ID of the folder (e.g., `15388`) + +**Body:** +None + +--- + + +## 7. Get publication + +**Endpoint:** +``` +GET https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/v2/posts/{publicationId} +``` + +**Query Parameters:** +- `id`: The ID of the publication (e.g., `15388`) + +**Body:** +None + +--- + +## 8. Post publication + +**Endpoint:** +``` +POST https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{actionId}/v2/posts +``` + +**Query Parameters:** +None + + +**Body:** +```json +{ + "DateIndex": "2024-07-19T15:07:09.348Z", + "DatePublication": "2024-07-19T15:07:09.348Z", + "DocumentId": null, + "Files": [{ + "FileBase64": "data:image/jpeg;base64,.." + }], + "Message": "2024-07-19T14:45:00+01:00", + "ProcessId": 15388, + "Title": "554", +} +``` + +--- + +## 9. Put publication + +**Endpoint:** +``` +PUT https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{publicationId}/posts +``` + +**Query Parameters:** +None + +**Body:** +```json +{ + "DateIndex": "2024-07-19T15:07:09.348Z", + "DatePublication": "2024-07-19T15:07:09.348Z", + "DocumentId": 142663, + "Files": [{ + "FileBase64": "data:image/jpeg;base64,.." + }], + "Message": "2024-07-19T14:45:00+01:00", + "ProcessId": 15388, + "Title": "554", +} +``` + +--- + + + +## 10. Delete publication + +**Endpoint:** +``` +Delete https://gdapi-dev.dyndns.info/jwt/api/presidentialActions/{actionId}/posts/{publicationId} +``` + +**Query Parameters:** +None + +**Body:** +None + +--- + + +## 11. Post Chuck + +**Endpoint:** +``` +Post https://gdapi-dev.dyndns.info/jwt/api/ObjectServer/StreamFiles?path={path} +``` + +**Query Parameters:** +None + +**Body:** +```json +{ + "base64": "889234598237495...", + "index": 4, + "length": 15, + "path": "88d7c4f6-9e4b-47e3-ae93-8203384d14e5.mp4", +} +``` + +--- diff --git a/gabinete-digital-fo.code-workspace b/gabinete-digital-fo.code-workspace index ef69354cc..caff7bd1a 100644 --- a/gabinete-digital-fo.code-workspace +++ b/gabinete-digital-fo.code-workspace @@ -14,6 +14,9 @@ }, { "path": "../grayLog" + }, + { + "path": "../../../Downloads/nestjs-microservice-boilerplate-api-master" } ], "settings": { diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts index 05bfe9d33..a34c72216 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts @@ -671,6 +671,7 @@ export class DespachoPrPage implements OnInit { "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, + "draft": true } this.mergedArray.push(object) console.log('List of draff', resd) diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts index 540d25ab5..63d60add0 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts @@ -231,6 +231,7 @@ export class DespachoPage implements OnInit { "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, + "draft": true } this.mergedArray.push(object) // console.log('List of draff', resd) diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts index 4caa863a8..309970d45 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts @@ -504,6 +504,7 @@ export class DiplomaAssinarPage implements OnInit { "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, + "draft": true }; this.draftArray.push(object); this.mergedArray.push(object); diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts index 207aeeb48..4da6605e1 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts @@ -562,6 +562,7 @@ export class DiplomaPage implements OnInit { "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, + "draft": true } this.mergedArray.push(object) this.DraftNames = this.DraftNames + resd.data.description+";" diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index a202b9be6..dfdfc11a1 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -251,6 +251,8 @@ export class ExpedienteDetailPage implements OnInit { this.processes.GetTask(serial).subscribe(res => { + console.log('LoadTaskDetail') + this.TaskService.loadExpedientes(); console.log("res========", res) @@ -372,6 +374,7 @@ export class ExpedienteDetailPage implements OnInit { modal.onDidDismiss().then(async (res) => { if (res) { + console.log('attachment to add ==', res) const data = res.data; this.documents.push(data.selected); let body @@ -395,7 +398,15 @@ export class ExpedienteDetailPage implements OnInit { try { loader.remove() await this.attachmentsService.AddAttachment(body).toPromise() - this.LoadTaskDetail(this.serialNumber); + console.log('attachment post') + setTimeout(() => { + this.LoadTaskDetail(this.serialNumber); + }, 1000); + + setTimeout(() => { + this.LoadTaskDetail(this.serialNumber); + }, 4000); + this.toastService._successMessage() } catch (error) { if (error.status == 0) { @@ -594,9 +605,8 @@ export class ExpedienteDetailPage implements OnInit { await modal.present(); } + // mobile async openOptions(taskAction?: any) { - - if (window.innerWidth > 500) { this.showOptions = true @@ -613,7 +623,16 @@ export class ExpedienteDetailPage implements OnInit { }); return await popover.present().then(() => { this.TaskService.loadExpedientes() + this.LoadTaskDetail(this.serialNumber); + + setTimeout(()=> { + this.LoadTaskDetail(this.serialNumber); + }, 1000) + + setTimeout(()=> { + this.LoadTaskDetail(this.serialNumber); + }, 4000) }, (error) => { console.log(error) }) diff --git a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts index 6386e0451..788e6124d 100644 --- a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts +++ b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts @@ -6,7 +6,9 @@ import { DeviceService } from "src/app/services/device.service" import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; import { ProcessesService } from 'src/app/services/processes.service'; import { PermissionService } from 'src/app/services/permission.service'; -import { HeaderSettingsService } from "src/app/services/header-settings.service" +import { from, Subject } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { Result } from 'neverthrow'; @Component({ selector: 'app-viewer-attachment', @@ -17,6 +19,9 @@ export class ViewerAttachmentPage implements OnInit { @Input() showAttachmentList = true; @Input() selectedIndex = 0; + currentIndex = null; + currentLickTime = new Date(); + swiperModules = [IonicSlides]; @Input() taskViewerAttachment: ViewerAttachment[]; viewer: {[key: string]: HTMLDivElement} = {} @@ -27,19 +32,30 @@ export class ViewerAttachmentPage implements OnInit { draft = false loading = false + private fetchDataSubject = new Subject(); + constructor( public middlewareRepositoryService: MiddlewareRepositoryService, public DeviceService: DeviceService, - private processes: ProcessesService, private erroHandler: HttpErrorHandle, public p: PermissionService, private processService: ProcessesService, - private HeaderSettingsService: HeaderSettingsService ) { } ngOnInit() { this.validateParams() const selectFirst = this.taskViewerAttachment[0] + + this.fetchDataSubject.pipe( + switchMap((data: any) => from(this.middlewareRepositoryService.getViewerLink(data))) + ).subscribe({ + next: (linkRequest) => { + this.renderViewer(linkRequest) + + console.log({linkRequest}) + }, + error: (error) => console.error(error) + }); } @@ -56,7 +72,6 @@ export class ViewerAttachmentPage implements OnInit { firstLoad = true async clickDocument(viewerAttachment: ViewerAttachment, i) { - this.draft = false let count = 0 @@ -68,55 +83,52 @@ export class ViewerAttachmentPage implements OnInit { return } - try { + try { this.selectedIndex = i; this.iframeContainer.nativeElement.style.display = 'none' - const requestI = this.selectedIndex - - const linkRequest = await this.middlewareRepositoryService.getViewerLink({ + this.fetchDataSubject.next({ ApplicationId: viewerAttachment.ApplicationId, DocId: viewerAttachment.DocId }) - - if(linkRequest.isOk() && requestI == this.selectedIndex) { - - // Optionally, you can add new content or recreate the iframe - var newIframe = document.createElement('iframe'); - if(linkRequest.value.includes("http")) { - newIframe.src = linkRequest.value; - - newIframe.width = '100%' - newIframe.height = '100%' - this.iframeContainer.nativeElement.innerHTML = "" - - this.iframeContainer.nativeElement.appendChild(newIframe) - - } else { - this.iframeContainer.nativeElement.innerHTML = "Sem documento" - } - - this.loading = false - this.iframeContainer.nativeElement.style.display = 'flex' - } else if (requestI != this.selectedIndex) { - - } else { - - this.loading = false - this.iframeContainer.nativeElement.style.display = 'none' - } - - } catch (error) { - setTimeout(async ()=> { + this.currentIndex = i + } catch (err) { + setTimeout(()=> { this.clickDocument(viewerAttachment, i); }, 1000) } + } + renderViewer(linkRequest: Result) { + if(linkRequest.isOk()) { + + // Optionally, you can add new content or recreate the iframe + var newIframe = document.createElement('iframe'); + if(linkRequest.value.includes("http")) { + + newIframe.src = linkRequest.value; + + newIframe.width = '100%' + newIframe.height = '100%' + this.iframeContainer.nativeElement.innerHTML = "" + + this.iframeContainer.nativeElement.appendChild(newIframe) + } else { + this.iframeContainer.nativeElement.innerHTML = "Sem documento" + } + + this.loading = false + this.iframeContainer.nativeElement.style.display = 'flex' + } else { + + this.loading = false + this.iframeContainer.nativeElement.style.display = 'none' + } } validateParams() { @@ -138,7 +150,10 @@ export class ViewerAttachmentPage implements OnInit { this.draft = this.isSelectedAttachmentIsDraft(this.taskViewerAttachment[this.selectedIndex]) if(!this.draft) { - this.clickDocument(task, this.selectedIndex) + if(this.selectedIndex != this.currentIndex) { + this.clickDocument(task, this.selectedIndex) + } + } } diff --git a/src/app/services/task.service.ts b/src/app/services/task.service.ts index ca49e3524..93f7341fa 100644 --- a/src/app/services/task.service.ts +++ b/src/app/services/task.service.ts @@ -228,10 +228,14 @@ export class TaskService { async loadDespachos() { this.showLoaderNum++ - let despachos = await this.despachoRule.getList({ updateStore: true }) - if (despachos) { - this.despachoStore.reset(despachos) - } + try { + + let despachos = await this.despachoRule.getList({ updateStore: true }) + if (despachos) { + this.despachoStore.reset(despachos) + } + + } catch(error) {} this.showLoaderNum-- } diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html index 15e6156ca..97240ab6c 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html @@ -109,9 +109,6 @@ - diff --git a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts index 64c9ffa7a..076c70813 100644 --- a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts +++ b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts @@ -1,6 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { NavigationExtras, Router } from '@angular/router'; -import { ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { ModalController, PopoverController } from '@ionic/angular'; import { AddNotePage } from 'src/app/modals/add-note/add-note.page'; import { expedienteTask } from 'src/app/models/dailyworktask.model'; import { SearchList } from 'src/app/models/search-document'; @@ -21,7 +20,6 @@ import { SessionStore } from 'src/app/store/session.service'; import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; import { environment } from 'src/environments/environment'; import { TaskService } from 'src/app/services/task.service'; -import { DataService } from 'src/app/services/data.service'; @Component({ selector: 'app-opts-expediente', @@ -45,10 +43,8 @@ export class OptsExpedientePage implements OnInit { constructor( private popoverController: PopoverController, private modalController: ModalController, - private navParams: NavParams, private processes: ProcessesService, private toastService: ToastService, - private router: Router, public p: PermissionService, private attachmentsService: AttachmentsService, private RouteService: RouteService, @@ -56,14 +52,9 @@ export class OptsExpedientePage implements OnInit { public ThemeService: ThemeService, private httpErrorHanlde: HttpErrorHandle, public TaskService: TaskService, - private dataService: DataService, - ) { + ) {} - } - - ngOnInit() { - - } + ngOnInit() {} async openNewGroupPage() { @@ -107,6 +98,7 @@ export class OptsExpedientePage implements OnInit { } attachDocument(){ + // alert('click herer!!s') this.getDoc(); } @@ -122,7 +114,13 @@ export class OptsExpedientePage implements OnInit { }); modal.onDidDismiss().then( async (res)=>{ + + console.log({res}); + if(res){ + + + const data = res.data; this.documents.push(data.selected); this.documents.forEach((element: any) =>{ @@ -141,7 +139,11 @@ export class OptsExpedientePage implements OnInit { const loader = this.toastService.loading() + // alert('done select attachment') + this.attachmentsService.AddAttachment(body).subscribe((res)=> { + + // alert('@') window['attachments-expediente-update'](); this.toastService._successMessage() this.popoverController.dismiss() diff --git a/version/git-version.ts b/version/git-version.ts index 20731f6b6..1856e6ee3 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,11 +1,11 @@ export let versionData = { - "shortSHA": "357e76bb1", - "SHA": "357e76bb164985fd8001f94210d5071ca24a3b1b", + "shortSHA": "f80e49d53", + "SHA": "f80e49d53340aff8e94ad36b4c44b1eae01cfb39", "branch": "feature/agenda-api-peter", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Thu Jul 18 10:30:29 2024 +0100'", - "lastCommitMessage": "load calendars on open edit-event modal and new event modal.", - "lastCommitNumber": "5874", - "changeStatus": "On branch feature/agenda-api-peter\nYour branch is ahead of 'origin/feature/agenda-api-peter' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: version/git-version.ts", + "lastCommitTime": "'Thu Jul 18 10:40:33 2024 +0100'", + "lastCommitMessage": "change build version", + "lastCommitNumber": "5875", + "changeStatus": "On branch feature/agenda-api-peter\nYour branch is ahead of 'origin/feature/agenda-api-peter' by 2 commits.\n (use \"git push\" to publish your local commits)\n\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tnew file: endpoints_documentation.md\n\tmodified: gabinete-digital-fo.code-workspace\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts\n\tmodified: src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-details/task-details.page.html\n\tmodified: src/app/shared/popover/opts-expediente/opts-expediente.page.ts", "changeAuthor": "peter.maquiran" } \ No newline at end of file