feat: Add farba field and company details to AI Kurzy module
- Add farba (color) field to kurzy schema and Zod validation - Add company detail fields (firma_ico, firma_dic, firma_ic_dph, firma_sidlo) to ucastnici - Remove console logs from ai-kurzy service - Add SQL migration scripts for schema updates and data Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,7 @@ export const getAllKurzy = async () => {
|
||||
cena: kurzy.cena,
|
||||
maxKapacita: kurzy.maxKapacita,
|
||||
aktivny: kurzy.aktivny,
|
||||
farba: kurzy.farba,
|
||||
createdAt: kurzy.createdAt,
|
||||
registraciiCount: sql`(SELECT COUNT(*) FROM registracie WHERE kurz_id = ${kurzy.id})::int`,
|
||||
})
|
||||
@@ -48,6 +49,7 @@ export const createKurz = async (data) => {
|
||||
cena: data.cena,
|
||||
maxKapacita: data.maxKapacita || null,
|
||||
aktivny: data.aktivny !== undefined ? data.aktivny : true,
|
||||
farba: data.farba || null,
|
||||
})
|
||||
.returning();
|
||||
|
||||
@@ -57,7 +59,23 @@ export const createKurz = async (data) => {
|
||||
export const updateKurz = async (id, data) => {
|
||||
await getKurzById(id);
|
||||
|
||||
const updateData = { ...data, updatedAt: new Date() };
|
||||
const updateData = {
|
||||
nazov: data.nazov,
|
||||
typKurzu: data.typKurzu,
|
||||
popis: data.popis !== undefined ? data.popis : undefined,
|
||||
cena: data.cena,
|
||||
maxKapacita: data.maxKapacita !== undefined ? data.maxKapacita : undefined,
|
||||
aktivny: data.aktivny !== undefined ? data.aktivny : undefined,
|
||||
farba: data.farba !== undefined ? data.farba : undefined,
|
||||
updatedAt: new Date(),
|
||||
};
|
||||
|
||||
// Remove undefined values
|
||||
Object.keys(updateData).forEach(key => {
|
||||
if (updateData[key] === undefined) {
|
||||
delete updateData[key];
|
||||
}
|
||||
});
|
||||
|
||||
const [updated] = await db
|
||||
.update(kurzy)
|
||||
@@ -86,6 +104,10 @@ export const getAllUcastnici = async () => {
|
||||
email: ucastnici.email,
|
||||
telefon: ucastnici.telefon,
|
||||
firma: ucastnici.firma,
|
||||
firmaIco: ucastnici.firmaIco,
|
||||
firmaDic: ucastnici.firmaDic,
|
||||
firmaIcDph: ucastnici.firmaIcDph,
|
||||
firmaSidlo: ucastnici.firmaSidlo,
|
||||
mesto: ucastnici.mesto,
|
||||
ulica: ucastnici.ulica,
|
||||
psc: ucastnici.psc,
|
||||
@@ -122,6 +144,10 @@ export const createUcastnik = async (data) => {
|
||||
email: data.email,
|
||||
telefon: data.telefon || null,
|
||||
firma: data.firma || null,
|
||||
firmaIco: data.firmaIco || null,
|
||||
firmaDic: data.firmaDic || null,
|
||||
firmaIcDph: data.firmaIcDph || null,
|
||||
firmaSidlo: data.firmaSidlo || null,
|
||||
mesto: data.mesto || null,
|
||||
ulica: data.ulica || null,
|
||||
psc: data.psc || null,
|
||||
@@ -280,6 +306,10 @@ export const getCombinedTableData = async () => {
|
||||
email: ucastnici.email,
|
||||
telefon: ucastnici.telefon,
|
||||
firma: ucastnici.firma,
|
||||
firmaIco: ucastnici.firmaIco,
|
||||
firmaDic: ucastnici.firmaDic,
|
||||
firmaIcDph: ucastnici.firmaIcDph,
|
||||
firmaSidlo: ucastnici.firmaSidlo,
|
||||
mesto: ucastnici.mesto,
|
||||
ulica: ucastnici.ulica,
|
||||
psc: ucastnici.psc,
|
||||
@@ -287,6 +317,7 @@ export const getCombinedTableData = async () => {
|
||||
kurzId: kurzy.id,
|
||||
kurzNazov: kurzy.nazov,
|
||||
kurzTyp: kurzy.typKurzu,
|
||||
kurzFarba: kurzy.farba,
|
||||
// Registration fields (dates are now here)
|
||||
datumOd: registracie.datumOd,
|
||||
datumDo: registracie.datumDo,
|
||||
@@ -312,7 +343,7 @@ export const getCombinedTableData = async () => {
|
||||
// Update a single field (for inline editing)
|
||||
export const updateField = async (registrationId, field, value) => {
|
||||
// Determine which table to update based on the field
|
||||
const ucastnikFields = ['titul', 'meno', 'priezvisko', 'email', 'telefon', 'firma', 'mesto', 'ulica', 'psc'];
|
||||
const ucastnikFields = ['titul', 'meno', 'priezvisko', 'email', 'telefon', 'firma', 'firmaIco', 'firmaDic', 'firmaIcDph', 'firmaSidlo', 'mesto', 'ulica', 'psc'];
|
||||
const registraciaFields = ['datumOd', 'datumDo', 'formaKurzu', 'pocetUcastnikov', 'fakturaCislo', 'fakturaVystavena', 'zaplatene', 'stav', 'poznamka', 'kurzId'];
|
||||
const dateFields = ['datumOd', 'datumDo'];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user