All Downloads are FREE. Search and download functionalities are using the official Maven repository.

odata.msgraph.client.entity.collection.request.AppConsentRequestCollectionRequest Maven / Gradle / Ivy

package odata.msgraph.client.entity.collection.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.github.davidmoten.guavamini.Preconditions;
import com.github.davidmoten.odata.client.CollectionPageEntityRequest;
import com.github.davidmoten.odata.client.CollectionPageNonEntityRequest;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.annotation.Function;
import com.github.davidmoten.odata.client.internal.ParameterMap;
import com.github.davidmoten.odata.client.internal.TypedObject;

import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Optional;

import odata.msgraph.client.entity.AppConsentRequest;
import odata.msgraph.client.entity.request.AppConsentRequestRequest;
import odata.msgraph.client.entity.request.UserConsentRequestRequest;
import odata.msgraph.client.enums.ConsentRequestFilterByCurrentUserOptions;

public class AppConsentRequestCollectionRequest extends CollectionPageEntityRequest{

    protected ContextPath contextPath;

    public AppConsentRequestCollectionRequest(ContextPath contextPath, Optional value) {
        super(contextPath, AppConsentRequest.class, cp -> new AppConsentRequestRequest(cp, Optional.empty()), value);
        this.contextPath = contextPath;
    }

    public UserConsentRequestRequest userConsentRequests(String id) {
        return new UserConsentRequestRequest(contextPath.addSegment("userConsentRequests").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    public UserConsentRequestCollectionRequest userConsentRequests() {
        return new UserConsentRequestCollectionRequest(contextPath.addSegment("userConsentRequests"), Optional.empty());
    }

    @Function(name = "filterByCurrentUser")
    @JsonIgnore
    public CollectionPageNonEntityRequest filterByCurrentUser(ConsentRequestFilterByCurrentUserOptions on) {
        Preconditions.checkNotNull(on, "on cannot be null");
        Map _parameters = ParameterMap
            .put("on", "microsoft.graph.consentRequestFilterByCurrentUserOptions", on)
            .build();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.filterByCurrentUser"), AppConsentRequest.class, _parameters);
    }

}