mirror of
https://github.com/chsakell/aspnet-core-signalr-angular.git
synced 2025-12-22 17:27:48 +00:00
55 lines
1.1 KiB
TypeScript
55 lines
1.1 KiB
TypeScript
/* SignalR related interfaces */
|
|
export interface FeedSignalR extends SignalR {
|
|
broadcaster: FeedProxy
|
|
}
|
|
|
|
export interface FeedProxy {
|
|
client: FeedClient;
|
|
server: FeedServer;
|
|
}
|
|
|
|
export interface FeedClient {
|
|
userConnected: (user: any) => void;
|
|
userDisconnected: (id: string) => void;
|
|
|
|
updateMatch: (match: Match) => void;
|
|
addFeed: (feed: Feed) => void;
|
|
messageReceived: (message: string) => void;
|
|
addChatMessage: (chatMessage: ChatMessage) => void;
|
|
}
|
|
|
|
export interface FeedServer {
|
|
subscribe(matchId: number): void;
|
|
unsubscribe(matchId: number): void;
|
|
}
|
|
|
|
export enum ConnectionState {
|
|
Connected = 1,
|
|
Disconnected = 2,
|
|
Error = 3
|
|
}
|
|
|
|
/* LiveGameFeed related interfaces */
|
|
export interface Match {
|
|
Id: number;
|
|
Host: string;
|
|
Guest: string;
|
|
HostScore: number;
|
|
GuestScore: number;
|
|
MatchDate: Date;
|
|
Type: string;
|
|
Feeds: Feed[];
|
|
}
|
|
|
|
export interface Feed {
|
|
Id: number;
|
|
Description: string;
|
|
CreatedAt: Date;
|
|
MatchId: number;
|
|
}
|
|
|
|
export interface ChatMessage {
|
|
MatchId: number;
|
|
Text: string;
|
|
CreatedAt: Date;
|
|
} |