package com.dacrt.SBIABackend.dto;

import java.util.List;

public class ScimUserResponseDto {
	// 1. Campos principales SCIM
    private List<String> schemas; // Debe ser ["urn:ietf:params:scim:schemas:core:2.0:User"]
    private String id; // ID interno de la aplicación (base de datos)
    private String userName;
    private Boolean active;
    private String externalId; // ID del usuario en Okta (aunque puede ser null en la creación inicial)
    
    // 2. Objetos anidados
   
    private OktaNameResponseDto name;
    private List<oktaEmailDto> emails;
    private OktaMetaRespDto meta;
    
	public ScimUserResponseDto(List<String> schemas, String id, String userName, Boolean active, String externalId,
			OktaNameResponseDto name,List<oktaEmailDto> emails, OktaMetaRespDto meta) {
		super();
		this.schemas = schemas;
		this.id = id;
		this.userName = userName;
		this.active = active;
		this.externalId = externalId;
		this.name = name;
	//	this.profile = profile;
		this.emails = emails;
		this.meta = meta;
	}

	public ScimUserResponseDto() {
		super();
		// TODO Auto-generated constructor stub
	}

	public List<String> getSchemas() {
		return schemas;
	}

	public void setSchemas(List<String> schemas) {
		this.schemas = schemas;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Boolean getActive() {
		return active;
	}

	public void setActive(Boolean active) {
		this.active = active;
	}

	public String getExternalId() {
		return externalId;
	}

	public void setExternalId(String externalId) {
		this.externalId = externalId;
	}

	public OktaNameResponseDto getName() {
		return name;
	}

	public void setName(OktaNameResponseDto name) {
		this.name = name;
	}

	public List<oktaEmailDto> getEmails() {
		return emails;
	}

	public void setEmails(List<oktaEmailDto> emails) {
		this.emails = emails;
	}

	public OktaMetaRespDto getMeta() {
		return meta;
	}

	public void setMeta(OktaMetaRespDto meta) {
		this.meta = meta;
	}

	/*public OktaNameResponseDto getProfile() {
		return profile;
	}

	public void setProfile(OktaNameResponseDto profile) {
		this.profile = profile;
	}*/
    
	
    
}
