Skip to main content

Profile & Account

The Profile module manages user-specific settings including scheduled reports, staffing schedules, certifications, department membership, and avatars. It is managed by the ProfileController. Account deletion is handled by the AccountController.

Scheduled Reports

Authorization: Profile_View / Profile_Update policies

Viewing Scheduled Reports

Lists configured scheduled report deliveries with type, active status, day schedule, and time.

Creating Scheduled Reports

FieldRequiredDescription
Report TypeYesType of report to deliver
DaysYesDay(s) of week for delivery
TimeYesDelivery time
ActiveDefault OnWhether the schedule is active

Creates a ScheduledTask of type ReportDelivery.

Editing Scheduled Reports

Modify existing report delivery schedules.

Staffing Schedules

Creating Staffing Schedules

Authorization: Profile_View / Profile_Update policies

FieldRequiredDescription
UserYesTarget user for schedule
Staffing LevelYesLevel to set at scheduled time
Schedule TypeYesWeekly or Specific Date/Time
Days (Weekly)ConditionalDay(s) of week
Date/Time (Specific)ConditionalExact date and time

Creates a ScheduledTask of type UserStaffingLevel.

Custom staffing levels are resolved from the department's custom state configuration.

Viewing Schedules

Lists all staffing schedules for a user with custom state name resolution.

Managing Schedules

  • Activate — Enable a disabled schedule
  • Deactivate — Disable an active schedule
  • Delete — Remove a schedule permanently

Certifications

Viewing Certifications

Authorization: Profile_View policy

Lists all certifications for a user.

Adding Certifications

FieldRequiredDescription
TypeYesCertification type
NameYesCertification name
NumberNoCertification number
IssuerNoIssuing organization
ExpiryNoExpiration date
AreaNoCertification area
FileNoSupporting document

File Upload Constraints:

  • Maximum 10 MB
  • Allowed types: jpg, jpeg, png, gif, pdf, doc, docx, ppt, pptx, pps, ppsx, odt, xls, xlsx, txt

Downloading Certification Files

Retrieve attached certification documents with department ownership validation.

Password Reset

Authorization: Profile_View policy

Administrators can reset passwords for other users:

  • Cannot reset the department owner's password
  • Uses UserManager.GeneratePasswordResetToken + ResetPassword
  • Optionally emails new credentials to the user

Your Departments

Viewing Departments

Lists all departments the user belongs to with default/active indicators.

Joining a Department

Join a new department using a department join code:

  1. Enter the department's link code
  2. System validates the code
  3. User added to the department

Switching Active Department

Action: SetActiveDepartment (JSON body)

Switches the user's active department:

  1. Signs out the user
  2. Re-signs in with new department context
  3. Authentication claims are refreshed

Setting Default Department

Sets which department loads by default on login. Also switches to it immediately.

Leaving a Department

Action: DeleteDepartmentLink

Removes the user from a secondary department:

  • Complex logic handles active/default department reassignment
  • Re-signs in if the removed department was active

Avatar Management

Retrieving Avatars

The GetAvatar endpoint returns images by type:

  • Type 1 (or null) — User avatar
  • Type 2 — Department logo/avatar

Uploading Images

  • Validates content type starts with image/
  • Converts to PNG format via ImageSharp library
  • Stores for later cropping

Cropping Images

The Crop endpoint uses ImageSharp to:

  • Resize the image to specified dimensions
  • Crop to final size
  • Save as PNG

Account Deletion

The AccountController handles permanent account deletion:

Prerequisites

  • Must be a registered user (SystemRoles.Users)
  • System checks if user owns any departments (warns about ownership)
  • Requires confirmation (AreYouSure checkbox)

Deletion Process

  1. User confirms deletion
  2. _deleteService.DeleteUserAccountAsync called
  3. Audit trail records IP address and user-agent
  4. Redirects to LogOff

Interactions with Other Modules

ModuleInteraction
ReportsScheduled report delivery uses report generation
Custom StatusesCustom staffing levels in staffing schedules
CertificationsCertification types from Types module
DepartmentMulti-department membership management
SecurityPassword reset subject to admin permissions
DashboardActive department determines dashboard context