// Questo file fa parte di MyTown.
// MyTown è software libero: puoi ridistribuirlo e/o modificarlo secondo
// i termini della GNU Affero General Public License come pubblicata dalla
// Free Software Foundation, versione 3.
// Distribuito senza ALCUNA GARANZIA; vedi la GNU AGPL v3 per i dettagli.
// Copyright (C) Kondor Consulting & Services S.r.l.
// SPDX-License-Identifier: AGPL-3.0-or-later

using System;

namespace KondorCS.ScheduleLibrary.AIFileProcessor
{
    /// <summary>
    /// Rappresenta un file caricato nel sistema
    /// </summary>
    public class FileUpload
    {
        public int Fu_id { get; set; }
        public int? Fu_fui_id { get; set; }
        public int? Fu_ft_id { get; set; }
        public string Fu_path { get; set; }
        public string Fu_ai_response { get; set; }
        public string Fu_name { get; set; }
        public int Fu_ai_status { get; set; }
    }

    /// <summary>
    /// Rappresenta il tipo di file e il form associato
    /// </summary>
    public class TypeFile
    {
        public int Ft_id { get; set; }
        public string Ft_name { get; set; }
        public string Ft_form { get; set; }
        public int? Ft_fg_id { get; set; }
        public string Ft_desc { get; set; }
        public bool? Ft_multi { get; set; }
        public string Ft_prompt { get; set; }
        public string Ft_relative_path { get; set; }
        public FileUpload Files { get; set; }
    }

    /// <summary>
    /// Rappresenta un gruppo di tipi di file
    /// </summary>
    public class TypeGroup
    {
        public int Fg_id { get; set; }
        public string Fg_name { get; set; }
    }

    /// <summary>
    /// Rappresenta la configurazione del database
    /// </summary>
    public class DbConfig
    {
        public int Db_id { get; set; }
        public string Db_name { get; set; }
        public string Db_url { get; set; }
        public string Db_username { get; set; }
        public string Db_password { get; set; }
    }
}
