mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 13:02:56 +00:00
set member to admin
This commit is contained in:
@@ -24,9 +24,8 @@
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content">
|
||||
|
||||
<ion-virtual-scroll [items]="members | filter:textSearch: 'name'" approxItemHeight="70px" [headerFn]="separateLetter">
|
||||
<div class="main-content" *ngIf="roomMembers$ | async as memberList">
|
||||
<ion-virtual-scroll [items]="memberList | filter:textSearch: 'wxFullName'" approxItemHeight="70px" [headerFn]="separateLetter">
|
||||
|
||||
<div class="item-divider" *virtualHeader="let header">
|
||||
<ion-label>{{header}}</ion-label>
|
||||
@@ -34,7 +33,7 @@
|
||||
|
||||
<div *virtualItem="let user" class="item-checkbox">
|
||||
<div class="cursor-pointer d-flex width-100" (click)="setRoomOwner(user)" (ionChange)="setRoomOwner(user)">
|
||||
<p class="flex-1">{{user.name}}</p>
|
||||
<p class="flex-1">{{user.wxFullName}}</p>
|
||||
<ion-icon slot="end" class="{{user.status}}" name="ellipse"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { ChatSystemService } from 'src/app/services/chat/chat-system.service';
|
||||
import { TableMemberList } from 'src/app/module/chat/data/data-source/room/rooom-local-data-source.service';
|
||||
import { RoomRepositoryService } from 'src/app/module/chat/data/repository/room-repository.service';
|
||||
import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { Observable as DexieObservable } from 'Dexie';
|
||||
import { ChatServiceService } from 'src/app/module/chat/domain/chat-service.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-set-room-owner',
|
||||
@@ -15,13 +18,15 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
textSearch:string = "";
|
||||
roomId:any;
|
||||
members:any;
|
||||
roomMembers$: DexieObservable<TableMemberList[] | undefined>
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
private navParams: NavParams,
|
||||
public ThemeService: ThemeService,
|
||||
private toastService: ToastService,
|
||||
public ChatSystemService: ChatSystemService,
|
||||
private roomRepositoryService: RoomRepositoryService,
|
||||
private chatServiceService: ChatServiceService
|
||||
) {
|
||||
this.roomId = this.navParams.get('roomId');
|
||||
this.members = this.navParams.get('members');
|
||||
@@ -29,23 +34,24 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
// this.chatService.refreshtoken();
|
||||
this.roomMembers$ = this.roomRepositoryService.getRoomMemberNoneAdminByIdLive(this.roomId) as any
|
||||
}
|
||||
|
||||
async close(){
|
||||
async close() {
|
||||
this.modalController.dismiss();
|
||||
}
|
||||
|
||||
onChange(event){
|
||||
onChange(event) {
|
||||
this.textSearch = event.detail.value;
|
||||
}
|
||||
|
||||
separateLetter(record, recordIndex, records){
|
||||
separateLetter(record:TableMemberList, recordIndex, records:TableMemberList[]) {
|
||||
if(recordIndex == 0){
|
||||
return record.name[0];
|
||||
return record.wxFullName[0];
|
||||
}
|
||||
|
||||
let first_prev = records[recordIndex - 1].name[0];
|
||||
let first_current = record.name[0];
|
||||
let first_prev = records[recordIndex - 1].wxFullName[0];
|
||||
let first_current = record.wxFullName[0];
|
||||
|
||||
if(first_prev != first_current){
|
||||
return first_current;
|
||||
@@ -53,46 +59,20 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
return null;
|
||||
}
|
||||
|
||||
async setRoomOwner(user:any){
|
||||
async setRoomOwner(user:TableMemberList) {
|
||||
|
||||
let res:any;
|
||||
try {
|
||||
res = await this.ChatSystemService.addRoomOwner(this.roomId, user._id)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
||||
|
||||
if(res.error){
|
||||
if(res.error.error == 'error-user-already-owner'){
|
||||
this.toastService._badRequest('Este utilizador já é administrador');
|
||||
}
|
||||
else{
|
||||
this.toastService._badRequest('Não foi possível completar a ação, por favor tente novamente.');
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.modalController.dismiss('success');
|
||||
}
|
||||
|
||||
/*
|
||||
let body = {
|
||||
"roomId": this.roomId,
|
||||
"userId": user._id
|
||||
}
|
||||
|
||||
this.chatService.addGroupOwner(body).subscribe((res)=>{
|
||||
this.close();
|
||||
this.toastService._successMessage('Operação realizada com sucesso');
|
||||
}, (e) => {
|
||||
if(e.error.errorType == 'error-user-already-owner'){
|
||||
this.toastService._badRequest('Este utilizador já é administrador');
|
||||
}
|
||||
else{
|
||||
this.toastService._badRequest('Não foi possível completar a ação, por favor tente novamente.');
|
||||
}
|
||||
}); */
|
||||
const result = await this.chatServiceService.setAdmin({
|
||||
roomId: user.roomId,
|
||||
memberId: user.wxUserId.toString()
|
||||
});
|
||||
|
||||
if(result.isOk()) {
|
||||
this.roomRepositoryService.getRoomById(this.roomId)
|
||||
// this.modalController.dismiss('success');
|
||||
} else {
|
||||
this.toastService._badRequest('Não foi possível completar a ação, por favor tente novamente.');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user