package repositories import ( "context" "wm-backend/internal/mapper" "wm-backend/internal/models" db "wm-backend/sqlc_gen" ) func CreateInvoiceConfigItem(ctx context.Context, queries *db.Queries, body models.InvoiceConfigItem) (models.InvoiceConfigItem, error) { result, err := queries.CreateInvoiceConfigItem(ctx, *mapper.ToModelInvoiceConfigItem(&body)) if err != nil { return models.InvoiceConfigItem{}, err } return *mapper.ToDomainInvoiceConfigItem(result), nil } func GetInvoiceConfigItemByID(ctx context.Context, queries *db.Queries, id int64) (models.InvoiceConfigItem, error) { result, err := queries.GetInvoiceConfigItemByID(ctx, id) if err != nil { return models.InvoiceConfigItem{}, err } return *mapper.ToDomainInvoiceConfigItem(result), nil } func ListInvoiceConfigItems(ctx context.Context, queries *db.Queries) ([]models.InvoiceConfigItem, error) { results, err := queries.ListInvoiceConfigItems(ctx) if err != nil { return nil, err } var items []models.InvoiceConfigItem for _, r := range results { items = append(items, *mapper.ToDomainInvoiceConfigItem(r)) } return items, nil } func UpdateInvoiceConfigItem(ctx context.Context, queries *db.Queries, body models.InvoiceConfigItem) (models.InvoiceConfigItem, error) { result, err := queries.UpdateInvoiceConfigItem(ctx, *mapper.ToUpdateModelInvoiceConfigItem(&body)) if err != nil { return models.InvoiceConfigItem{}, err } return *mapper.ToDomainInvoiceConfigItem(result), nil } func DeleteInvoiceConfigItem(ctx context.Context, queries *db.Queries, id int64) (int64, error) { rowsAffected, err := queries.DeleteInvoiceConfigItem(ctx, id) if err != nil { return rowsAffected, err } return rowsAffected, nil }