36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import 'reflect-metadata';
|
|
import { OnGatewayConnection } from '@nestjs/websockets';
|
|
import { Server, Socket } from 'socket.io';
|
|
import { PrismaService } from '../prisma/prisma.service';
|
|
import { ParticipantRole } from '@prisma/client';
|
|
import { Reflector } from '@nestjs/core';
|
|
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
import { Cache } from 'cache-manager';
|
|
export declare class CommentGateway implements OnGatewayConnection {
|
|
server: Server;
|
|
handleConnection(client: Socket): void;
|
|
handleJoinTour(client: Socket, tourId: string): void;
|
|
handleJoinPhoto(client: Socket, photoId: string): void;
|
|
notifyNewComment(tourId: string, data: any): void;
|
|
notifyNewPhotoComment(photoId: string, data: any): void;
|
|
handleJoinUser(client: Socket, userId: string): void;
|
|
notifyNewMessage(receiverId: string, data: any): void;
|
|
notifyConnectionAccepted(requesterId: string, data: any): void;
|
|
notifyJoinRequestAccepted(userId: string, data: any): void;
|
|
}
|
|
export declare const ROLES_KEY = "roles";
|
|
export declare const Roles: (...roles: ParticipantRole[]) => import("@nestjs/common").CustomDecorator<string>;
|
|
export declare class TourRoleGuard implements CanActivate {
|
|
private reflector;
|
|
private prisma;
|
|
private cacheManager;
|
|
constructor(reflector: Reflector, prisma: PrismaService, cacheManager: Cache);
|
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
}
|
|
export declare class EmailService {
|
|
private transporter;
|
|
constructor();
|
|
sendOTP(email: string, otp: string): Promise<any>;
|
|
sendTourInvitation(email: string, tourTitle: string, inviteLink: string): Promise<any>;
|
|
}
|