package request

type MasterSettingsMicrosoftEntraUpsertAttributes struct {
	TenantID     string `json:"MS_ENTRA_TENANT_ID" validate:"required" example:"your-tenant-id"`
	ClientID     string `json:"MS_ENTRA_CLIENT_ID" validate:"required" example:"your-client-id"`
	ClientSecret string `json:"MS_ENTRA_CLIENT_SECRET" example:"********"`
	RedirectURL  string `json:"MS_ENTRA_REDIRECT_URL" validate:"required" example:"https://example.com/api/v1/auth/microsoft/callback"`
	Authority    string `json:"MS_ENTRA_AUTHORITY" validate:"required" example:"https://login.microsoftonline.com/"`
	Scopes       string `json:"MS_ENTRA_SCOPES" validate:"required" example:"openid,profile,email"`
}

type MasterSettingsMicrosoftEntraUpsertData struct {
	Type       string                                       `json:"type" validate:"required,oneof=master_settings_microsoft_entra_upsert master_settings" example:"master_settings_microsoft_entra_upsert"`
	Attributes MasterSettingsMicrosoftEntraUpsertAttributes `json:"attributes" validate:"required"`
}

type MasterSettingsMicrosoftEntraUpsertRequest struct {
	Data MasterSettingsMicrosoftEntraUpsertData `json:"data" validate:"required"`
}
