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.
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.