package com.instructure.canvasapi.api; import com.instructure.canvasapi.model.AccountNotification; import com.instructure.canvasapi.model.CanvasContext; import com.instructure.canvasapi.utilities.APIHelpers; import com.instructure.canvasapi.utilities.CanvasCallback; import com.instructure.canvasapi.utilities.CanvasRestAdapter; import retrofit.RestAdapter; import retrofit.http.DELETE; import retrofit.http.GET; import retrofit.http.Path; /** * Copyright (c) 2015 Instructure. All rights reserved. */ public class AccountNotificationAPI extends BuildInterfaceAPI { public interface AccountNotificationInterface { @GET("/accounts/self/users/self/account_notifications") void getAccountNotifications(CanvasCallback<AccountNotification[]> callback); @DELETE("/accounts/self/users/self/account_notifications/{account_notification_id}") void deleteAccountNotification(@Path("account_notification_id") long account_notification_id, CanvasCallback<AccountNotification> callback); } public static void getAccountNotifications(final CanvasCallback<AccountNotification[]> callback) { if (APIHelpers.paramIsNull(callback)) { return; } buildCacheInterface(AccountNotificationInterface.class, callback, null).getAccountNotifications(callback); buildInterface(AccountNotificationInterface.class, callback, null).getAccountNotifications(callback); } public static void getAccountNotificationsChained(final CanvasCallback<AccountNotification[]> callback, boolean isCached) { if (APIHelpers.paramIsNull(callback)) { return; } if (isCached) { buildCacheInterface(AccountNotificationInterface.class, callback, null).getAccountNotifications(callback); } else { buildInterface(AccountNotificationInterface.class, callback, null).getAccountNotifications(callback); } } public static void deleteAccountNotification(long accountNotificationId, CanvasCallback<AccountNotification> callback) { if (APIHelpers.paramIsNull(callback)) { return; } buildInterface(AccountNotificationInterface.class, callback, null).deleteAccountNotification(accountNotificationId, callback); } }