"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.socialNetworkSmssRouter = void 0;
const social_network_sms_controller_1 = require("../../controllers/social-network/social-network-sms.controller");
const auth_middleware_1 = require("../../middleware/auth.middleware");
const social_network_sms_validator_1 = require("../../validators/social-network/social-network-sms.validator");
const abstract_route_1 = require("../abstract.route");
const express = require("express");
const router = express.Router();
const controller = new social_network_sms_controller_1.SocialNetworkSmssController();
class SocialNetworkSmssRoute extends abstract_route_1.AbstractRoute {
    constructor(_controller, _router) {
        super(_controller, _router, new social_network_sms_validator_1.SocialNetworkSmssValidator(), [
            "getItem", "getItems", "createItem",
            "sendMessage",
            "sendVerification",
            "verify",
        ]);
    }
    sendMessage() {
        this.router.post("/send-message", auth_middleware_1.AuthMiddleware, this.validator.sendMessage(), this.controller.sendMessage.bind(this.controller));
    }
    sendVerification() {
        this.router.post("/send-verification", auth_middleware_1.AuthMiddleware, this.validator.sendVerification(), this.controller.sendVerification.bind(this.controller));
    }
    verify() {
        this.router.post("/verify", auth_middleware_1.AuthMiddleware, this.validator.verify(), this.controller.verify.bind(this.controller));
    }
}
exports.socialNetworkSmssRouter = new SocialNetworkSmssRoute(controller, router).init();
