package orgsso

import "google.golang.org/protobuf/runtime/protoimpl"

type AuthMethodParam struct {
	OrgID             string
	Name              string
	Type              string
	Content           map[string]string
	AutoProvision     bool
	AllowEmailDomains []string
}

type OrgAuthMethodInfo struct {
	OrgID       uint64           `json:"org_id"`
	OrgName     string           `json:"org_name"`
	AuthMethods []AuthMethodInfo `json:"auth_methods"`
}

type AuthMethodInfo struct {
	Name        string `json:"name"`
	Type        string `json:"type"`
	DisplayName string `json:"display_name"`
}
type OidcInfo struct {
	Id           string `json:"id"` // oidcConnectionId
	ClientId     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	IssuerUrl    string `json:"issuer_url"`
	ApiToken     string `json:"api_token"`
}

type SamlInfo struct {
	Id          string `json:"id"`
	MetadataUrl string `json:"metadata_url"`
	SignOnUrl   string `json:"sign_on_url"`
	SigningCert string `json:"signing_cert"`
}

type OidcConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ClientId     string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	IssuerUrl    string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"`
	CallbackUrl  string `protobuf:"bytes,4,opt,name=callback_url,json=callbackUrl,proto3" json:"callback_url,omitempty"`
}
