NZTA\OktaAPI\Jobs\SyncOktaUsersJob
Synopsis
class SyncOktaUsersJob
extends AbstractOktaSyncJob
implements
QueuedJob
{
- // members
- public OktaService $OktaService;
- private static integer $reschedule_time = 86400;
- private static array $statuses_to_sync = ;
- private static array $dependencies = ;
- // Inherited members from AbstractOktaSyncJob
- protected static array $additional_job_list;
- protected static integer $deleted_warning_threshold;
- protected static integer $bulk_insert_pagination_limit;
- protected static integer $bulk_update_pagination_limit;
- // methods
- public string getTitle()
- public void process()
- private bool|void paginateBulkSqlQueries()
- private array splitUsersIntoCategories()
- private void insertUsers()
- private void updateUsers()
- private void deleteUsers()
- private string getValueFromUser()
- // Inherited methods from AbstractOktaSyncJob
- protected void scheduleNextExecution()
- protected void scheduleAdditionalJobs()
- protected void markJobAsDone()
- public LoggerInterface getLogger()
Hierarchy
Members
private
- $dependencies — array
- $reschedule_time
—
integer
Time in seconds to reschedule for, from when this job finishes. - $statuses_to_sync
—
array
The whitelist of statuses that filter which users from Okta are synced over.
protected
- $additional_job_list — array
- $bulk_insert_pagination_limit
—
integer
The limit of sql insert queries per insert in @insertUsers method - $bulk_update_pagination_limit
—
integer
The limit of sql update queries per update in @updateUsers method - $deleted_warning_threshold
—
integer
The limit of users to delete before the job will log an INFO level message
public
- $OktaService — NZTA\OktaAPI\Services\OktaService
Methods
private
- deleteUsers() — Create a single DELETE statment to remove existing Member records that no longer exist in Okta.
- getValueFromUser() — Helper to get nested keys from a user data array from the Okta API, given a specific key.
- insertUsers() — Create and execute a single INSERT statement to add all provided users to the DB.
- paginateBulkSqlQueries() — Set $limit members(data) in a one single insert/update and loop through until end of all members(data) array, instead of all members(data) in one sql insert
- splitUsersIntoCategories() — Given a list of users from Okta, split them into 3 categories on whether they need to be added, updated or removed from the SS database.
- updateUsers() — Create a single UPDATE statement to update existing Member records from the provided user data.
public
- getTitle()
- process() — Use the {@link OktaService} to get the full list of users from the Okta API.
Inherited from NZTA\OktaAPI\Jobs\AbstractOktaSyncJob
protected
- markJobAsDone() — Complete the job so it can removed from the queue
- scheduleAdditionalJobs() — Schedule additional jobs
- scheduleNextExecution() — Queue up the next job to run.
public
- getLogger() — Get a logger