package session

const (
	CtxUserKey   = "ClinicUserKey"
	DbaasUserKey = "X-CLOUD-USER"

	AuthType = "x-auth-type"

	AuthMethodUISession = "ui_session"
	AuthMethodAPIKey    = "api_key"
	AuthMethodAnonymous = "anonymous"

	CredentialTypeAPI      = "api"
	CredentialTypeInternal = "internal"
	CredentialTypeUpload   = "upload"
)

type CtxUser struct {
	Username string `json:"username"`
	UserID   uint   `json:"user_id"`
	Email    string `json:"email"`
	Internal bool   `json:"internal"`

	OrgIDInApiToken uint `json:"org_id"`

	AuthMethod     string `json:"auth_method,omitempty"`
	CredentialType string `json:"credential_type,omitempty"`
	CredentialID   uint   `json:"credential_id,omitempty"`
	CredentialName string `json:"credential_name,omitempty"`
}

type CtxDbaasUser struct {
	Id        uint64 `json:"id,omitempty"`
	Email     string `json:"email,omitempty"`
	FirstName string `json:"first_name,omitempty"`
	LastName  string `json:"last_name,omitempty"`
	Status    int32  `json:"status,omitempty"`
}

type UserSession struct {
	ClusterID string
	StartTime string
	EndTime   string
}

type Session struct {
	Email     string `json:"email"`
	Username  string `json:"username"`
	CSRFToken string `json:"csrfToken"`
}
