package contacts import ( "context" i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f "github.com/microsoft/kiota-abstractions-go" iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242 "github.com/microsoftgraph/msgraph-sdk-go/models" ia572726a95efa92ddd544552cd950653dc691023836923576b2f4bf716cf204a "github.com/microsoftgraph/msgraph-sdk-go/models/odataerrors" ) // ContactsRequestBuilder provides operations to manage the collection of orgContact entities. type ContactsRequestBuilder struct { i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.BaseRequestBuilder } // ContactsRequestBuilderGetQueryParameters get the list of organizational contacts for this organization. type ContactsRequestBuilderGetQueryParameters struct { // Include count of items Count *bool `uriparametername:"%24count"` // Expand related entities Expand []string `uriparametername:"%24expand"` // Filter items by property values Filter *string `uriparametername:"%24filter"` // Order items by property values Orderby []string `uriparametername:"%24orderby"` // Search items by search phrases Search *string `uriparametername:"%24search"` // Select properties to be returned Select []string `uriparametername:"%24select"` // Skip the first n items Skip *int32 `uriparametername:"%24skip"` // Show only the first n items Top *int32 `uriparametername:"%24top"` } // ContactsRequestBuilderGetRequestConfiguration configuration for the request such as headers, query parameters, and middleware options. type ContactsRequestBuilderGetRequestConfiguration struct { // Request headers Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders // Request options Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption // Request query parameters QueryParameters *ContactsRequestBuilderGetQueryParameters } // ContactsRequestBuilderPostRequestConfiguration configuration for the request such as headers, query parameters, and middleware options. type ContactsRequestBuilderPostRequestConfiguration struct { // Request headers Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders // Request options Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption } // ByOrgContactId provides operations to manage the collection of orgContact entities. // returns a *OrgContactItemRequestBuilder when successful func (m *ContactsRequestBuilder) ByOrgContactId(orgContactId string)(*OrgContactItemRequestBuilder) { urlTplParams := make(map[string]string) for idx, item := range m.BaseRequestBuilder.PathParameters { urlTplParams[idx] = item } if orgContactId != "" { urlTplParams["orgContact%2Did"] = orgContactId } return NewOrgContactItemRequestBuilderInternal(urlTplParams, m.BaseRequestBuilder.RequestAdapter) } // NewContactsRequestBuilderInternal instantiates a new ContactsRequestBuilder and sets the default values. func NewContactsRequestBuilderInternal(pathParameters map[string]string, requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter)(*ContactsRequestBuilder) { m := &ContactsRequestBuilder{ BaseRequestBuilder: *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewBaseRequestBuilder(requestAdapter, "{+baseurl}/contacts{?%24count,%24expand,%24filter,%24orderby,%24search,%24select,%24skip,%24top}", pathParameters), } return m } // NewContactsRequestBuilder instantiates a new ContactsRequestBuilder and sets the default values. func NewContactsRequestBuilder(rawUrl string, requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter)(*ContactsRequestBuilder) { urlParams := make(map[string]string) urlParams["request-raw-url"] = rawUrl return NewContactsRequestBuilderInternal(urlParams, requestAdapter) } // Count provides operations to count the resources in the collection. // returns a *CountRequestBuilder when successful func (m *ContactsRequestBuilder) Count()(*CountRequestBuilder) { return NewCountRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // Delta provides operations to call the delta method. // returns a *DeltaRequestBuilder when successful func (m *ContactsRequestBuilder) Delta()(*DeltaRequestBuilder) { return NewDeltaRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // Get get the list of organizational contacts for this organization. // returns a OrgContactCollectionResponseable when successful // returns a ODataError error when the service returns a 4XX or 5XX status code // [Find more info here] // // [Find more info here]: https://learn.microsoft.com/graph/api/orgcontact-list?view=graph-rest-1.0 func (m *ContactsRequestBuilder) Get(ctx context.Context, requestConfiguration *ContactsRequestBuilderGetRequestConfiguration)(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactCollectionResponseable, error) { requestInfo, err := m.ToGetRequestInformation(ctx, requestConfiguration); if err != nil { return nil, err } errorMapping := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.ErrorMappings { "XXX": ia572726a95efa92ddd544552cd950653dc691023836923576b2f4bf716cf204a.CreateODataErrorFromDiscriminatorValue, } res, err := m.BaseRequestBuilder.RequestAdapter.Send(ctx, requestInfo, iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.CreateOrgContactCollectionResponseFromDiscriminatorValue, errorMapping) if err != nil { return nil, err } if res == nil { return nil, nil } return res.(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactCollectionResponseable), nil } // GetAvailableExtensionProperties provides operations to call the getAvailableExtensionProperties method. // returns a *GetAvailableExtensionPropertiesRequestBuilder when successful func (m *ContactsRequestBuilder) GetAvailableExtensionProperties()(*GetAvailableExtensionPropertiesRequestBuilder) { return NewGetAvailableExtensionPropertiesRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // GetByIds provides operations to call the getByIds method. // returns a *GetByIdsRequestBuilder when successful func (m *ContactsRequestBuilder) GetByIds()(*GetByIdsRequestBuilder) { return NewGetByIdsRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // Post add new entity to contacts // returns a OrgContactable when successful // returns a ODataError error when the service returns a 4XX or 5XX status code func (m *ContactsRequestBuilder) Post(ctx context.Context, body iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactable, requestConfiguration *ContactsRequestBuilderPostRequestConfiguration)(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactable, error) { requestInfo, err := m.ToPostRequestInformation(ctx, body, requestConfiguration); if err != nil { return nil, err } errorMapping := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.ErrorMappings { "XXX": ia572726a95efa92ddd544552cd950653dc691023836923576b2f4bf716cf204a.CreateODataErrorFromDiscriminatorValue, } res, err := m.BaseRequestBuilder.RequestAdapter.Send(ctx, requestInfo, iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.CreateOrgContactFromDiscriminatorValue, errorMapping) if err != nil { return nil, err } if res == nil { return nil, nil } return res.(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactable), nil } // ToGetRequestInformation get the list of organizational contacts for this organization. // returns a *RequestInformation when successful func (m *ContactsRequestBuilder) ToGetRequestInformation(ctx context.Context, requestConfiguration *ContactsRequestBuilderGetRequestConfiguration)(*i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestInformation, error) { requestInfo := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewRequestInformationWithMethodAndUrlTemplateAndPathParameters(i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.GET, m.BaseRequestBuilder.UrlTemplate, m.BaseRequestBuilder.PathParameters) if requestConfiguration != nil { if requestConfiguration.QueryParameters != nil { requestInfo.AddQueryParameters(*(requestConfiguration.QueryParameters)) } requestInfo.Headers.AddAll(requestConfiguration.Headers) requestInfo.AddRequestOptions(requestConfiguration.Options) } requestInfo.Headers.TryAdd("Accept", "application/json") return requestInfo, nil } // ToPostRequestInformation add new entity to contacts // returns a *RequestInformation when successful func (m *ContactsRequestBuilder) ToPostRequestInformation(ctx context.Context, body iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.OrgContactable, requestConfiguration *ContactsRequestBuilderPostRequestConfiguration)(*i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestInformation, error) { requestInfo := i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewRequestInformationWithMethodAndUrlTemplateAndPathParameters(i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.POST, m.BaseRequestBuilder.UrlTemplate, m.BaseRequestBuilder.PathParameters) if requestConfiguration != nil { requestInfo.Headers.AddAll(requestConfiguration.Headers) requestInfo.AddRequestOptions(requestConfiguration.Options) } requestInfo.Headers.TryAdd("Accept", "application/json") err := requestInfo.SetContentFromParsable(ctx, m.BaseRequestBuilder.RequestAdapter, "application/json", body) if err != nil { return nil, err } return requestInfo, nil } // ValidateProperties provides operations to call the validateProperties method. // returns a *ValidatePropertiesRequestBuilder when successful func (m *ContactsRequestBuilder) ValidateProperties()(*ValidatePropertiesRequestBuilder) { return NewValidatePropertiesRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // WithUrl returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored. // returns a *ContactsRequestBuilder when successful func (m *ContactsRequestBuilder) WithUrl(rawUrl string)(*ContactsRequestBuilder) { return NewContactsRequestBuilder(rawUrl, m.BaseRequestBuilder.RequestAdapter); }