// 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

// Assemblea condominiale — allineato al backend ws_spring_cmp (/assemblee/*).
export interface Assemblea {
	asm_id: number;
	asm_cmp_id: number;
	asm_title: string;
	asm_type: string; // ordinaria | straordinaria
	asm_status: string; // programmata | conclusa | annullata
	asm_quorum: boolean; // true = prevede il quorum millesimale
	asm_first_call_dt: string | null;
	asm_second_call_dt: string | null;
	asm_location: string;
	asm_description: string;
	asm_odg: string; // ordine del giorno: una voce per riga
	asm_folder_id: number | null;
	// conteggi calcolati dalla lista
	invitati?: number;
	presenti?: number;
	assenti?: number;
	senza_risposta?: number;
	totalrows?: number;
	// invitati (solo per add/upd)
	cst_ids?: number[];
}

export interface AssembleaPartecipante {
	asp_id: number;
	asp_asm_id: number;
	asp_cst_id: number;
	asp_presente: boolean | null; // null = non ha ancora risposto
	asp_delega_da: string | null;
	asp_note: string | null;
	asp_dt_risposta: string | null;
	cst_display: string;
	cst_email: string;
	cst_userid_pt: number | null;
	cst_millesimi: number;
}

export interface ConvocazioneLettera {
	wsd_id: number;
	wsd_drfl_id: number;
	wsd_cst_id: number;
	wsd_filename: string;
	cst_display: string;
}

export const ASSEMBLEA_TIPO_OPTIONS = [
	{ label: 'Ordinaria', value: 'ordinaria' },
	{ label: 'Straordinaria', value: 'straordinaria' },
];

/** Somma millesimale di riferimento del condominio */
export const MILLESIMI_TOTALI = 1000;
