%syntax-version=1.0.0 %project=numerus %uri=https://numerus.tandem.blog/ roles 2023-01-12T18:42:16Z jordi fita mas # Add database roles schema_auth [roles] 2023-01-12T19:15:55Z jordi fita mas # Add authentication schema schema_public [roles] 2023-01-12T19:24:29Z jordi fita mas # Set privileges to public schema schema_numerus [roles] 2023-01-12T22:57:22Z jordi fita mas # Add application schema extension_citext [schema_public] 2023-01-12T23:03:33Z jordi fita mas # Add citext extension email [schema_numerus extension_citext] 2023-01-12T23:09:59Z jordi fita mas # Add email domain language [schema_numerus] 2023-01-21T20:55:49Z jordi fita mas # Add relation of available languages user [roles schema_auth email language] 2023-01-12T23:44:03Z jordi fita mas # Create user table ensure_role_exists [schema_auth user] 2023-01-12T23:57:59Z jordi fita mas # Add trigger to ensure the user’s role exists extension_pgcrypto [schema_auth] 2023-01-13T00:11:50Z jordi fita mas # Add pgcrypto extension encrypt_password [schema_auth user extension_pgcrypto] 2023-01-13T00:14:30Z jordi fita mas # Add trigger to encrypt user’s password login_attempt [schema_auth] 2023-01-17T14:05:49Z jordi fita mas # Add table to log login attempts login [roles schema_numerus schema_auth extension_pgcrypto email user login_attempt] 2023-01-13T00:32:32Z jordi fita mas # Add function to login check_cookie [schema_public user] 2023-01-17T17:48:49Z jordi fita mas # Add function to check if a user cookie is valid logout [schema_auth user] 2023-01-17T19:10:21Z jordi fita mas # Add function to logout set_cookie [schema_public check_cookie] 2023-01-19T11:00:22Z jordi fita mas # Add function to set the role based on the cookie current_app_user [schema_numerus] 2023-01-21T20:16:28Z jordi fita mas # Add function to get the ID of the current Numerus’ user available_languages [schema_numerus language] 2023-01-21T21:11:08Z jordi fita mas # Add the initial available languages user_profile [schema_numerus user current_app_user] 2023-01-21T23:18:20Z jordi fita mas # Add view for user profile