mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Merge branch 'developer' of bitbucket.org:equilibriumito/gabinete-digital into developer
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';
|
||||
import { Observable } from 'rxjs';
|
||||
import { AuthService } from '../services/auth.service';
|
||||
import { LocalstoreService } from '../store/localstore.service';
|
||||
import { SessionStore } from '../store/session.service';
|
||||
|
||||
@@ -10,7 +11,8 @@ import { SessionStore } from '../store/session.service';
|
||||
export class AuthGuard implements CanActivate {
|
||||
constructor(
|
||||
private router:Router,
|
||||
private localstoreService: LocalstoreService
|
||||
private localstoreService: LocalstoreService,
|
||||
private authService: AuthService,
|
||||
){}
|
||||
|
||||
canActivate(
|
||||
@@ -27,7 +29,8 @@ export class AuthGuard implements CanActivate {
|
||||
this.router.navigate(['/']);
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
this.authService.loginChat();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -84,7 +84,6 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
}
|
||||
|
||||
this.chatService.addGroupOwner(body).subscribe((res)=>{
|
||||
alert('here');
|
||||
console.log(res);
|
||||
this.close();
|
||||
this.toastService._successMessage('Operação realizada com sucesso');
|
||||
|
||||
@@ -38,6 +38,7 @@ import { FileType } from 'src/app/models/fileType';
|
||||
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||
import { Storage } from '@ionic/storage';
|
||||
import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service';
|
||||
import { Camera, CameraResultType, CameraSource } from '@capacitor/camera';
|
||||
|
||||
const IMAGE_DIR = 'stored-images';
|
||||
|
||||
@@ -551,6 +552,10 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
async addImageMobile() {
|
||||
this.addFileToChatMobile(['image/apng', 'image/jpeg', 'image/png'])
|
||||
}
|
||||
|
||||
async addImage() {
|
||||
this.addFileToChat(['image/apng', 'image/jpeg', 'image/png'])
|
||||
@@ -604,13 +609,51 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
async addFileToChatMobile(types: typeof FileType[] ) {
|
||||
const roomId = this.roomId
|
||||
|
||||
const file = await Camera.getPhoto({
|
||||
quality: 90,
|
||||
// allowEditing: true,
|
||||
resultType: CameraResultType.Base64,
|
||||
source: CameraSource.Photos
|
||||
});
|
||||
console.log('ADDFILECHAT', file)
|
||||
//const imageData = await this.fileToBase64Service.convert(file)
|
||||
//console.log('ADDFILECHAT', imageData)
|
||||
|
||||
const response = await fetch('data:image/jpeg;base64,'+ file.base64String!);
|
||||
const blob = await response.blob();
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append("blobFile", blob);
|
||||
|
||||
this.wsChatMethodsService.getDmRoom(roomId).send({
|
||||
file: {
|
||||
"type": "application/img",
|
||||
"guid": '',
|
||||
"image_url": 'data:image/jpeg;base64,' +file.base64String
|
||||
},
|
||||
temporaryData: formData,
|
||||
attachments: [{
|
||||
"title": file.path ,
|
||||
"image_url": 'data:image/jpeg;base64,' +file.base64String,
|
||||
"text": "description",
|
||||
"title_link_download": false,
|
||||
}]
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
async addFileToChat(types: typeof FileType[] ) {
|
||||
const roomId = this.roomId
|
||||
|
||||
const file: any = await this.fileService.getFileFromDevice(types);
|
||||
console.log('ADDFILECHAT', file)
|
||||
const imageData = await this.fileToBase64Service.convert(file)
|
||||
console.log('ADDFILECHAT', imageData)
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append("blobFile", file);
|
||||
@@ -656,7 +699,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
this.takePicture()
|
||||
}
|
||||
else if (res['data'] == 'add-picture') {
|
||||
this.addImage()
|
||||
this.addImageMobile()
|
||||
}
|
||||
else if (res['data'] == 'add-document') {
|
||||
this.addFile()
|
||||
|
||||
-1
@@ -261,7 +261,6 @@ export class BookMeetingModalPage implements OnInit {
|
||||
}
|
||||
|
||||
if(this.task.FsId == '8') {
|
||||
alert('Chegou')
|
||||
const loader = this.toastService.loading()
|
||||
try {
|
||||
switch (this.loggeduser.Profile) {
|
||||
|
||||
@@ -36,11 +36,11 @@ export class InactivityPage implements OnInit {
|
||||
loop = false
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
|
||||
|
||||
// window.addEventListener('resize', (event) => {
|
||||
// if(this.router.url != '/login') return false
|
||||
|
||||
|
||||
// if(this.loop == false) {
|
||||
// this.loop = true
|
||||
// this.runloop()
|
||||
@@ -54,7 +54,7 @@ export class InactivityPage implements OnInit {
|
||||
// const containerHeight = 651
|
||||
|
||||
// let circleHeight = document.querySelector('.circle')['offsetHeight']
|
||||
// let circleWidth = document.querySelector('.circle')['offsetWidth']
|
||||
// let circleWidth = document.querySelector('.circle')['offsetWidth']
|
||||
// console.log(window.innerHeight, ' < ', containerHeight)
|
||||
|
||||
// console.log(circleHeight)
|
||||
@@ -64,7 +64,7 @@ export class InactivityPage implements OnInit {
|
||||
// e['style']['width'] = (circleWidth -1 )+'px'
|
||||
// })
|
||||
|
||||
|
||||
|
||||
// if( window.innerHeight< containerHeight) {
|
||||
// setTimeout(()=>{
|
||||
// this.runloop()
|
||||
@@ -114,14 +114,14 @@ export class InactivityPage implements OnInit {
|
||||
let attempt = await this.authService.login(this.userattempt, {saveSession: false})
|
||||
|
||||
if (attempt) {
|
||||
|
||||
|
||||
// if current attemp is equal to the current user
|
||||
if (attempt.UserId == SessionStore.user.UserId) {
|
||||
await this.authService.SetSession(attempt, this.userattempt);
|
||||
this.authService.loginChat(this.userattempt);
|
||||
this.authService.loginChat();
|
||||
this.getToken();
|
||||
SessionStore.setInativity(true)
|
||||
|
||||
|
||||
this.goback()
|
||||
} else {
|
||||
SessionStore.delete()
|
||||
@@ -174,10 +174,10 @@ export class InactivityPage implements OnInit {
|
||||
const code = this.code.join('')
|
||||
|
||||
if( SessionStore.validatePin(code)) {
|
||||
|
||||
|
||||
SessionStore.setInativity(true)
|
||||
this.goback()
|
||||
|
||||
|
||||
setTimeout(()=>{
|
||||
this.clearCode()
|
||||
}, 1000)
|
||||
@@ -196,7 +196,7 @@ export class InactivityPage implements OnInit {
|
||||
} else {
|
||||
this.router.navigate(['/home/events'], {replaceUrl: true});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
storePin() {
|
||||
|
||||
@@ -100,10 +100,9 @@ export class LoginPage implements OnInit {
|
||||
|
||||
// login to API successfully
|
||||
if (attempt) {
|
||||
|
||||
if (attempt.UserId == SessionStore.user.UserId) {
|
||||
await this.authService.SetSession(attempt, this.userattempt);
|
||||
await this.authService.loginChat(this.userattempt);
|
||||
await this.authService.loginChat();
|
||||
this.getToken();
|
||||
SessionStore.setInativity(true);
|
||||
|
||||
@@ -117,7 +116,7 @@ export class LoginPage implements OnInit {
|
||||
await this.authService.SetSession(attempt, this.userattempt);
|
||||
|
||||
this.changeProfileService.run()
|
||||
await this.authService.loginChat(this.userattempt);
|
||||
await this.authService.loginChat();
|
||||
this.getToken();
|
||||
this.router.navigateByUrl('/pin', { replaceUrl: true });
|
||||
}
|
||||
|
||||
@@ -108,12 +108,17 @@ export class AuthService {
|
||||
}
|
||||
}
|
||||
|
||||
//Login to rocketChat server
|
||||
async loginChat(user: UserForm) {
|
||||
const expireDate = new Date(new Date().getTime() + 60*1000);
|
||||
//Login to rocketChat server2
|
||||
//user: UserForm
|
||||
async loginChat() {
|
||||
|
||||
const expirationMinutes = 60;
|
||||
let date = new Date().getTime();
|
||||
let expirationDate = new Date(new Date().getTime() + expirationMinutes*60*1000);
|
||||
|
||||
let postData = {
|
||||
"user": user.username,
|
||||
"password": user.password,
|
||||
"user": SessionStore.user.RochetChatUser,
|
||||
"password": SessionStore.user.Password,
|
||||
}
|
||||
|
||||
let responseChat = await this.httpService.post('login', postData).toPromise();
|
||||
@@ -126,17 +131,19 @@ export class AuthService {
|
||||
this.ValidatedUserChat = responseChat;
|
||||
localStorage.setItem('userChat', JSON.stringify(responseChat));
|
||||
this.storageService.store(AuthConnstants.AUTH, responseChat);
|
||||
|
||||
/* this.autologout(10000); */
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
else{
|
||||
console.log('Network error');
|
||||
this.presentAlert('Network error');
|
||||
return false;
|
||||
}
|
||||
|
||||
this.autoLoginChat(expirationDate.getTime() - date);
|
||||
}
|
||||
|
||||
async autoLoginChat(expirationDate:number){
|
||||
setTimeout(()=>{
|
||||
this.loginChat();
|
||||
}, expirationDate)
|
||||
}
|
||||
|
||||
private loginToChatWs() {
|
||||
@@ -151,8 +158,8 @@ export class AuthService {
|
||||
})
|
||||
|
||||
|
||||
this.NfService.beforeSendAttachment = async (message: MessageService, room?: RoomService) => {
|
||||
|
||||
this.NfService.beforeSendAttachment = async (message: MessageService, room?: RoomService) => {
|
||||
|
||||
if(message.hasFile) {
|
||||
if(message.file.type != 'application/webtrix') {
|
||||
const formData = message.temporaryData
|
||||
@@ -164,14 +171,14 @@ export class AuthService {
|
||||
console.log('add picture to chat IMAGE SAVED')
|
||||
message.getFileFromDb()
|
||||
});
|
||||
|
||||
|
||||
return true
|
||||
} catch(e) {
|
||||
return false
|
||||
}
|
||||
|
||||
} else {
|
||||
try {
|
||||
try {
|
||||
const res = message.temporaryData
|
||||
let url = await this.processesService.GetDocumentUrl(res.data.selected.Id, res.data.selected.ApplicationType).toPromise();
|
||||
let url_no_options: string = url.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
||||
@@ -182,7 +189,7 @@ export class AuthService {
|
||||
} catch(e) {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -214,12 +214,12 @@ export class WsChatMethodsService {
|
||||
*/
|
||||
private defaultSubtribe(id: any) {
|
||||
this.WsChatService.streamRoomMessages(id).then((subscription)=>{
|
||||
console.log('streamRoomMessages', subscription)
|
||||
//console.log('streamRoomMessages', subscription)
|
||||
})
|
||||
|
||||
this.WsChatService.subStreamNotifyRoom(id, 'typing', false)
|
||||
this.WsChatService.streamNotifyRoomDeleteMessage(id).then((subscription)=>{
|
||||
console.log('streamNotifyRoomDeleteMessage', subscription);
|
||||
//console.log('streamNotifyRoomDeleteMessage', subscription);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -657,11 +657,11 @@ updateRoomEventss(roomId, collection:string, funx: Function, ) {
|
||||
for (const [key, item] of Object.entries(this.wsMsgQueue)) {
|
||||
|
||||
if(item.loginRequired == true && this.isLogin == true) {
|
||||
console.log('run msgQueue ', key)
|
||||
//console.log('run msgQueue ', key)
|
||||
this.ws.send(item);
|
||||
delete this.wsMsgQueue[key]
|
||||
} else if(item.loginRequired == false) {
|
||||
console.log('run msgQueue ', key)
|
||||
//console.log('run msgQueue ', key)
|
||||
this.ws.send(item);
|
||||
delete this.wsMsgQueue[key]
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ export class FileService {
|
||||
data: base64Data,
|
||||
directory: Directory.Data
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
//new method 3
|
||||
@@ -160,7 +160,7 @@ export class FileService {
|
||||
return new Promise((resolve, reject)=>{
|
||||
input.onchange = async () => {
|
||||
const file = this.fileLoaderService.getFirstFile(input)
|
||||
|
||||
|
||||
resolve(file);
|
||||
};
|
||||
})
|
||||
|
||||
@@ -67,7 +67,6 @@ export class NewGroupPage implements OnInit{
|
||||
}
|
||||
|
||||
/* ngOnDestroy(){
|
||||
alert('Destroy')
|
||||
this.dataService.set("newGroup", false);
|
||||
this.dataService.set("task", null);
|
||||
this.dataService.set("newGroupName", '');
|
||||
|
||||
@@ -12,7 +12,7 @@ class SessionService {
|
||||
// main data
|
||||
private _user = new UserSession()
|
||||
// local storage keyName
|
||||
private keyName: string;
|
||||
private keyName: string;
|
||||
|
||||
constructor() {
|
||||
|
||||
@@ -73,7 +73,7 @@ class SessionService {
|
||||
return false
|
||||
}
|
||||
return this._user.PIN.length >= 2
|
||||
|
||||
|
||||
}
|
||||
|
||||
reset(user) {
|
||||
@@ -98,4 +98,4 @@ class SessionService {
|
||||
}
|
||||
|
||||
|
||||
export const SessionStore = new SessionService()
|
||||
export const SessionStore = new SessionService()
|
||||
|
||||
Reference in New Issue
Block a user