Class ProfileDto
- Namespace
- Builvero.Application.DTOs.Profile
- Assembly
- Builvero.Application.dll
Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
public class ProfileDto
- Inheritance
-
ProfileDto
- Inherited Members
Properties
BuilderTags
List of builder tag names associated with this profile.
public List<string> BuilderTags { get; set; }
Property Value
- List<string>
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Category
The user's primary category or specialization. Optional field that can be null if not specified.
public string? Category { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
City
The city where the user is located.
public string City { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Country
The country where the user is located.
public string Country { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Educations
List of education entries in the user's profile.
public List<EducationDto> Educations { get; set; }
Property Value
- List<EducationDto>
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Experiences
List of work experience entries in the user's profile.
public List<ExperienceDto> Experiences { get; set; }
Property Value
- List<ExperienceDto>
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
FullName
The user's full name as displayed in their profile.
public string FullName { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
IsProfileComplete
Indicates whether the profile has been completed with all required information.
public bool IsProfileComplete { get; set; }
Property Value
- bool
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Remarks
A profile is considered complete when all required fields (FullName, City, Country, Summary) have been provided and meet validation requirements.
PhoneNumber
The user's phone number. Optional field that can be null if not provided.
public string? PhoneNumber { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
ProfilePhotoObjectKey
Raw S3 object key for the profile photo (for debugging and future use).
public string? ProfilePhotoObjectKey { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Remarks
This field is only populated when the profile photo is stored in S3. It contains the object key (e.g., "profile-photos/{userId}/{fileId}.jpg") which can be used for debugging, logging, or future operations that require direct access to the object key.
This field is separate from ProfilePhotoUrl to maintain a clear distinction between user-facing URLs and internal storage keys.
ProfilePhotoUrl
User-facing photo URL for displaying the profile photo.
public string? ProfilePhotoUrl { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
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=...)
This field is mapped using ProfilePhotoMapper which implements environment-aware behavior to ensure backward compatibility while maintaining security.
Role
The user's role in the system (e.g., "User", "Admin", "Moderator", "BetaTester").
public string Role { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
SkillIds
List of skill identifiers associated with this profile.
public List<Guid> SkillIds { get; set; }
Property Value
- List<Guid>
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
Summary
A brief summary or bio describing the user. Optional field that can be null if not provided.
public string? Summary { get; set; }
Property Value
- string
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.
UserId
The unique identifier of the user this profile belongs to.
public Guid UserId { get; set; }
Property Value
- Guid
- Data transfer object representing a complete user profile. Contains all profile information including personal details, education, experience, skills, and tags.