package de.oaa.xxx.social.dto;

import de.oaa.xxx.user.Beziehungsstatus;
import de.oaa.xxx.user.Geschlecht;
import de.oaa.xxx.user.Neigung;
import de.oaa.xxx.user.Sichtbarkeit;

import java.util.UUID;

public record UserProfile(
        UUID userId,
        String name,
        String profilePicture,
        String profilePictureHq,
        String friendStatus,
        Integer alter,
        Integer groesse,
        Integer gewicht,
        Geschlecht geschlecht,
        Neigung neigung,
        Beziehungsstatus beziehungsstatus,
        String beschreibung,
        int lockeeXp,
        int keyholderXp,
        int bdsmXp,
        // Datenschutz-Einstellungen
        Sichtbarkeit sichtbarkeitGrunddaten,
        Sichtbarkeit sichtbarkeitGalerie,
        Sichtbarkeit sichtbarkeitFreunde,
        Sichtbarkeit sichtbarkeitFeed,
        Sichtbarkeit sichtbarkeitPinnwand,
        Sichtbarkeit sichtbarkeitXp,
        Sichtbarkeit sichtbarkeitLockhistorie,
        boolean profilBeiVeroeffentlichungenSichtbar
) {
    /** Compact constructor for contexts where profile details are not needed (friend list etc.) */
    public UserProfile(UUID userId, String name, String profilePicture, String profilePictureHq, String friendStatus) {
        this(userId, name, profilePicture, profilePictureHq, friendStatus,
                null, null, null, null, null, null, null, 0, 0, 0,
                null, null, null, null, null, null, null, false);
    }
}
