@chat21/chat21-ionic 3.0.58 → 3.0.59-rc15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/README.md +9 -0
- package/config.xml +11 -2
- package/env.sample +2 -0
- package/package.json +1 -1
- package/resources/Android/splash/drawable-land-hdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-ldpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-mdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-hdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-ldpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-mdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/resources/Android/splash.png +0 -0
- package/src/app/app-routing.module.ts +21 -17
- package/src/app/app.component.html +6 -3
- package/src/app/app.component.ts +259 -55
- package/src/app/app.module.ts +16 -8
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.html +1 -1
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +4 -4
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +8 -2
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +6 -1
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +7 -2
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +47 -2
- package/src/app/chatlib/conversation-detail/message/image/image.component.html +7 -6
- package/src/app/chatlib/conversation-detail/message/image/image.component.ts +20 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +39 -9
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +8 -144
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +14 -17
- package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.html +1 -1
- package/src/app/components/authentication/login/login.component.html +10 -10
- package/src/app/components/authentication/login/login.component.ts +2 -1
- package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +1 -1
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +1 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +17 -12
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +12 -0
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +21 -5
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +22 -17
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +46 -5
- package/src/app/components/ddp-header/ddp-header.component.html +1 -1
- package/src/app/components/ddp-header/ddp-header.component.ts +4 -2
- package/src/app/components/image-viewer/image-viewer.component.html +23 -0
- package/src/app/components/image-viewer/image-viewer.component.scss +107 -0
- package/src/app/components/image-viewer/image-viewer.component.spec.ts +24 -0
- package/src/app/components/image-viewer/image-viewer.component.ts +38 -0
- package/src/app/components/project-item/project-item.component.html +147 -0
- package/src/app/components/project-item/project-item.component.scss +669 -0
- package/src/app/components/project-item/project-item.component.spec.ts +24 -0
- package/src/app/components/project-item/project-item.component.ts +317 -0
- package/src/app/components/utils/avatar-profile/avatar-profile.component.html +7 -0
- package/src/app/components/utils/avatar-profile/avatar-profile.component.ts +22 -5
- package/src/app/pages/authentication/login/login.page.html +1 -2
- package/src/app/pages/authentication/login/login.page.ts +1 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.html +5 -3
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +122 -30
- package/src/app/pages/conversations-list/conversations-list.page.html +44 -23
- package/src/app/pages/conversations-list/conversations-list.page.scss +290 -127
- package/src/app/pages/conversations-list/conversations-list.page.ts +172 -12
- package/src/app/pages/unassigned-conversations/unassigned-conversations-routing.module.ts +17 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.module.ts +22 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +22 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +79 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.spec.ts +24 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +108 -0
- package/src/app/services/nav-proxy.service.ts +1 -1
- package/src/app/services/tiledesk/tiledesk.service.ts +22 -1
- package/src/app/services/websocket/websocket-js.ts +557 -0
- package/src/app/services/websocket/websocket.service.spec.ts +12 -0
- package/src/app/services/websocket/websocket.service.ts +274 -0
- package/src/app/shared/shared.module.ts +7 -1
- package/src/assets/i18n/en.json +9 -1
- package/src/assets/i18n/it.json +9 -1
- package/src/assets/js/chat21client.js +141 -67
- package/src/assets/transparent.png +0 -0
- package/src/chat-config-pre-test.json +3 -1
- package/src/chat-config-template.json +3 -1
- package/src/chat-config.json +3 -1
- package/src/chat21-core/providers/chat-manager.ts +3 -3
- package/src/chat21-core/providers/firebase/firebase-archivedconversations-handler.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-auth-service.ts +6 -6
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-notifications.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-presence.service.ts +2 -2
- package/src/chat21-core/providers/firebase/firebase-typing.service.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-upload.service.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +27 -27
- package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +13 -5
- package/src/chat21-core/providers/mqtt/mqtt-notifications.ts +101 -11
- package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +13 -4
- package/src/chat21-core/utils/utils.ts +1 -1
- package/src/firebase-messaging-sw-template.js +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { Routes, RouterModule } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
import { UnassignedConversationsPage } from './unassigned-conversations.page';
|
|
5
|
+
|
|
6
|
+
const routes: Routes = [
|
|
7
|
+
{
|
|
8
|
+
path: '',
|
|
9
|
+
component: UnassignedConversationsPage
|
|
10
|
+
}
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
@NgModule({
|
|
14
|
+
imports: [RouterModule.forChild(routes)],
|
|
15
|
+
exports: [RouterModule],
|
|
16
|
+
})
|
|
17
|
+
export class UnassignedConversationsPageRoutingModule {}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
import { IonicModule } from '@ionic/angular';
|
|
6
|
+
|
|
7
|
+
import { UnassignedConversationsPageRoutingModule } from './unassigned-conversations-routing.module';
|
|
8
|
+
|
|
9
|
+
import { UnassignedConversationsPage } from './unassigned-conversations.page';
|
|
10
|
+
|
|
11
|
+
@NgModule({
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
IonicModule,
|
|
16
|
+
UnassignedConversationsPageRoutingModule
|
|
17
|
+
],
|
|
18
|
+
declarations: [
|
|
19
|
+
UnassignedConversationsPage,
|
|
20
|
+
]
|
|
21
|
+
})
|
|
22
|
+
export class UnassignedConversationsPageModule {}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<ion-header>
|
|
2
|
+
<ion-toolbar>
|
|
3
|
+
<ion-title>{{translationMap?.get('NewConversations') }}</ion-title>
|
|
4
|
+
<ion-buttons slot="end">
|
|
5
|
+
<ion-button ion-button fill="clear" (click)="onClose()">
|
|
6
|
+
<ion-icon slot="icon-only" name="close"></ion-icon>
|
|
7
|
+
</ion-button>
|
|
8
|
+
</ion-buttons>
|
|
9
|
+
</ion-toolbar>
|
|
10
|
+
</ion-header>
|
|
11
|
+
|
|
12
|
+
<ion-content overflow-scroll="true" id="iframe-ion-content"
|
|
13
|
+
[ngClass]="{'ion-content-black-background' : isProjectsForPanel === true}">
|
|
14
|
+
<!-- <iframe id="i_frame" style="width:100%; height:99%" frameBorder="0" allowfullscreen [src]="unassigned_convs_url_sanitized"></iframe> -->
|
|
15
|
+
<!-- <div class="stretchspinner-unassigned-convs">
|
|
16
|
+
<div class="rect1"></div>
|
|
17
|
+
<div class="rect2"></div>
|
|
18
|
+
<div class="rect3"></div>
|
|
19
|
+
<div class="rect4"></div>
|
|
20
|
+
<div class="rect5"></div>
|
|
21
|
+
</div> -->
|
|
22
|
+
</ion-content>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
.ion-content-black-background {
|
|
2
|
+
--background: #2d323e
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
// -------------------------------------------------
|
|
6
|
+
// stretch spinner https://tobiasahlin.com/spinkit/
|
|
7
|
+
// -------------------------------------------------
|
|
8
|
+
.stretchspinner-unassigned-convs {
|
|
9
|
+
margin: 100px auto;
|
|
10
|
+
width: 50px;
|
|
11
|
+
height: 40px;
|
|
12
|
+
text-align: center;
|
|
13
|
+
font-size: 10px;
|
|
14
|
+
position: absolute;
|
|
15
|
+
margin: auto;
|
|
16
|
+
top: 0;
|
|
17
|
+
left: 0;
|
|
18
|
+
bottom: 0;
|
|
19
|
+
right: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.stretchspinner-unassigned-convs > div {
|
|
23
|
+
background-color: #3ea9f5;
|
|
24
|
+
height: 100%;
|
|
25
|
+
width: 6px;
|
|
26
|
+
display: inline-block;
|
|
27
|
+
|
|
28
|
+
-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
|
29
|
+
animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.stretchspinner-unassigned-convs .rect2 {
|
|
33
|
+
-webkit-animation-delay: -1.1s;
|
|
34
|
+
animation-delay: -1.1s;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.stretchspinner-unassigned-convs .rect3 {
|
|
38
|
+
-webkit-animation-delay: -1s;
|
|
39
|
+
animation-delay: -1s;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.stretchspinner-unassigned-convs .rect4 {
|
|
43
|
+
-webkit-animation-delay: -0.9s;
|
|
44
|
+
animation-delay: -0.9s;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.stretchspinner-unassigned-convs .rect5 {
|
|
48
|
+
-webkit-animation-delay: -0.8s;
|
|
49
|
+
animation-delay: -0.8s;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@-webkit-keyframes sk-stretchdelay {
|
|
53
|
+
0%,
|
|
54
|
+
40%,
|
|
55
|
+
100% {
|
|
56
|
+
-webkit-transform: scaleY(0.4);
|
|
57
|
+
}
|
|
58
|
+
20% {
|
|
59
|
+
-webkit-transform: scaleY(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@keyframes sk-stretchdelay {
|
|
64
|
+
0%,
|
|
65
|
+
40%,
|
|
66
|
+
100% {
|
|
67
|
+
transform: scaleY(0.4);
|
|
68
|
+
-webkit-transform: scaleY(0.4);
|
|
69
|
+
}
|
|
70
|
+
20% {
|
|
71
|
+
transform: scaleY(1);
|
|
72
|
+
-webkit-transform: scaleY(1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
.hide-stretchspinner {
|
|
78
|
+
display: none;
|
|
79
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { IonicModule } from '@ionic/angular';
|
|
3
|
+
|
|
4
|
+
import { UnassignedConversationsPage } from './unassigned-conversations.page';
|
|
5
|
+
|
|
6
|
+
describe('UnassignedConversationsPage', () => {
|
|
7
|
+
let component: UnassignedConversationsPage;
|
|
8
|
+
let fixture: ComponentFixture<UnassignedConversationsPage>;
|
|
9
|
+
|
|
10
|
+
beforeEach(async(() => {
|
|
11
|
+
TestBed.configureTestingModule({
|
|
12
|
+
declarations: [ UnassignedConversationsPage ],
|
|
13
|
+
imports: [IonicModule.forRoot()]
|
|
14
|
+
}).compileComponents();
|
|
15
|
+
|
|
16
|
+
fixture = TestBed.createComponent(UnassignedConversationsPage);
|
|
17
|
+
component = fixture.componentInstance;
|
|
18
|
+
fixture.detectChanges();
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
it('should create', () => {
|
|
22
|
+
expect(component).toBeTruthy();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Component, Input, OnInit, SecurityContext } from '@angular/core';
|
|
2
|
+
import { ModalController } from '@ionic/angular';
|
|
3
|
+
import { NavProxyService } from 'src/app/services/nav-proxy.service';
|
|
4
|
+
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
5
|
+
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
6
|
+
import { DomSanitizer } from '@angular/platform-browser'
|
|
7
|
+
import { CustomTranslateService } from 'src/chat21-core/providers/custom-translate.service';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@Component({
|
|
11
|
+
selector: 'app-unassigned-conversations',
|
|
12
|
+
templateUrl: './unassigned-conversations.page.html',
|
|
13
|
+
styleUrls: ['./unassigned-conversations.page.scss'],
|
|
14
|
+
})
|
|
15
|
+
export class UnassignedConversationsPage implements OnInit {
|
|
16
|
+
|
|
17
|
+
@Input() unassigned_convs_url: any;
|
|
18
|
+
unassigned_convs_url_sanitized: any;
|
|
19
|
+
private logger: LoggerService = LoggerInstance.getInstance();
|
|
20
|
+
// has_loaded: boolean;
|
|
21
|
+
ion_content: any;
|
|
22
|
+
iframe: any;
|
|
23
|
+
|
|
24
|
+
isProjectsForPanel: boolean = false
|
|
25
|
+
|
|
26
|
+
public translationMap: Map<string, string>;
|
|
27
|
+
constructor(
|
|
28
|
+
private modalController: ModalController,
|
|
29
|
+
private navService: NavProxyService,
|
|
30
|
+
private sanitizer: DomSanitizer,
|
|
31
|
+
private translateService: CustomTranslateService,
|
|
32
|
+
) { }
|
|
33
|
+
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
const keys = ['UnassignedConversations', 'NewConversations'];
|
|
36
|
+
this.translationMap = this.translateService.translateLanguage(keys);
|
|
37
|
+
this.buildIFRAME();
|
|
38
|
+
this.listenToPostMsg();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
buildIFRAME() {
|
|
42
|
+
this.logger.log('[UNASSIGNED-CONVS-PAGE] - UNASSIGNED CONVS URL (ngOnInit)', this.unassigned_convs_url);
|
|
43
|
+
this.unassigned_convs_url_sanitized = this.sanitizer.sanitize(SecurityContext.URL, this.unassigned_convs_url)
|
|
44
|
+
this.logger.log('[UNASSIGNED-CONVS-PAGE] - UNASSIGNED CONVS URL SANITIZED (ngOnInit)', this.unassigned_convs_url_sanitized);
|
|
45
|
+
// this.has_loaded = false
|
|
46
|
+
|
|
47
|
+
this.ion_content = document.getElementById("iframe-ion-content");
|
|
48
|
+
this.iframe = document.createElement("iframe");
|
|
49
|
+
this.iframe.src = this.unassigned_convs_url_sanitized;
|
|
50
|
+
this.iframe.width = "100%";
|
|
51
|
+
this.iframe.height = "99%";
|
|
52
|
+
this.iframe.id = "unassigned-convs-iframe"
|
|
53
|
+
this.iframe.frameBorder = "0";
|
|
54
|
+
this.iframe.style.border = "none";
|
|
55
|
+
this.iframe.style.background = "white";
|
|
56
|
+
this.ion_content.appendChild(this.iframe);
|
|
57
|
+
|
|
58
|
+
// this.getIframeHaLoaded()
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
getIframeHaLoaded() {
|
|
62
|
+
var self = this;
|
|
63
|
+
var iframe = document.getElementById('unassigned-convs-iframe') as HTMLIFrameElement;;
|
|
64
|
+
this.logger.log('[APP-STORE-INSTALL] GET iframe ', iframe)
|
|
65
|
+
if (iframe) {
|
|
66
|
+
iframe.addEventListener("load", function () {
|
|
67
|
+
self.logger.log("[APP-STORE-INSTALL] GET - Finish");
|
|
68
|
+
let spinnerElem = <HTMLElement>document.querySelector('.stretchspinner-unassigned-convs')
|
|
69
|
+
|
|
70
|
+
self.logger.log('[APP-STORE-INSTALL] GET iframeDoc readyState spinnerElem', spinnerElem)
|
|
71
|
+
spinnerElem.classList.add("hide-stretchspinner")
|
|
72
|
+
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
listenToPostMsg() {
|
|
78
|
+
window.addEventListener("message", (event) => {
|
|
79
|
+
// console.log("[UNASSIGNED-CONVS-PAGE] message event ", event);
|
|
80
|
+
|
|
81
|
+
if (event && event.data) {
|
|
82
|
+
if (event.data === 'onInitProjectsForPanel') {
|
|
83
|
+
this.isProjectsForPanel = true;
|
|
84
|
+
}
|
|
85
|
+
if (event.data === 'onDestroyProjectsForPanel') {
|
|
86
|
+
this.isProjectsForPanel = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
async onClose() {
|
|
94
|
+
this.logger.log('[UNASSIGNED-CONVS-PAGE] - onClose MODAL')
|
|
95
|
+
this.logger.log('[UNASSIGNED-CONVS-PAGE] - onClose MODAL isModalOpened ', await this.modalController.getTop())
|
|
96
|
+
const isModalOpened = await this.modalController.getTop();
|
|
97
|
+
|
|
98
|
+
if (isModalOpened) {
|
|
99
|
+
this.modalController.dismiss({
|
|
100
|
+
|
|
101
|
+
confirmed: true
|
|
102
|
+
});
|
|
103
|
+
} else {
|
|
104
|
+
this.navService.pop();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
}
|
|
@@ -25,7 +25,7 @@ export class NavProxyService {
|
|
|
25
25
|
|
|
26
26
|
this.sidebarNav = sidebarNav;
|
|
27
27
|
this.detailNav = detailNav;
|
|
28
|
-
this.logger.
|
|
28
|
+
this.logger.log('[NAV-SERV] initialize sidebarNav', sidebarNav, ' detailNav', detailNav);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
setRoot(page: any, navExtra: any) {
|
|
@@ -21,6 +21,8 @@ export class TiledeskService {
|
|
|
21
21
|
public appConfigProvider: AppConfigProvider
|
|
22
22
|
) {
|
|
23
23
|
this.apiUrl = appConfigProvider.getConfig().apiUrl;
|
|
24
|
+
// const projectUrl = this.apiUrl + 'projects/'
|
|
25
|
+
// console.log('[TILEDESK-SERVICE] projectUrl' ,projectUrl )
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
|
|
@@ -51,7 +53,7 @@ export class TiledeskService {
|
|
|
51
53
|
|
|
52
54
|
// http://tiledesk-server-pre.herokuapp.com/requests_util/lookup/id_project/support-group-60ffe291f725db00347661ef-b4cb6875785c4a23b27244fe498eecf44
|
|
53
55
|
public getProjectIdByConvRecipient(token: string ,conversationWith: string ) {
|
|
54
|
-
const lookupUrl =this.apiUrl + 'requests_util/lookup/id_project/' + conversationWith;
|
|
56
|
+
const lookupUrl = this.apiUrl + 'requests_util/lookup/id_project/' + conversationWith;
|
|
55
57
|
|
|
56
58
|
this.logger.log('[TILEDESK-SERVICE] GET PROJECTID BY CONV RECIPIENT - URL ', lookupUrl);
|
|
57
59
|
|
|
@@ -70,6 +72,25 @@ export class TiledeskService {
|
|
|
70
72
|
}))
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
public getProjects(token: string) {
|
|
76
|
+
const url = this.apiUrl + 'projects/';
|
|
77
|
+
this.logger.log('[TILEDESK-SERVICE] - GET PROJECTS URL', url);
|
|
78
|
+
|
|
79
|
+
const httpOptions = {
|
|
80
|
+
headers: new HttpHeaders({
|
|
81
|
+
'Content-Type': 'application/json',
|
|
82
|
+
Authorization: token
|
|
83
|
+
})
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
return this.http
|
|
87
|
+
.get(url, httpOptions)
|
|
88
|
+
.pipe(map((res: any) => {
|
|
89
|
+
this.logger.log('[TILEDESK-SERVICE] GET PROJECTS - RES ', res);
|
|
90
|
+
return res
|
|
91
|
+
}))
|
|
92
|
+
}
|
|
93
|
+
|
|
73
94
|
|
|
74
95
|
|
|
75
96
|
|