googledest

package
v3.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2020 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBatchDelaySeconds = 3
View Source
const DefaultBatchSize = 10
View Source
const MaxQuerySize = 10000
View Source
const RoleManager = "MANAGER"
View Source
const RoleMember = "MEMBER"
View Source
const RoleOwner = "OWNER"

Variables

This section is empty.

Functions

func NewGoogleContactsDestination

func NewGoogleContactsDestination(destinationConfig personnel_sync.DestinationConfig) (personnel_sync.Destination,
	error)

NewGoogleContactsDestination creates a new GoogleContacts instance

func NewGoogleGroupsDestination

func NewGoogleGroupsDestination(destinationConfig personnel_sync.DestinationConfig) (personnel_sync.Destination, error)

func NewGoogleUsersDestination

func NewGoogleUsersDestination(destinationConfig personnel_sync.DestinationConfig) (personnel_sync.Destination, error)

Types

type Contact

type Contact struct {
	XMLName      xml.Name      `xml:"entry"`
	ID           string        `xml:"id"`
	Links        []Link        `xml:"link"`
	Etag         string        `xml:"etag,attr"`
	Title        string        `xml:"title"`
	Name         Name          `xml:"name"`
	Emails       []Email       `xml:"email"`
	PhoneNumbers []PhoneNumber `xml:"phoneNumber"`
	Organization Organization  `xml:"organization"`
	Where        Where         `xml:"where"`
	Notes        string        `xml:"content"`
}

type Email

type Email struct {
	XMLName xml.Name `xml:"email"`
	Address string   `xml:"address,attr"`
	Primary bool     `xml:"primary,attr"`
}

type Entries

type Entries struct {
	XMLName xml.Name  `xml:"feed"`
	Entries []Contact `xml:"entry"`
	Total   int       `xml:"totalResults"`
}

type GoogleAuth

type GoogleAuth struct {
	Type                    string `json:"type"`
	ProjectID               string `json:"project_id"`
	PrivateKeyID            string `json:"private_key_id"`
	PrivateKey              string `json:"private_key"`
	ClientEmail             string `json:"client_email"`
	ClientID                string `json:"client_id"`
	AuthURI                 string `json:"auth_uri"`
	TokenURI                string `json:"token_uri"`
	AuthProviderX509CertURL string `json:"auth_provider_x509_cert_url"`
	ClientX509CertURL       string `json:"client_x509_cert_url"`
}

type GoogleContacts

type GoogleContacts struct {
	DestinationConfig    personnel_sync.DestinationConfig
	GoogleContactsConfig GoogleContactsConfig
	Client               http.Client
}

func (*GoogleContacts) ApplyChangeSet

func (g *GoogleContacts) ApplyChangeSet(
	changes personnel_sync.ChangeSet,
	eventLog chan<- personnel_sync.EventLogItem) personnel_sync.ChangeResults

ApplyChangeSet executes all of the configured sync tasks (create, update, and/or delete)

func (*GoogleContacts) ForSet

func (g *GoogleContacts) ForSet(syncSetJson json.RawMessage) error

ForSet is not implemented for this destination. Only one sync set may be defined in config.json.

func (*GoogleContacts) GetIDField

func (g *GoogleContacts) GetIDField() string

GetIDField returns the property name to be used as the person ID

func (*GoogleContacts) ListUsers

func (g *GoogleContacts) ListUsers() ([]personnel_sync.Person, error)

ListUsers returns all users (contacts) in the destination

type GoogleContactsConfig

type GoogleContactsConfig struct {
	DelegatedAdminEmail string
	Domain              string
	GoogleAuth          GoogleAuth
	BatchSize           int
	BatchDelaySeconds   int
}

type GoogleGroups

type GoogleGroups struct {
	DestinationConfig  personnel_sync.DestinationConfig
	GoogleGroupsConfig GoogleGroupsConfig
	AdminService       admin.Service
	GroupSyncSet       GroupSyncSet
	BatchSize          int
	BatchDelaySeconds  int
}

func (*GoogleGroups) ApplyChangeSet

func (g *GoogleGroups) ApplyChangeSet(
	changes personnel_sync.ChangeSet,
	eventLog chan<- personnel_sync.EventLogItem) personnel_sync.ChangeResults

func (*GoogleGroups) ForSet

func (g *GoogleGroups) ForSet(syncSetJson json.RawMessage) error

func (*GoogleGroups) GetIDField

func (g *GoogleGroups) GetIDField() string

func (*GoogleGroups) ListUsers

func (g *GoogleGroups) ListUsers() ([]personnel_sync.Person, error)

type GoogleGroupsConfig

type GoogleGroupsConfig struct {
	DelegatedAdminEmail string
	GoogleAuth          GoogleAuth
}

type GoogleUsers

type GoogleUsers struct {
	GoogleUsersConfig GoogleUsersConfig
	AdminService      admin.Service
	BatchSize         int
	BatchDelaySeconds int
}

func (*GoogleUsers) ApplyChangeSet

func (g *GoogleUsers) ApplyChangeSet(
	changes personnel_sync.ChangeSet,
	eventLog chan<- personnel_sync.EventLogItem) personnel_sync.ChangeResults

func (*GoogleUsers) ForSet

func (g *GoogleUsers) ForSet(syncSetJson json.RawMessage) error

func (*GoogleUsers) GetIDField

func (g *GoogleUsers) GetIDField() string

func (*GoogleUsers) ListUsers

func (g *GoogleUsers) ListUsers() ([]personnel_sync.Person, error)

type GoogleUsersConfig

type GoogleUsersConfig struct {
	DelegatedAdminEmail string
	GoogleAuth          GoogleAuth
}

type GroupSyncSet

type GroupSyncSet struct {
	GroupEmail    string
	Owners        []string
	ExtraOwners   []string
	Managers      []string
	ExtraManagers []string
	ExtraMembers  []string
	DisableAdd    bool
	DisableUpdate bool
	DisableDelete bool
}
type Link struct {
	XMLName xml.Name `xml:"link"`
	Rel     string   `xml:"rel,attr"`
	Href    string   `xml:"href,attr"`
}

type Name

type Name struct {
	XMLName    xml.Name `xml:"name"`
	FullName   string   `xml:"fullName"`
	GivenName  string   `xml:"givenName"`
	FamilyName string   `xml:"familyName"`
}

type Organization

type Organization struct {
	XMLName        xml.Name `xml:"organization"`
	Name           string   `xml:"orgName"`
	Title          string   `xml:"orgTitle"`
	JobDescription string   `xml:"orgJobDescription"`
	Department     string   `xml:"orgDepartment"`
}

type PhoneNumber

type PhoneNumber struct {
	XMLName xml.Name `xml:"phoneNumber"`
	Value   string   `xml:",chardata"`
	Primary bool     `xml:"primary,attr"`
}

type Where

type Where struct {
	XMLName     xml.Name `xml:"where"`
	ValueString string   `xml:"valueString,attr"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL