Skip to main content

Module user_details

Module user_details 

Source

Structsยง

FuzzyUserSearchResults
Typo-tolerant matches from search_for_user_details_fuzzy, best first.
UserDetail
UserListSearch
Search box filter for user lists: every word of the search appears in the name or email, in any order, or the whole search is a near match for a misspelled name or email. Queries apply it as (ud.name_search_helper || ' ' || ud.email_search_helper) LIKE ALL ($word_patterns) OR word_similarity($misspelling_term, ud.name_search_helper || ' ' || ud.email_search_helper) >= 0.5. search_for_user_details_fuzzy is the ranked search over all users.

Enumsยง

EmailVerificationMethod
How proof of control over UserDetail::email was obtained. AdminAsserted is the weakest.

Constantsยง

FUZZY_SEARCH_RESULT_LIMIT
Cap on FuzzyUserSearchResults::users.
FUZZY_SEARCH_WORD_SIMILARITY_THRESHOLD ๐Ÿ”’
Minimum pg_trgm word similarity (0..1) for a fuzzy match. Real typos score as low as ~0.35.
MIN_FUZZY_SEARCH_TERM_LENGTH ๐Ÿ”’

Functionsยง

clear_email_verified
Drops a proof of control, for an admin revoking a verification. Address changes do not need it; the clear_email_verification trigger handles those.
fuzzy_search_term ๐Ÿ”’
The lowercased local part of the search term, or None when it should match nothing.
get_active_user_id_by_email_case_insensitive
None when no active user has this email. Case-insensitive, matching the users_email unique index.
get_email_verification
Whether the address currently in email has a proof of control, and how it was obtained.
get_user_details_by_user_id
get_user_details_by_user_id_for_course
Retrieves user details for a single user ID, but only if the user is enrolled in the specified course
get_user_details_by_user_ids
Retrieves user details for a list of user IDs
get_user_details_by_user_ids_for_course
Retrieves user details for a list of user IDs, but only for users who are enrolled in the specified course
get_users_by_course_id
Retrieves all users enrolled in a specific course
get_users_details_by_user_id_map
search_for_user_details_exact
Users whose id or email equals the search term, ignoring case and surrounding whitespace.
search_for_user_details_fuzzy
Users whose name or email local part resembles the search term, best match first, ties by id.
set_email_verified
Records a proof of control over the address currently in email.
stream_users_details_having_user_exercise_states_on_course
Includes all users who have returned an exercise on a course
update_user_country
update_user_email_communication_consent
update_user_info
Writes the whole profile form, including the derived users.email_domain.
update_user_name
Sets the name alone. The caller also pushes it to TMC, which otherwise keeps the old one.