From af80f08b9db06bf9fad4715741a3e86bfe7feac7 Mon Sep 17 00:00:00 2001 From: leejinho Date: Fri, 17 Jan 2020 10:50:06 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EB=8B=A4=EC=9A=B4?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=EC=8B=9C=20SSVC=5FTYPE=5FFILE=5FDOWN=5FCHECK?= =?UTF-8?q?=5FREQ=20=EC=88=98=ED=96=89=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dialogs/file-viewer.dialog.component.ts | 18 +++++++++++------- .../messenger/components/messages.component.ts | 9 +++++++++ .../right-drawer/album-box.component.ts | 14 ++++++++++++-- .../right-drawer/file-box.component.ts | 14 ++++++++++++-- .../src/lib/protocols/down-check.ts | 2 +- 5 files changed, 45 insertions(+), 12 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts index aa49b093..489bd5fc 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts @@ -1,10 +1,4 @@ -import { - Component, - OnInit, - OnDestroy, - Inject, - EventEmitter -} from '@angular/core'; +import { Component, OnInit, OnDestroy, Inject } from '@angular/core'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; import { NGXLogger } from 'ngx-logger'; @@ -20,6 +14,7 @@ import { import { FileDownloadItem } from '@ucap-webmessenger/api'; import { CommonApiService } from '@ucap-webmessenger/api-common'; import { TranslateService } from '@ngx-translate/core'; +import { FileProtocolService } from '@ucap-webmessenger/protocol-file'; export interface FileViewerDialogData { fileInfo: FileEventJson; @@ -55,6 +50,7 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy { private translateService: TranslateService, private snackBarService: SnackBarService, private commonApiService: CommonApiService, + private fileProtocolService: FileProtocolService, private logger: NGXLogger ) { this.fileInfo = data.fileInfo; @@ -98,6 +94,14 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy { FileUtil.fromBlobToBuffer(blob) .then(buffer => { + /** download check */ + this.fileProtocolService + .downCheck({ + seq: this.fileInfo.attachmentSeq + }) + .pipe(take(1)) + .subscribe(); + this.nativeService .saveFile(buffer, this.fileInfo.fileName, mimeType) .then(result => { diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts index 4f6080b5..55374a17 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts @@ -117,6 +117,7 @@ import { NativeService, UCAP_NATIVE_SERVICE } from '@ucap-webmessenger/native'; import { TranslateService } from '@ngx-translate/core'; import { TranslatePipe } from 'projects/ucap-webmessenger-ui/src/lib/pipes/translate.pipe'; import { TranslateService as uiTranslateService } from '@ucap-webmessenger/ui'; +import { FileProtocolService } from '@ucap-webmessenger/protocol-file'; @Component({ selector: 'app-layout-messenger-messages', @@ -216,6 +217,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { private sessionStorageService: SessionStorageService, private localStorageService: LocalStorageService, private commonApiService: CommonApiService, + private fileProtocolService: FileProtocolService, private clipboardService: ClipboardService, private uiTranslateService: uiTranslateService, private translateService: TranslateService, @@ -1021,6 +1023,13 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { FileUtil.fromBlobToBuffer(blob) .then(buffer => { + /** download check */ + this.fileProtocolService.downCheck({ + seq: value.fileInfo.attachmentSeq + }) + .pipe(take(1)) + .subscribe(); + this.nativeService .saveFile(buffer, value.fileInfo.fileName, mimeType, savePath) .then(result => { diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts index 7abc2530..f5045111 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts @@ -2,14 +2,15 @@ import { Component, OnInit, OnDestroy, Inject } from '@angular/core'; import { FileInfo, FileDownloadInfo, - FileType + FileType, + FileProtocolService } from '@ucap-webmessenger/protocol-file'; import { Subscription, combineLatest } from 'rxjs'; import { Store, select } from '@ngrx/store'; import * as AppStore from '@app/store'; import { tap, map, take, finalize } from 'rxjs/operators'; -import { FileUtil, MimeUtil, DeviceType } from '@ucap-webmessenger/core'; +import { FileUtil, MimeUtil } from '@ucap-webmessenger/core'; import { CommonApiService } from '@ucap-webmessenger/api-common'; import { LoginResponse } from '@ucap-webmessenger/protocol-authentication'; import { SessionStorageService } from '@ucap-webmessenger/web-storage'; @@ -65,6 +66,7 @@ export class AlbumBoxComponent implements OnInit, OnDestroy { private store: Store, private sessionStorageService: SessionStorageService, private commonApiService: CommonApiService, + private fileProtocolService: FileProtocolService, private translateService: TranslateService, private snackBarService: SnackBarService, @Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService, @@ -232,6 +234,14 @@ export class AlbumBoxComponent implements OnInit, OnDestroy { FileUtil.fromBlobToBuffer(blob) .then(buffer => { + /** download check */ + this.fileProtocolService + .downCheck({ + seq: fileInfo.info.seq + }) + .pipe(take(1)) + .subscribe(); + this.nativeService .saveFile(buffer, fileInfo.info.name, mimeType) .then(result => { diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts index 93383516..54ae3229 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts @@ -3,7 +3,8 @@ import { MatPaginator, MatTableDataSource, MatSort } from '@angular/material'; import { FileInfo, FileDownloadInfo, - FileType + FileType, + FileProtocolService } from '@ucap-webmessenger/protocol-file'; import { Subscription, combineLatest } from 'rxjs'; import { Store, select } from '@ngrx/store'; @@ -11,7 +12,7 @@ import { Store, select } from '@ngrx/store'; import * as AppStore from '@app/store'; import * as EventStore from '@app/store/messenger/event'; import { tap, map, take, finalize } from 'rxjs/operators'; -import { FileUtil, MimeUtil, DeviceType } from '@ucap-webmessenger/core'; +import { FileUtil, MimeUtil } from '@ucap-webmessenger/core'; import { LoginResponse } from '@ucap-webmessenger/protocol-authentication'; import { SessionStorageService } from '@ucap-webmessenger/web-storage'; import { KEY_LOGIN_RES_INFO } from '@app/types/login-res-info.type'; @@ -78,6 +79,7 @@ export class FileBoxComponent implements OnInit, OnDestroy { private store: Store, private sessionStorageService: SessionStorageService, private commonApiService: CommonApiService, + private fileProtocolService: FileProtocolService, private translateService: TranslateService, private snackBarService: SnackBarService, @Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService, @@ -275,6 +277,14 @@ export class FileBoxComponent implements OnInit, OnDestroy { FileUtil.fromBlobToBuffer(blob) .then(buffer => { + /** download check */ + this.fileProtocolService + .downCheck({ + seq: fileInfo.info.seq + }) + .pipe(take(1)) + .subscribe(); + this.nativeService .saveFile(buffer, fileInfo.info.name, mimeType) .then(result => { diff --git a/projects/ucap-webmessenger-protocol-file/src/lib/protocols/down-check.ts b/projects/ucap-webmessenger-protocol-file/src/lib/protocols/down-check.ts index 8aee32d6..38cb9706 100644 --- a/projects/ucap-webmessenger-protocol-file/src/lib/protocols/down-check.ts +++ b/projects/ucap-webmessenger-protocol-file/src/lib/protocols/down-check.ts @@ -25,7 +25,7 @@ export const encodeDownCheck: ProtocolEncoder = ( ) => { const bodyList: PacketBody[] = []; - bodyList.push({ type: PacketBodyValue.Integer, value: req.seq }); + bodyList.push({ type: PacketBodyValue.String, value: req.seq }); return bodyList; };