Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { HubConnection, HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr';
|
||||||
|
|
||||||
|
@Injectable({ providedIn: 'root' })
|
||||||
|
export class ChatService {
|
||||||
|
|
||||||
|
private hub: HubConnection;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.hub = new HubConnectionBuilder()
|
||||||
|
.withUrl('https://localhost:5001/hubs/chat')
|
||||||
|
.withAutomaticReconnect()
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
async connect() {
|
||||||
|
if (this.hub.state === HubConnectionState.Disconnected) {
|
||||||
|
await this.hub.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async sendMessage(discussionId: string, content: string) {
|
||||||
|
await this.connect(); // s'assure que la connexion est active
|
||||||
|
await this.hub.invoke('SendMessage', discussionId, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
onMessage(callback: (message: any) => void) {
|
||||||
|
this.hub.on('ReceiveMessage', callback);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import {Observable} from "rxjs";
|
||||||
|
import {Discussion} from "../../pages/menu/menu-users/menu-users.component";
|
||||||
|
import {HttpClient} from "@angular/common/http";
|
||||||
|
import {inject, Injectable} from "@angular/core";
|
||||||
|
|
||||||
|
@Injectable({ providedIn: 'root' })
|
||||||
|
export class discussionsService {
|
||||||
|
|
||||||
|
private http = inject(HttpClient);
|
||||||
|
private apiUrl = 'https://localhost:5001/API';
|
||||||
|
|
||||||
|
getDiscussions(): Observable<Discussion[]> {
|
||||||
|
return this.http.get<Discussion[]>(`${this.apiUrl}/discussions`);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Component, inject, Input } from '@angular/core';
|
import { Component, inject, Input } from '@angular/core';
|
||||||
import { FormControl, FormsModule, ReactiveFormsModule } from "@angular/forms";
|
import { FormControl, FormsModule, ReactiveFormsModule } from "@angular/forms";
|
||||||
import { ChatService } from "../../../services/api/chat.service";
|
import { ChatService } from "../../../core/chat/chat.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-messages-send',
|
selector: 'app-messages-send',
|
||||||
|
|||||||
Reference in New Issue
Block a user