Table of Contents

Class UserSearchResultDto

Namespace
Builvero.Application.DTOs
Assembly
Builvero.Application.dll

Data transfer object representing a user search result with profile information and role-based access control.

public class UserSearchResultDto
Inheritance
UserSearchResultDto
Inherited Members

Remarks

This DTO is used for displaying user search results. Sensitive information (email, phone number) is only included when the requesting user has Admin role. Profile photo URLs are automatically converted to presigned URLs for secure access.

Properties

BuilderTags

Gets or sets the list of builder tag names associated with the user.

public List<string> BuilderTags { get; set; }

Property Value

List<string>
Data transfer object representing a user search result with profile information and role-based access control.

Category

Gets or sets the user's primary category (e.g., "SoftwareEngineer", "Designer").

public string? Category { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Remarks

This is the string representation of the UserCategory enum.

City

Gets or sets the city where the user is located.

public string? City { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Country

Gets or sets the country where the user is located.

public string? Country { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Educations

Gets or sets the list of education entries associated with the user.

public List<EducationDto> Educations { get; set; }

Property Value

List<EducationDto>
Data transfer object representing a user search result with profile information and role-based access control.

Email

Gets or sets the email address of the user (only visible to Admin role, null for other roles).

public string? Email { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Experiences

Gets or sets the list of work experience entries associated with the user.

public List<ExperienceDto> Experiences { get; set; }

Property Value

List<ExperienceDto>
Data transfer object representing a user search result with profile information and role-based access control.

FullName

Gets or sets the full name of the user from their profile.

public string? FullName { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Id

Gets or sets the unique identifier of the user.

public Guid Id { get; set; }

Property Value

Guid
Data transfer object representing a user search result with profile information and role-based access control.

PhoneNumber

Gets or sets the phone number of the user (only visible to Admin role, null for other roles).

public string? PhoneNumber { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

ProfilePhotoObjectKey

Gets or sets the raw S3 object key for the profile photo (for debugging/future use).

public string? ProfilePhotoObjectKey { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Remarks

Only populated when the photo is stored in S3. This field is primarily for debugging and future functionality.

ProfilePhotoUrl

Gets or sets the user-facing profile photo URL.

public string? ProfilePhotoUrl { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.

Remarks

The value of this field depends on the environment and photo storage type:

  • Test environment: May contain object key for backward compatibility with tests
  • Non-Test environments: Contains external URL (as-is) or presigned S3 URL for secure access
  • Legacy external URLs: Returned as-is (e.g., https://example.com/photo.jpg)
  • S3 stored photos: Presigned GET URL with expiration (e.g., https://bucket.s3.region.amazonaws.com/...?X-Amz-Algorithm=...)

Skills

Gets or sets the list of skill display names associated with the user.

public List<string> Skills { get; set; }

Property Value

List<string>
Data transfer object representing a user search result with profile information and role-based access control.

Summary

Gets or sets the user's profile summary or bio.

public string? Summary { get; set; }

Property Value

string
Data transfer object representing a user search result with profile information and role-based access control.