Interview Manager
Handles all interviews in the duration of a round, includes the primary functionality for handling the interview queue.
Vars | |
approved_ckeys | Ckeys which are allowed to bypass the time-based allowlist |
---|---|
closed_interviews | All closed interviews |
cooldown_ckeys | Ckeys which are currently in the cooldown system, they will be unable to create new interviews |
interview_queue | The queue of interviews to be processed (submitted interviews) |
open_interviews | The interviews that are currently "open", those that are not submitted as well as those that are waiting review |
Procs | |
client_login | Used in the new client pipeline to catch when clients are reconnecting and need to have their reference re-assigned to the 'owner' variable of an interview |
client_logout | Used in the destroy client pipeline to catch when clients are disconnecting and need to have their reference nulled on the 'owner' variable of an interview |
close_interview | Closes an interview, removing it from the queued interviews as well as adding it to the closed interviews list. |
dequeue | Dequeues the first interview from the interview queue, and updates the queue positions of any relevant interviews that follow it. |
dequeue_specific | Dequeues an interview from the interview queue if present, and updates the queue positions of any relevant interviews that follow it. |
enqueue | Enqueues an interview in the interview queue, and notifies admins of the new interview to be reviewed. |
interview_by_id | Attempts to return an interview for a provided ID, will return null if no matching interview is found |
interview_for_client | Attempts to return an interview for a given client, using an existing interview if found, otherwise a new interview is created; if the user is on cooldown then it will return null. |
release_from_cooldown | Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied. |
Var Details
approved_ckeys
Ckeys which are allowed to bypass the time-based allowlist
closed_interviews
All closed interviews
cooldown_ckeys
Ckeys which are currently in the cooldown system, they will be unable to create new interviews
interview_queue
The queue of interviews to be processed (submitted interviews)
open_interviews
The interviews that are currently "open", those that are not submitted as well as those that are waiting review
Proc Details
client_login
Used in the new client pipeline to catch when clients are reconnecting and need to have their reference re-assigned to the 'owner' variable of an interview
Arguments:
- C - The client who is logging in
client_logout
Used in the destroy client pipeline to catch when clients are disconnecting and need to have their reference nulled on the 'owner' variable of an interview
Arguments:
- C - The client who is logging out
close_interview
Closes an interview, removing it from the queued interviews as well as adding it to the closed interviews list.
Arguments:
- to_close - The interview to dequeue
dequeue
Dequeues the first interview from the interview queue, and updates the queue positions of any relevant interviews that follow it.
dequeue_specific
Dequeues an interview from the interview queue if present, and updates the queue positions of any relevant interviews that follow it.
Arguments:
- to_dequeue - The interview to dequeue
enqueue
Enqueues an interview in the interview queue, and notifies admins of the new interview to be reviewed.
Arguments:
- to_queue - The interview to enqueue
interview_by_id
Attempts to return an interview for a provided ID, will return null if no matching interview is found
Arguments:
- id - The ID of the interview to find
interview_for_client
Attempts to return an interview for a given client, using an existing interview if found, otherwise a new interview is created; if the user is on cooldown then it will return null.
Arguments:
- C - The client to get the interview for
release_from_cooldown
Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.
Arguments:
- ckey - The ckey to remove from the cooldown list