numerus/deploy
jordi fita mas 60f9792e58 Convert from cents to “price” and back
I do not want to use floats in the Go lang application, because it is
not supposed to do anything with these values other than to print and
retrieve them from the user; all computations will be performed by
PostgreSQL in cents.

That means i have to “convert” from the price format that users expect
to see (e.g., 1.234,56) to cents (e.g., 123456) and back when passing
data between Go and PostgreSQL, and that conversion depends on the
currency’s decimal places.

At first i did everything in Go, but saw that i would need to do it in
a loop when retrieving the list of products, and immediately knew it was
a mistake—i needed a PL/pgSQL function for that.

I still need to convert from string to float, however, when printing the
value to the user.  Because the string representation is in C, but i
need to format it according to the locale with golang/x/text.  That
package has the information of how to correctly format numbers, but it
is in an internal package that i can not use, and numbers.Digit only
accepts numeric types, not a string.
2023-02-05 13:55:12 +01:00
..
available_countries.sql Use a select for company’s country field 2023-01-27 21:30:14 +01:00
available_currencies.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
available_languages.sql Add user_profile view to update the profile with form 2023-01-22 02:23:09 +01: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 Use a select for company’s country field 2023-01-27 21:30:14 +01:00
company_user.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
contact.sql Add the contact relation and a rough first form 2023-01-29 15:14:31 +01: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 Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
currency_code.sql Fix typo in SQL comment 2023-01-27 19:36:16 +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
email.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
encrypt_password.sql Remove the revocation of all function executions 2023-01-17 13:05:58 +01:00
ensure_role_exists.sql Remove the revocation of all function executions 2023-01-17 13:05:58 +01:00
extension_citext.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
extension_pg_libphonenumber.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
extension_pgcrypto.sql Create pgcrypto extension into auth schema 2023-01-17 13:12:18 +01:00
extension_uri.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
extension_vat.sql Add the company relation and read-only form to edit 2023-01-24 21:46:07 +01:00
language.sql Add user_profile view to update the profile with form 2023-01-22 02:23:09 +01:00
login.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
login_attempt.sql Implement login cookie, its verification, and logout 2023-01-17 20:58:13 +01:00
logout.sql Use user’ß email for auth funcs and return cookie on email change 2023-01-23 21:18:55 +01:00
parse_price.sql Convert from cents to “price” and back 2023-02-05 13:55:12 +01:00
product.sql Add products section 2023-02-04 11:32:39 +01:00
roles.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
schema_auth.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
schema_numerus.sql Setup authentication schema and user relation 2023-01-13 20:30:21 +01:00
schema_public.sql Move check_cookie to public and give access to authenticator 2023-01-18 14:12:59 +01:00
set_cookie.sql Add a function to set request settings and the role 2023-01-19 13:07:32 +01:00
tax.sql Add the tax relation with very rough form and handler 2023-01-28 14:18:58 +01:00
tax_rate.sql Add the tax relation with very rough form and handler 2023-01-28 14:18:58 +01:00
to_price.sql Convert from cents to “price” and back 2023-02-05 13:55:12 +01:00
user.sql Add user_profile view to update the profile with form 2023-01-22 02:23:09 +01:00
user_profile.sql Add cross-request forgery detection 2023-02-02 11:39:34 +01:00