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

odata.msgraph.client.entity.request.PermissionRequest Maven / Gradle / Ivy

package odata.msgraph.client.entity.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
import com.github.davidmoten.odata.client.CollectionPageNonEntityRequest;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.EntityRequest;
import com.github.davidmoten.odata.client.annotation.Action;
import com.github.davidmoten.odata.client.internal.Checks;
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.List;
import java.util.Map;
import java.util.Optional;

import odata.msgraph.client.complex.DriveRecipient;
import odata.msgraph.client.entity.Permission;

@JsonIgnoreType
public class PermissionRequest extends EntityRequest {

    public PermissionRequest(ContextPath contextPath, Optional value) {
        super(Permission.class, contextPath, value, false);
    }

    @Action(name = "grant")
    @JsonIgnore
    public CollectionPageNonEntityRequest grant(List roles, List recipients) {
        Map _parameters = ParameterMap
            .put("roles", "Collection(Edm.String)", Checks.checkIsAscii(roles))
            .put("recipients", "Collection(microsoft.graph.driveRecipient)", recipients)
            .build();
        return CollectionPageNonEntityRequest.forAction(this.contextPath.addActionOrFunctionSegment("microsoft.graph.grant"), Permission.class, _parameters);
    }

}