partey_workadventure/front/src/Connexion/ConnexionModels.ts

98 lines
2.3 KiB
TypeScript
Raw Normal View History

import type { SignalData } from "simple-peer";
import type { RoomConnection } from "./RoomConnection";
import type { BodyResourceDescriptionInterface } from "../Phaser/Entity/PlayerTextures";
2020-09-25 18:29:22 +02:00
export interface PointInterface {
x: number;
y: number;
direction: string; // TODO: modify this to the enum from ts-proto
2020-09-25 18:29:22 +02:00
moving: boolean;
}
export interface MessageUserPositionInterface {
userId: number;
name: string;
2020-10-20 16:39:23 +02:00
characterLayers: BodyResourceDescriptionInterface[];
2020-09-25 18:29:22 +02:00
position: PointInterface;
visitCardUrl: string | null;
companion: string | null;
userUuid: string;
2020-09-25 18:29:22 +02:00
}
export interface MessageUserMovedInterface {
userId: number;
position: PointInterface;
}
export interface MessageUserJoined {
userId: number;
name: string;
2020-10-20 16:39:23 +02:00
characterLayers: BodyResourceDescriptionInterface[];
2021-04-02 21:21:11 +02:00
position: PointInterface;
visitCardUrl: string | null;
companion: string | null;
userUuid: string;
2021-12-23 10:22:19 +01:00
outlineColor: number | undefined;
2020-09-25 18:29:22 +02:00
}
export interface PositionInterface {
x: number;
y: number;
2020-09-25 18:29:22 +02:00
}
export interface GroupCreatedUpdatedMessageInterface {
position: PositionInterface;
groupId: number;
groupSize: number;
2020-09-25 18:29:22 +02:00
}
export interface WebRtcDisconnectMessageInterface {
userId: number;
2020-09-25 18:29:22 +02:00
}
export interface WebRtcSignalReceivedMessageInterface {
userId: number;
signal: SignalData;
webRtcUser: string | undefined;
webRtcPassword: string | undefined;
2020-09-25 18:29:22 +02:00
}
export interface ViewportInterface {
left: number;
top: number;
right: number;
bottom: number;
2020-09-25 18:29:22 +02:00
}
export interface ItemEventMessageInterface {
itemId: number;
event: string;
state: unknown;
parameters: unknown;
2020-09-25 18:29:22 +02:00
}
export interface PlayerDetailsUpdatedMessageInterface {
userId: number;
outlineColor: number;
removeOutlineColor: boolean;
}
2020-09-25 18:29:22 +02:00
export interface RoomJoinedMessageInterface {
//users: MessageUserPositionInterface[],
//groups: GroupCreatedUpdatedMessageInterface[],
items: { [itemId: number]: unknown };
variables: Map<string, unknown>;
Refactoring Woka management (#1810) * Wrap websockets with HyperExpress * Add endpoints on pusher to resolve wokas * getting textures urls from pusher * Adding OpenAPI documentation for the pusher. The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint. * revert FRONT_URL * playerTextures metadata is being loaded via Phaser.Loader * fetch textures every time character or customize scene is open * Heavy changes: refactoring the pusher to always send the textures (and the front to accept them) * Sending character layer details to admin * Cleaning commented code * Fixing regex * Fix woka endpoints on pusher * Change error wording on pusher * Working on integration of the woka-list with the new admin endpoint. * Switching from "name" to "id" in texture object + using zod for woka/list validation * Add position on default woka data * Remove async on pusher option method * Fix woka list url * add options for /register * Fxiing loading the Woka list * Actually returning something in logout-callback * Copying messages to back too * remove customize button if no body parts are available (#1952) * remove customize button if no body parts are available * remove unused position field from PlayerTexturesCollection interface * removed unused label field * fix LocalUser test * little PlayerTextures class refactor * Fixing linting * Fixing missing Openapi packages in prod * Fixing back build Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: David Négrier <d.negrier@thecodingmachine.com> * Add returns on pusher endpoints Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re> Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
2022-03-11 17:02:58 +01:00
characterLayers: BodyResourceDescriptionInterface[];
}
export interface PlayGlobalMessageInterface {
2021-07-20 15:16:51 +02:00
type: string;
content: string;
broadcastToWorld: boolean;
}
export interface OnConnectInterface {
connection: RoomConnection;
room: RoomJoinedMessageInterface;
}