"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SocialNetworkEmailsModelSwagger = exports.SocialNetworkEmailsModel = void 0;
const social_network_email_schema_1 = require("../../schemas/social-network/social-network-email.schema");
const mongoose_1 = __importDefault(require("mongoose"));
const abstract_model_1 = require("../abstract.model");
const collection = "social-network-emails";
const schemaModelsMongoose = social_network_email_schema_1.schema.mongoose(social_network_email_schema_1.schema.schemas.parentSchema);
const AbstractSchemaOptions = {
    timestamps: true,
    versionKey: false,
};
const Schema = new mongoose_1.default.Schema(schemaModelsMongoose, AbstractSchemaOptions);
(0, abstract_model_1.customsSchema)(Schema);
const getItem = social_network_email_schema_1.schema.swagger({
    _id: "String",
    ...social_network_email_schema_1.schema.schemas.parentSchema,
}).definitions;
const sendVerification = social_network_email_schema_1.schema.swagger({
    ...social_network_email_schema_1.schema.schemas.sendVerificationSchema,
}).definitions;
const verify = social_network_email_schema_1.schema.swagger({
    ...social_network_email_schema_1.schema.schemas.verifySchema,
}).definitions;
const sendItem = social_network_email_schema_1.schema.swagger({
    _id: "String",
    ...social_network_email_schema_1.schema.schemas.emailSchema,
}).definitions;
const responseItem = social_network_email_schema_1.schema.swagger({
    _id: "String",
    ...social_network_email_schema_1.schema.schemas.responseSchema,
}).definitions;
exports.SocialNetworkEmailsModel = mongoose_1.default.model(collection, Schema);
exports.SocialNetworkEmailsModelSwagger = {
    SocialNetworkEmailsSendVerification: {
        type: "object",
        properties: sendVerification,
    },
    SocialNetworkEmailsVerify: {
        type: "object",
        properties: verify,
    },
    SocialNetworkEmailsGetItem: {
        type: "object",
        properties: getItem,
    },
    SocialNetworkEmailsGetItems: {
        type: "object",
        properties: getItem,
    },
    SocialNetworkEmailsCreateItem: {
        type: "object",
        properties: getItem,
    },
    SocialNetworkEmailSendItem: {
        type: "object",
        properties: sendItem,
    },
    SocialNetworkEmailResponseItem: {
        type: "object",
        properties: responseItem,
    },
};
