package education 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" ) // SchoolsItemUsersRequestBuilder provides operations to manage the users property of the microsoft.graph.educationSchool entity. type SchoolsItemUsersRequestBuilder struct { i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.BaseRequestBuilder } // SchoolsItemUsersRequestBuilderGetQueryParameters get the educationUser resources associated with an educationSchool. type SchoolsItemUsersRequestBuilderGetQueryParameters 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"` } // SchoolsItemUsersRequestBuilderGetRequestConfiguration configuration for the request such as headers, query parameters, and middleware options. type SchoolsItemUsersRequestBuilderGetRequestConfiguration struct { // Request headers Headers *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestHeaders // Request options Options []i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestOption // Request query parameters QueryParameters *SchoolsItemUsersRequestBuilderGetQueryParameters } // ByEducationUserId gets an item from the github.com/microsoftgraph/msgraph-sdk-go/.education.schools.item.users.item collection // returns a *SchoolsItemUsersEducationUserItemRequestBuilder when successful func (m *SchoolsItemUsersRequestBuilder) ByEducationUserId(educationUserId string)(*SchoolsItemUsersEducationUserItemRequestBuilder) { urlTplParams := make(map[string]string) for idx, item := range m.BaseRequestBuilder.PathParameters { urlTplParams[idx] = item } if educationUserId != "" { urlTplParams["educationUser%2Did"] = educationUserId } return NewSchoolsItemUsersEducationUserItemRequestBuilderInternal(urlTplParams, m.BaseRequestBuilder.RequestAdapter) } // NewSchoolsItemUsersRequestBuilderInternal instantiates a new SchoolsItemUsersRequestBuilder and sets the default values. func NewSchoolsItemUsersRequestBuilderInternal(pathParameters map[string]string, requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter)(*SchoolsItemUsersRequestBuilder) { m := &SchoolsItemUsersRequestBuilder{ BaseRequestBuilder: *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewBaseRequestBuilder(requestAdapter, "{+baseurl}/education/schools/{educationSchool%2Did}/users{?%24count,%24expand,%24filter,%24orderby,%24search,%24select,%24skip,%24top}", pathParameters), } return m } // NewSchoolsItemUsersRequestBuilder instantiates a new SchoolsItemUsersRequestBuilder and sets the default values. func NewSchoolsItemUsersRequestBuilder(rawUrl string, requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter)(*SchoolsItemUsersRequestBuilder) { urlParams := make(map[string]string) urlParams["request-raw-url"] = rawUrl return NewSchoolsItemUsersRequestBuilderInternal(urlParams, requestAdapter) } // Count provides operations to count the resources in the collection. // returns a *SchoolsItemUsersCountRequestBuilder when successful func (m *SchoolsItemUsersRequestBuilder) Count()(*SchoolsItemUsersCountRequestBuilder) { return NewSchoolsItemUsersCountRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // Get get the educationUser resources associated with an educationSchool. // returns a EducationUserCollectionResponseable 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/educationschool-list-users?view=graph-rest-1.0 func (m *SchoolsItemUsersRequestBuilder) Get(ctx context.Context, requestConfiguration *SchoolsItemUsersRequestBuilderGetRequestConfiguration)(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.EducationUserCollectionResponseable, 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.CreateEducationUserCollectionResponseFromDiscriminatorValue, errorMapping) if err != nil { return nil, err } if res == nil { return nil, nil } return res.(iadcd81124412c61e647227ecfc4449d8bba17de0380ddda76f641a29edf2b242.EducationUserCollectionResponseable), nil } // Ref provides operations to manage the collection of educationRoot entities. // returns a *SchoolsItemUsersRefRequestBuilder when successful func (m *SchoolsItemUsersRequestBuilder) Ref()(*SchoolsItemUsersRefRequestBuilder) { return NewSchoolsItemUsersRefRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter) } // ToGetRequestInformation get the educationUser resources associated with an educationSchool. // returns a *RequestInformation when successful func (m *SchoolsItemUsersRequestBuilder) ToGetRequestInformation(ctx context.Context, requestConfiguration *SchoolsItemUsersRequestBuilderGetRequestConfiguration)(*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 } // WithUrl returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored. // returns a *SchoolsItemUsersRequestBuilder when successful func (m *SchoolsItemUsersRequestBuilder) WithUrl(rawUrl string)(*SchoolsItemUsersRequestBuilder) { return NewSchoolsItemUsersRequestBuilder(rawUrl, m.BaseRequestBuilder.RequestAdapter); }