numerus/test
jordi fita mas ef8f40e734 Create validation function for SQL domains and for phones
When i wrote the functions to import contact, i already created a couple
of “temporary” functions to validate whether the input given from the
Excel files was correct according to the various domains used in the
relations, so i can know whether i can import that data.

I realized that i could do exactly the same when validating forms: check
that the value conforms to the domain, in the exact same way, so i can
make sure that the value will be accepted without duplicating the logic,
at the expense of a call to the database.

In an ideal world, i would use pg_input_is_valid, but this function is
only available in PostgreSQL 16 and Debian 12 uses PostgreSQL 15.

These functions are in the public schema because initially i wanted to
use them to also validate email, which is needed in the login form, but
then i recanted and kept the same email validation in Go, because
something felt off about using the database for that particular form,
but i do not know why.
2023-07-03 11:31:59 +02:00
..
add_contact.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
add_expense.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
add_invoice.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
add_product.sql Replace tag relations with array attributes 2023-04-07 21:31:35 +02:00
add_quote.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
attach_to_expense.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
bic.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
build_cookie.sql Remove execution grant on build_cookie to guest 2023-01-23 21:40:22 +01:00
change_password.sql Add function to change the current user’s password 2023-01-23 21:41:14 +01:00
check_cookie.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
company.sql Change CURRENT_TIMESTAMP parameter for col_default_is 2023-06-15 14:21:09 +02:00
company_user.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
compute_new_invoice_amount.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
compute_new_quote_amount.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
contact.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
contact_email.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
contact_iban.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
contact_phone.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
contact_swift.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
contact_tax_details.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
contact_web.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
country.sql Use a select for company’s country field 2023-01-27 21:30:14 +01:00
country_code.sql Use a select for company’s country field 2023-01-27 21:30:14 +01:00
country_i18n.sql Use a select for company’s country field 2023-01-27 21:30:14 +01:00
currency.sql Remove an unnecessary truncate from a SQL test 2023-01-27 19:40:38 +01:00
currency_code.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
current_user_cookie.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
current_user_email.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
discount_rate.sql Add discount_rate domain and invoice_product relation 2023-02-10 19:02:04 +01:00
edit_contact.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
edit_expense.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
edit_invoice.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
edit_product.sql Replace tag relations with array attributes 2023-04-07 21:31:35 +02:00
edit_quote.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
edited_invoice_product.sql Add function to edit invoices 2023-03-11 20:58:20 +01:00
edited_quote_product.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
email.sql Allow guest access to user_profile with an empty profile 2023-01-23 01:18:47 +01:00
encrypt_password.sql Add the schema for all function’s tests 2023-01-18 14:13:58 +01:00
ensure_role_exists.sql Add the schema for all function’s tests 2023-01-18 14:13:58 +01:00
expense.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
expense_attachment.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
expense_tax.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
expense_tax_amount.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
extensions.sql Add IBAN and BIC fields to contacts 2023-07-02 02:08:45 +02:00
import_contact.sql Fix test for import_contact 2023-07-03 00:25:17 +02:00
input_is_valid.sql Create validation function for SQL domains and for phones 2023-07-03 11:31:59 +02:00
input_is_valid_phone.sql Create validation function for SQL domains and for phones 2023-07-03 11:31:59 +02:00
invoice.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
invoice_amount.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
invoice_number_counter.sql Add test for invoice_number_counter counter_zero_or_positive constraint 2023-06-07 13:19:06 +02:00
invoice_product.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
invoice_product_amount.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
invoice_product_product.sql Move the product_id field from invoice_product to a separate table 2023-04-19 19:30:12 +02:00
invoice_product_tax.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
invoice_status.sql Add the invoice_status relation and its i18n 2023-02-07 16:45:27 +01:00
invoice_status_i18n.sql Add the invoice_status relation and its i18n 2023-02-07 16:45:27 +01:00
invoice_tax_amount.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
language.sql Add currency_pattern to language relation 2023-02-23 12:12:33 +01:00
login.sql Add the schema for all function’s tests 2023-01-18 14:13:58 +01:00
login_attempt.sql Change CURRENT_TIMESTAMP parameter for col_default_is 2023-06-15 14:21:09 +02:00
logout.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
new_invoice_amount.sql Show the invoice subtotal, taxes, and total when creating it 2023-02-23 15:31:57 +01:00
new_invoice_product.sql Add PL/pgSQL function to add invoices 2023-02-16 23:09:10 +01:00
new_quote_amount.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
new_quote_product.sql Add function to create new quotes 2023-06-07 14:14:48 +02:00
next_invoice_number.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
next_quote_number.sql Add function to create new quotes 2023-06-07 14:14:48 +02:00
parse_price.sql Fix to_price and parse_price for negative values 2023-02-23 14:42:18 +01:00
payment_method.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
product.sql Change CURRENT_TIMESTAMP parameter for col_default_is 2023-06-15 14:21:09 +02:00
product_tax.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
quote.sql Change CURRENT_TIMESTAMP parameter for col_default_is 2023-06-15 14:21:09 +02:00
quote_amount.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
quote_contact.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_number_counter.sql Add function to create new quotes 2023-06-07 14:14:48 +02:00
quote_payment_method.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_product.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_product_amount.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
quote_product_product.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_product_tax.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
quote_status.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_status_i18n.sql Add relations for sales quotations and their products 2023-06-06 21:08:31 +02:00
quote_tax_amount.sql Added SQL views to compute computations amounts and edit them 2023-06-07 15:31:20 +02:00
roles.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
schemas.sql Move check_cookie to public and give access to authenticator 2023-01-18 14:12:59 +01:00
set_cookie.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
tag_name.sql Add invoice tags 2023-03-10 14:02:55 +01:00
tax.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
tax_class.sql Add company’s default payment method 2023-03-04 22:15:52 +01:00
tax_details.sql Split contact relation into tax_details, phone, web, and email 2023-06-30 21:32:48 +02:00
tax_rate.sql Correctly test negative tax_rate 2023-02-10 19:00:46 +01:00
to_price.sql Fix to_price and parse_price for negative values 2023-02-23 14:42:18 +01:00
user.sql Change CURRENT_TIMESTAMP parameter for col_default_is 2023-06-15 14:21:09 +02:00
user_profile.sql Add cross-request forgery detection 2023-02-02 11:39:34 +01:00