internal/provider/person_api/person.go (180 lines of code) (raw):
package person_api
type Person struct {
AccessInformation AccessInformationValuesArray `json:"access_information"`
Active StandardAttributeBoolean `json:"active"`
AlternativeName StandardAttributeString `json:"alternative_name"`
Created StandardAttributeString `json:"created"`
Description StandardAttributeString `json:"description"`
FirstName StandardAttributeString `json:"first_name"`
FunTitle StandardAttributeString `json:"fun_title"`
Identities IdentitiesAttributesValuesArray `json:"identities"`
Languages StandardAttributeValues `json:"languages"`
LastModified StandardAttributeString `json:"last_modified"`
LastName StandardAttributeString `json:"last_name"`
Location StandardAttributeString `json:"location"`
LoginMethod StandardAttributeString `json:"login_method"`
PGPPublicKeys StandardAttributeValues `json:"pgp_public_keys"`
PhoneNumbers StandardAttributeValues `json:"phone_numbers"`
Picture StandardAttributeString `json:"picture"`
PrimaryEmail StandardAttributeString `json:"primary_email"`
PrimaryUsername StandardAttributeString `json:"primary_username"`
Pronouns StandardAttributeString `json:"pronouns"`
Schema string `json:"schema"`
SSHPublicKeys StandardAttributeValues `json:"ssh_public_keys"`
StaffInformation StaffInformationValuesArray `json:"staff_information"`
Tags StandardAttributeValues `json:"tags"`
Timezone StandardAttributeString `json:"timezone"`
Uris StandardAttributeValues `json:"uris"`
UserID StandardAttributeString `json:"user_id"`
Usernames UsernamesAttributeValuesObject `json:"usernames"`
UUID StandardAttributeString `json:"uuid"`
}
type AccessInformationValuesArray struct {
AccessProvider AccessProviderAttribute `json:"access_provider"`
Hris HrisAttribute `json:"hris"`
LDAP LDAPAttribute `json:"ldap"`
Mozilliansorg MozilliansorgAttribute `json:"mozilliansorg"`
}
type AccessProviderAttribute struct {
Metadata AccessProviderMetadata `json:"metadata"`
Signature Signature `json:"signature"`
Values map[string]interface{} `json:"values"`
}
type AccessProviderMetadata struct {
Display interface{} `json:"display"`
Classification Classification `json:"classification"`
Created string `json:"created"`
LastModified string `json:"last_modified"`
Verified bool `json:"verified"`
}
type Signature struct {
Additional []PublisherLax `json:"additional"`
Publisher Publisher `json:"publisher"`
}
type PublisherLax struct {
Alg Alg `json:"alg"`
Name *string `json:"name"`
Typ Typ `json:"typ"`
Value string `json:"value"`
}
type Publisher struct {
Alg Alg `json:"alg"`
Name PublisherAuthority `json:"name"`
Typ Typ `json:"typ"`
Value string `json:"value"`
}
type HrisAttribute struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Values map[string]interface{} `json:"values"`
}
type LDAPAttribute struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Values map[string]interface{} `json:"values"`
}
type MozilliansorgAttribute struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Values map[string]string `json:"values"`
List []string
}
type StandardAttributeString struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Value string `json:"value"`
}
type StandardAttributeBoolean struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Value bool `json:"value"`
}
type Metadata struct {
Classification Classification `json:"classification"`
Created string `json:"created"`
Display DinoParkDisplay `json:"display"`
LastModified string `json:"last_modified"`
Verified bool `json:"verified"`
}
type IdentitiesAttributesValuesArray struct {
BugzillaMozillaOrgID *StandardAttributeString `json:"bugzilla_mozilla_org_id,omitempty"`
BugzillaMozillaOrgPrimaryEmail *StandardAttributeString `json:"bugzilla_mozilla_org_primary_email,omitempty"`
Custom1_PrimaryEmail *StandardAttributeString `json:"custom_1_primary_email,omitempty"`
Custom2_PrimaryEmail *StandardAttributeString `json:"custom_2_primary_email,omitempty"`
Custom3_PrimaryEmail *StandardAttributeString `json:"custom_3_primary_email,omitempty"`
FirefoxAccountsID *StandardAttributeString `json:"firefox_accounts_id,omitempty"`
FirefoxAccountsPrimaryEmail *StandardAttributeString `json:"firefox_accounts_primary_email,omitempty"`
GithubIDV3 *StandardAttributeString `json:"github_id_v3,omitempty"`
GithubIDV4 *StandardAttributeString `json:"github_id_v4,omitempty"`
GithubPrimaryEmail *StandardAttributeString `json:"github_primary_email,omitempty"`
GoogleOauth2ID *StandardAttributeString `json:"google_oauth2_id,omitempty"`
GooglePrimaryEmail *StandardAttributeString `json:"google_primary_email,omitempty"`
MozillaLDAPID *StandardAttributeString `json:"mozilla_ldap_id,omitempty"`
MozillaLDAPPrimaryEmail *StandardAttributeString `json:"mozilla_ldap_primary_email,omitempty"`
MozillaPOSIXID *StandardAttributeString `json:"mozilla_posix_id,omitempty"`
MozilliansorgID *StandardAttributeString `json:"mozilliansorg_id,omitempty"`
}
type UsernamesAttributeValuesObject struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Values UsernamesAttribute `json:"values"`
}
type UsernamesAttribute struct {
BugzillaMail string `json:"HACK#BMOMAIL,omitempty"`
GitHubUsername string `json:"HACK#GITHUB,omitempty"`
LDAPPOSIXID string `json:"LDAP-posix_id,omitempty"`
LDAPPOSIXIID string `json:"LDAP-posix_uid,omitempty"`
}
type StandardAttributeValues struct {
Metadata Metadata `json:"metadata"`
Signature Signature `json:"signature"`
Values interface{} `json:"values"`
}
type StaffInformationValuesArray struct {
CostCenter StandardAttributeString `json:"cost_center"`
Director StandardAttributeBoolean `json:"director"`
Manager StandardAttributeBoolean `json:"manager"`
OfficeLocation StandardAttributeString `json:"office_location"`
Staff StandardAttributeBoolean `json:"staff"`
Team StandardAttributeString `json:"team"`
Title StandardAttributeString `json:"title"`
WorkerType StandardAttributeString `json:"worker_type"`
WprDeskNumber StandardAttributeString `json:"wpr_desk_number"`
}
type Classification string
const (
WORKGROUPCONFIDENTIALSTAFFONLY Classification = "WORKGROUP CONFIDENTIAL: STAFF ONLY"
WORKGROUPCONFIDENTIAL Classification = "WORKGROUP CONFIDENTIAL"
IndividualConfidential Classification = "INDIVIDUAL CONFIDENTIAL"
MozillaConfidential Classification = "MOZILLA CONFIDENTIAL"
PUBLIC Classification = "PUBLIC"
)
type Alg string
const (
Ed25519 Alg = "ED25519"
Hs256 Alg = "HS256"
RSA Alg = "RSA"
Rs256 Alg = "RS256"
)
type Typ string
const (
Jws Typ = "JWS"
PGP Typ = "PGP"
)
type PublisherAuthority string
const (
AccessProvider PublisherAuthority = "access_provider"
Cis PublisherAuthority = "cis"
Hris PublisherAuthority = "hris"
LDAP PublisherAuthority = "ldap"
Mozilliansorg PublisherAuthority = "mozilliansorg"
)
type DinoParkDisplay string
const (
Authenticated DinoParkDisplay = "authenticated"
Ndaed DinoParkDisplay = "ndaed"
Private DinoParkDisplay = "private"
Staff DinoParkDisplay = "staff"
Vouched DinoParkDisplay = "vouched"
Public DinoParkDisplay = "public"
)