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

odata.msgraph.client.entity.request.TeamworkRequest 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.ActionRequestNoReturn;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.EntityRequest;
import com.github.davidmoten.odata.client.NameValue;
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.Long;
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.ItemBody;
import odata.msgraph.client.complex.KeyValuePair;
import odata.msgraph.client.complex.TeamworkActivityTopic;
import odata.msgraph.client.complex.TeamworkNotificationRecipient;
import odata.msgraph.client.entity.Teamwork;
import odata.msgraph.client.entity.collection.request.WorkforceIntegrationCollectionRequest;

@JsonIgnoreType
public class TeamworkRequest extends EntityRequest {

    public TeamworkRequest(ContextPath contextPath, Optional value) {
        super(Teamwork.class, contextPath, value, false);
    }

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

    public WorkforceIntegrationCollectionRequest workforceIntegrations() {
        return new WorkforceIntegrationCollectionRequest(
                        contextPath.addSegment("workforceIntegrations"), Optional.empty());
    }

    @Action(name = "sendActivityNotificationToRecipients")
    @JsonIgnore
    public ActionRequestNoReturn sendActivityNotificationToRecipients(TeamworkActivityTopic topic, String activityType, Long chainId, ItemBody previewText, String teamsAppId, List templateParameters, List recipients) {
        Map _parameters = ParameterMap
            .put("topic", "microsoft.graph.teamworkActivityTopic", topic)
            .put("activityType", "Edm.String", Checks.checkIsAscii(activityType))
            .put("chainId", "Edm.Int64", chainId)
            .put("previewText", "microsoft.graph.itemBody", previewText)
            .put("teamsAppId", "Edm.String", Checks.checkIsAscii(teamsAppId))
            .put("templateParameters", "Collection(microsoft.graph.keyValuePair)", templateParameters)
            .put("recipients", "Collection(microsoft.graph.teamworkNotificationRecipient)", recipients)
            .build();
        return new ActionRequestNoReturn(this.contextPath.addActionOrFunctionSegment("microsoft.graph.sendActivityNotificationToRecipients"), _parameters);
    }

}