Table of Contents

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.