import { SocialNetworkInstagramsController } from "../../controllers/social-network/social-network-instagram.controller";
import { AuthMiddleware } from "../../middleware/auth.middleware";
import { SocialNetworkInstagramsValidator } from "../../validators/social-network/social-network-instagram.validator";
import { AbstractRoute } from "../abstract.route";

const express = require("express");
const router = express.Router();
const controller = new SocialNetworkInstagramsController();

class SocialNetworkInstagramsRoute extends AbstractRoute {
  constructor(_controller, _router) {
    super(_controller, _router, new SocialNetworkInstagramsValidator(), []);
    this.customMethods = [
      "getItem",
      "getItems",
      "createItem",
      "connect",
      "disconnect",
      "sendMessages",
      "sendPhotos",
      "sendVideos",
      "sendAudios",
      "sendStories",
      "publishPhoto",
      "publishAlbum",
      "publishVideo",
      "publishStory",
      "session"
    ];
  }
  /**
   * Get session social Network Instagrams
   * @swagger
   * /social-networks/instagrams/session/{id}:
   *    get:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Get session social Network Instagrams"
   *      description: "List session social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "GETsessionSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      - $ref: '#/components/parameters/pageParam'
   *      - $ref: '#/components/parameters/limitParam'
   *      - name: "id"
   *        in: "path"
   *        description: "Session of social Network Instagram to return"
   *        required: true
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemsSchema'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemsSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  session() {
    this.router.get(
      "/session/:id",
      AuthMiddleware,
      this.validator.session(),
      this.controller.session.bind(this.controller)
    );
  }
  /** 
   * Send message social Network Instagrams
   * @swagger
   * /social-networks/instagrams/send-messages:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send message to social Network Instagrams"
   *      description: "Send message to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendMessageSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsSendMessagesSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  sendMessages() {
    this.router.post(
      "/send-messages",
      AuthMiddleware,
      this.validator.sendMessages(),
      this.controller.sendMessages.bind(this.controller));
  }
  /** 
   * Send photos social Network Instagrams
   * @swagger
   * /social-networks/instagrams/send-photos:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send photos to social Network Instagrams"
   *      description: "Send photos to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendPhotosSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsSendPhotosSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  sendPhotos() {
    this.router.post(
      "/send-photos",
      AuthMiddleware,
      this.validator.sendPhotos(),
      this.controller.sendPhotos.bind(this.controller));
  }
  /** 
   * Send videos social Network Instagrams
   * @swagger
   * /social-networks/instagrams/send-videos:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send videos to social Network Instagrams"
   *      description: "Send videos to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendVideosSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsSendVideosSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  sendVideos() {
    this.router.post(
      "/send-videos",
      AuthMiddleware,
      this.validator.sendVideos(),
      this.controller.sendVideos.bind(this.controller));
  }
  /** 
   * Send audios social Network Instagrams
   * @swagger
   * /social-networks/instagrams/send-audios:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send audios to social Network Instagrams"
   *      description: "Send audios to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendAudiosSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsSendAudiosSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  sendAudios() {
    this.router.post(
      "/send-audios",
      AuthMiddleware,
      this.validator.sendAudios(),
      this.controller.sendAudios.bind(this.controller));
  }
  /** 
   * Send stories social Network Instagrams
   * @swagger
   * /social-networks/instagrams/send-stories:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send stories to social Network Instagrams"
   *      description: "Send stories to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendStoriesSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsSendStoriesSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  sendStories() {
    this.router.post(
      "/send-stories",
      AuthMiddleware,
      this.validator.sendStories(),
      this.controller.sendStories.bind(this.controller));
  }
  /** 
   * Send photo social Network Instagrams
   * @swagger
   * /social-networks/instagrams/publish-photo:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send photo to social Network Instagrams"
   *      description: "Send photo to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendPhotoSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsPublishPhotosSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  publishPhoto() { // "https://picsum.photos/200/300"
    this.router.post("/publish-photo", AuthMiddleware, this.validator.publishMultimedia(), this.controller.publishPhoto.bind(this.controller));
  }
  /** 
   * Send video social Network Instagrams
   * @swagger
   * /social-networks/instagrams/publish-video:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send video to social Network Instagrams"
   *      description: "Send video to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendVideoSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsPublishVideosSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  publishVideo() { // "https://cupensystems.com/assets/video-37-56-202321211356.mp4"
    this.router.post("/publish-video", AuthMiddleware, this.validator.publishMultimedia(), this.controller.publishVideo.bind(this.controller));
  }
  /** 
   * Send album social Network Instagrams
   * @swagger
   * /social-networks/instagrams/publish-album:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send album to social Network Instagrams"
   *      description: "Send album to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendAlbumSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsPublishAlbumsSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  publishAlbum() {
    this.router.post("/publish-album", AuthMiddleware, this.validator.publishMultimedia(), this.controller.publishAlbum.bind(this.controller));
  }
  /** 
   * Send story social Network Instagrams
   * @swagger
   * /social-networks/instagrams/publish-story:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Send story to social Network Instagrams"
   *      description: "Send story to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTsendStorySocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsPublishStorySchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsResponse'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  publishStory() {
    this.router.post("/publish-story", AuthMiddleware, this.validator.publishMultimedia(), this.controller.publishStory.bind(this.controller));
  }
  /** 
   * Connect social Network Instagrams
   * @swagger
   * /social-networks/instagrams/connect:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Connect to social Network Instagrams"
   *      description: "Connect to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTconnectSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsConnectSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsConnectSchema'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsConnectSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  connect() {
    this.router.post(
      "/connect",
      AuthMiddleware,
      this.validator.connect(),
      this.controller.connect.bind(this.controller));
  }
  /** 
   * Disconnect social Network Instagrams
   * @swagger
   * /social-networks/instagrams/disconnect:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Disconnect to social Network Instagrams"
   *      description: "Disconnect to social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "POSTdisconnectSocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsDisconnectSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsDisconnectSchema'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsDisconnectSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  disconnect() {
    this.router.post(
      "/disconnect",
      AuthMiddleware,
      this.validator.connect(),
      this.controller.connect.bind(this.controller));
  }
  /**
   * Get all social Network Instagrams
   * @swagger
   * /social-networks/instagrams:
   *    get:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Get all social Network Instagrams"
   *      description: "List all social Network Instagrams with details"
   *      security:
   *        - bearerAuth: []
   *      operationId: "GETsocialNetworkInstagrams"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      - $ref: '#/components/parameters/pageParam'
   *      - $ref: '#/components/parameters/limitParam'
   *      - name: "sort"
   *        in: "query"
   *        description: "The type of sort of items to return."
   *        required: false
   *        schema:
   *          type: "string"
   *          enum: [createdAt, -createdAt]
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemsSchema'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemsSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  /**
   * Find social Network Instagram by ID
   * @swagger
   * /social-networks/instagrams/{id}:
   *    get:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Find social Network Instagram by ID"
   *      description: "Returns a single social Network Instagram"
   *      security:
   *        - bearerAuth: []
   *      operationId: "GETsocialNetworkInstagram"
   *      produces:
   *      - "application/xml"
   *      - "application/json"
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      - name: "id"
   *        in: "path"
   *        description: "ID of social Network Instagram to return"
   *        required: true
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemSchema'
   *        "204":
   *          description: "successful operation with empty respose"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
  /**
   * Add a social Network Instagram
   * @swagger
   * /social-networks/instagrams:
   *    post:
   *      tags:
   *        - SocialNetworksInstagram
   *      summary: "Add a social Network Instagram"
   *      description: "Add a social Network Instagram"
   *      operationId: "ADDsocialNetworkInstagram"
   *      security:
   *        - bearerAuth: []
   *      parameters:
   *      - $ref: '#/components/parameters/store'
   *      requestBody:
   *        content:
   *          application/json:
   *            schema:
   *              $ref: "#/definitions/SocialNetworkInstagramsCreateItemSchema"
   *      responses:
   *        "200":
   *          description: "successful operation"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemSchema'
   *        "201":
   *          description: "Created successfully"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/SocialNetworkInstagramsGetItemSchema'
   *        "401":
   *          description: "Not allow because you need a Authentication Token"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        '403':
   *          description: "Not allow because you need more permissions"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        "404":
   *          description: "Social Network Instagrams not found"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   *        default:
   *          description: "Unexpected Error"
   *          content:
   *            application/json:
   *              schema:
   *                $ref: '#/definitions/ErrorSchema'
   */
}

export const socialNetworkInstagramsRouter = new SocialNetworkInstagramsRoute(
  controller,
  router
).init();
