package msgraph import ( "net/http" "github.com/rs/zerolog" ) type GraphClientCredentials struct { TenantName string TenantId string ClientSecret string ClientId string } type GraphApi struct { TenantName string SessionToken string ApiURL string Logger zerolog.Logger Session *http.Client } type PasswordProfile struct { ForceChangePasswordNextSignIn bool `json:"forceChangePasswordNextSignIn,omitempty"` Password string `json:"password,omitempty"` } type GraphAPIError struct { Code string `json:"code"` Message string `json:"message"` } type GraphAPIErrorResponse struct { Error GraphAPIError `json:"error"` } type GroupMemberships struct { ODContext string `json:"@odata.context"` Count string `json:"@odata.count,omitempty"` Value []Group `json:"value"` } type Group struct { ID string `json:"id"` DisplayName string `json:"displayName"` // optional i think Mail string `json:"mail,omitempty"` MailNickname string `json:"mailNickname,omitempty"` MailEnabled bool `json:"mailEnabled,omitempty"` SecurityEnabled bool `json:"securityEnabled,omitempty"` } type GroupAppend struct { ODataID string `json:"@odata.id,empty"` } // GENERATED type UserAccount struct { ID string `json:"id"` AccountEnabled bool `json:"accountEnabled"` UserPrincipalName string `json:"userPrincipalName"` DisplayName string `json:"displayName"` BusinessPhones []string `json:"businessPhones,omitempty"` GivenName string `json:"givenName,omitempty"` JobTitle string `json:"jobTitle"` Mail string `json:"mail"` MailNickname string `json:"mailNickname"` MobilePhone string `json:"mobilePhone,omitempty"` OfficeLocation string `json:"officeLocation,omitempty"` PreferredLanguage string `json:"preferredLanguage,omitempty"` Surname string `json:"surname,omitempty"` PasswordProfile PasswordProfile `json:"passwordProfile,omitempty"` }