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

io.relayr.java.api.services.NotificationService Maven / Gradle / Ivy

package io.relayr.java.api.services;

import io.relayr.java.model.json.JsonListResponse;
import io.relayr.java.model.json.JsonRequest;
import io.relayr.java.model.json.JsonResponse;
import io.relayr.java.model.notif.Environment;
import io.relayr.java.model.notif.NotificationPublish;
import io.relayr.java.model.notif.NotificationSubscription;
import io.relayr.java.model.notif.NotificationTransport;
import retrofit.client.Response;
import retrofit.http.Body;
import retrofit.http.DELETE;
import retrofit.http.GET;
import retrofit.http.PATCH;
import retrofit.http.POST;
import retrofit.http.Path;
import retrofit.http.Query;
import rx.Observable;

public interface NotificationService {

    //Environments
    @GET("/notification-environments")
    Observable> getEnvironments(
            @Query("projectId") String projectId);

    @POST("/notification-environments")
    Observable> createEnvironment(
            @Body JsonRequest environment);

    @GET("/notification-environments/{environmentId}")
    Observable> getEnvironment(
            @Path("environmentId") String environmentId);

    @PATCH("/notification-environments/{environmentId}")
    Observable> getEnvironment(
            @Path("environmentId") String environmentId,
            @Body JsonRequest environment);

    @DELETE("/notification-environments/{environmentId}")
    Observable deleteEnvironment(
            @Path("environmentId") String environmentId);

    //Subscriptions
    @GET("/notification-environments/{environmentId}/subscriptions")
    Observable> getAllSubscriptions(
            @Path("environmentId") String environmentId,
            @Query("userId") String userId);

    @POST("/notification-environments/{environmentId}/subscriptions")
    Observable> createSubscription(
            @Path("environmentId") String environmentId,
            @Body JsonRequest environment);

    @GET("/notification-environments/{environmentId}/subscriptions/{subscriptionId}")
    Observable> getSubscription(
            @Path("environmentId") String environmentId,
            @Path("subscriptionId") String subscriptionId);

    @DELETE("/notification-environments/{environmentId}/subscriptions/{subscriptionId}")
    Observable deleteSubscription(
            @Path("environmentId") String environmentId,
            @Path("subscriptionId") String subscriptionId);

    //Topics
    @POST("/notification-environments/{environmentId}/topics")
    Observable> createTopic(
            @Path("environmentId") String environmentId,
            @Body JsonRequest topic);

    @GET("/notification-environments/{environmentId}/topics")
    Observable> getTopics(
            @Path("environmentId") String environmentId);

    @DELETE("/notification-environments/{environmentId}/topics/{topicId}")
    Observable deleteTopic(
            @Path("environmentId") String environmentId,
            @Path("topicId") String topic);

    //Transports
    @POST("/notification-environments/{environmentId}/transports")
    Observable> createTransport(
            @Path("environmentId") String environmentId,
            @Body JsonRequest transport);


    @GET("/notification-environments/{environmentId}/transports")
    Observable> getTransports(
            @Path("environmentId") String environmentId);


    @GET("/notification-environments/{environmentId}/transports/{transportId}")
    Observable> getTransport(
            @Path("environmentId") String environmentId,
            @Path("transportId") String transportId);

    @PATCH("/notification-environments/{environmentId}/transports/{transportId}")
    Observable> updateTransport(
            @Path("environmentId") String environmentId,
            @Path("transportId") String transportId,
            @Body JsonRequest transport);

    @DELETE("/notification-environments/{environmentId}/transports/{transportId}")
    Observable deleteTransport(
            @Path("environmentId") String environmentId,
            @Path("transportId") String transportId);

    //Publish
    @POST("/notification-environments/{environmentId}/publish")
    Observable publish(
            @Path("environmentId") String environmentId,
            @Path("transportId") String transportId,
            @Body JsonRequest publish);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy