Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
cn.leancloud.service.APIService Maven / Gradle / Ivy
package cn.leancloud.service;
import cn.leancloud.*;
import cn.leancloud.json.JSONObject;
import cn.leancloud.query.LCQueryResult;
import cn.leancloud.search.LCSearchResponse;
import cn.leancloud.sms.LCCaptchaDigest;
import cn.leancloud.sms.LCCaptchaValidateResult;
import cn.leancloud.types.LCDate;
import cn.leancloud.types.LCNull;
import cn.leancloud.upload.FileUploadToken;
import io.reactivex.Observable;
import retrofit2.Call;
import retrofit2.http.*;
import java.util.List;
import java.util.Map;
public interface APIService {
String HEADER_KEY_LC_SESSIONTOKEN = "X-LC-Session";
/**
* Object Operations.
*/
@GET("/1.1/classes/{className}")
Observable> findObjects(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className);
@GET("/1.1/classes/{className}")
Observable queryObjects(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @QueryMap Map query);
@GET("/1.1/{endPoint}")
Observable queryObjectsByCustomEndPoint(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path(value="endPoint", encoded = true) String endPoint, @QueryMap Map query);
@GET("/1.1/cloudQuery")
Observable cloudQuery(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@GET("/1.1/classes/{className}/{objectId}")
Observable fetchObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @Path("objectId") String objectId);
@GET("/1.1/classes/{className}/{objectId}")
Observable fetchObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @Path("objectId") String objectId,
@Query("include") String includeKeys);
@POST("/1.1/classes/{className}")
Observable createObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @Body JSONObject object,
@Query("fetchWhenSave") boolean fetchFlag,
@Query("where") JSONObject where);
@PUT("/1.1/classes/{className}/{objectId}")
Observable updateObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @Path("objectId") String objectId,
@Body JSONObject object, @Query("fetchWhenSave") boolean fetchFlag,
@Query("where") JSONObject where);
@HTTP(method = "DELETE", path = "/1.1/classes/{className}/{objectId}", hasBody = true)
Observable deleteObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("className") String className, @Path("objectId") String objectId,
@Body Map param);
@POST("/1.1/batch")
Observable>> batchCreate(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body JSONObject param);
/**
* AVInstalltion methods.
*/
@POST("/1.1/{endpointClass}")
Observable saveWholeObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("endpointClass") String endpointClass, @Body JSONObject object,
@Query("fetchWhenSave") boolean fetchFlag,
@Query("where") JSONObject where);
@PUT("/1.1/{endpointClass}/{objectId}")
Observable saveWholeObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("endpointClass") String endpointClass, @Path("objectId") String objectId,
@Body JSONObject object, @Query("fetchWhenSave") boolean fetchFlag,
@Query("where") JSONObject where);
@GET("/1.1/{endpointClass}/{objectId}")
Observable getWholeObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("endpointClass") String endpointClass, @Path("objectId") String objectId,
@Query("include") String includeKeys);
@HTTP(method = "DELETE", path = "/1.1/{endpointClass}/{objectId}", hasBody = true)
Observable deleteWholeObject(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("endpointClass") String endpointClass, @Path("objectId") String objectId,
@Body Map param);
/**
* request format:
* requests: [unit, unit]
* unit format:
* {"path":"/1.1/classes/{class}/{objectId}",
* "method":"PUT",
* "body":{"{field}":operationJson,
* "__internalId":"{objectId}",
* "__children":[]},
* "params":{}
* }
* for update same field with multiple operations, we must use batchUpdate instead of batchSave,
* otherwise, `__internalId` will become a common field of target instance.
*/
@POST("/1.1/batch/save")
Observable batchUpdate(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body JSONObject param);
/**
* Cloud Functions
*/
@POST("/1.1/functions/{name}")
Observable> cloudFunction(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("name") String functionName, @Body Map param);
@POST("/1.1/call/{name}")
Observable> cloudRPC(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("name") String functionName, @Body Object param);
/**
* File Operations.
*/
@POST("/1.1/fileTokens")
Observable createUploadToken(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body JSONObject fileData);
@POST("/1.1/fileCallback")
Call fileCallback(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body JSONObject result);
@GET("/1.1/files/{objectId}")
Observable fetchFile(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("objectId") String objectId);
@GET("/1.1/date")
Observable currentTimeMillis();
/**
* Role Operations.
*/
@POST("/1.1/roles")
Observable createRole(@Body JSONObject object);
/**
* User Operations.
*/
@POST("/1.1/users")
Observable signup(@Body JSONObject object);
@POST("/1.1/users")
Observable signup(@Body JSONObject object, @Query("failOnNotExist") boolean failOnNotExist);
@GET("/1.1/users")
Observable queryUsers(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@POST("/1.1/users/friendshipRequests")
Observable applyFriendship(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body JSONObject param);
@PUT("/1.1/users/friendshipRequests/{requestId}/accept")
Observable acceptFriendshipRequest(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("requestId") String requestId,
@Body JSONObject param);
@PUT("/1.1/users/friendshipRequests/{requestId}/decline")
Observable declineFriendshipRequest(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("requestId") String requestId);
@POST("/1.1/usersByMobilePhone")
Observable signupByMobilePhone(@Body JSONObject object);
@POST("/1.1/login")
Observable login(@Body JSONObject object);
@PUT("/1.1/users/{objectId}/updatePassword")
Observable updatePassword(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("objectId") String objectId, @Body JSONObject object);
@GET("/1.1/users/me")
Observable checkAuthenticated(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@PUT("/1.1/users/{objectId}/refreshSessionToken")
Observable refreshSessionToken(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("objectId") String objectId);
@GET("/storage/1.1/users/tap-support/identity")
Observable retrieveShortToken(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken);
@POST("/1.1/requestPasswordReset")
Observable requestResetPassword(@Body Map param);
@POST("/1.1/requestPasswordResetBySmsCode")
Observable requestResetPasswordBySmsCode(@Body Map param);
@PUT("/1.1/resetPasswordBySmsCode/{smsCode}")
Observable resetPasswordBySmsCode(@Path("smsCode") String smsCode, @Body Map param);
@POST("/1.1/requestEmailVerify")
Observable requestEmailVerify(@Body Map param);
@POST("/1.1/requestMobilePhoneVerify")
Observable requestMobilePhoneVerify(@Body Map param);
@POST("/1.1/verifyMobilePhone/{verifyCode}")
Observable verifyMobilePhone(@Path("verifyCode") String verifyCode, @Body Map param);
@POST("/1.1/requestLoginSmsCode")
Observable requestLoginSmsCode(@Body Map param);
@POST("/1.1/users/{followee}/friendship/{follower}")
Observable followUser(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("followee") String followee, @Path("follower") String follower,
@Body Map param);
@PUT("/1.1/users/{followee}/friendship/{friendId}")
Observable updateFriendship(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("followee") String followee, @Path("friendId") String friendId,
@Body Map param);
@DELETE("/1.1/users/{followee}/friendship/{follower}")
Observable unfollowUser(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("followee") String followee, @Path("follower") String follower);
@GET("/1.1/users/{userId}/followers")
Observable getFollowers(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("userId") String userId,
@QueryMap Map query);
@GET("/1.1/users/self/friends")
Observable getFriends(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@GET("/1.1/users/{userId}/followersAndFollowees")
Observable getFollowersAndFollowees(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("userId") String userId);
/**
* Status API
*/
@POST("/1.1/statuses")
Observable postStatus(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body Map param);
@GET("/1.1/statuses/{statusId}")
Observable fetchSingleStatus(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("statusId") String statusId);
@GET("/1.1/statuses")
Observable fetchStatuses(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@DELETE("/1.1/statuses/{statusId}")
Observable deleteStatus(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Path("statusId") String statusId);
@DELETE("/1.1/subscribe/statuses/inbox")
Observable deleteInboxStatus(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@GET("/1.1/subscribe/statuses")
Observable queryInbox(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@GET("/1.1/subscribe/statuses/count")
Observable getInboxCount(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@POST("/1.1/subscribe/statuses/resetUnreadCount")
Observable resetInboxUnreadCount(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken);
/**
* SMS / Capture requests
*/
@GET("/1.1/requestCaptcha")
Observable requestCaptcha(@QueryMap Map query);
@POST("/1.1/verifyCaptcha")
Observable verifyCaptcha(@Body Map param);
@POST("/1.1/requestSmsCode")
Observable requestSMSCode(@Body Map param);
@POST("/1.1/verifySmsCode/{code}")
Observable verifySMSCode(@Path("code") String code, @Body Map param);
@POST("/1.1/requestChangePhoneNumber")
Observable requestSMSCodeForUpdatingPhoneNumber(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body Map param);
@POST("/1.1/changePhoneNumber")
Observable verifySMSCodeForUpdatingPhoneNumber(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body Map param);
/**
* FullText Search API
*/
@GET("/1.1/search/select")
Observable search(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
/**
* Leaderboard API
*/
@POST("/1.1/leaderboard/leaderboards")
Observable createLeaderboard(@Body Map param);
@GET("/1.1/leaderboard/leaderboards/{statisticName}")
Observable fetchLeaderboard(@Path("statisticName") String name);
@PUT("/1.1/leaderboard/leaderboards/{statisticName}")
Observable updateLeaderboard(@Path("statisticName") String name, @Body Map param);
@PUT("/1.1/leaderboard/leaderboards/{statisticName}/incrementVersion")
Observable resetLeaderboard(@Path("statisticName") String name);
@DELETE("/1.1/leaderboard/leaderboards/{statisticName}")
Observable destroyLeaderboard(@Path("statisticName") String name);
@POST("/1.1/leaderboard/users/self/statistics")
Observable updateAuthenticatedUserStatistics(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@Body List> param,
@Query("overwrite") int overwriteFlag);
@POST("/1.1/leaderboard/users/{userId}/statistics")
Observable updateUserStatistics(@Path("userId") String userId,
@Body List> param,
@Query("overwrite") int overwriteFlag);
@POST("/1.1/leaderboard/entities/{entityId}/statistics")
Observable updateEntityStatistics(@Path("entityId") String entityId,
@Body List> param,
@Query("overwrite") int overwriteFlag);
@POST("/1.1/leaderboard/objects/{objectId}/statistics")
Observable updateObjectStatistics(@Path("objectId") String objectId,
@Body List> param,
@Query("overwrite") int overwriteFlag);
@GET("/1.1/leaderboard/users/{userId}/statistics")
Observable getUserStatistics(@Path("userId") String userId, @Query("statistics") String statistics);
@GET("/1.1/leaderboard/entities/{entityId}/statistics")
Observable getEntityStatistics(@Path("entityId") String entityId, @Query("statistics") String statistics);
@GET("/1.1/leaderboard/objects/{objectId}/statistics")
Observable getObjectStatistics(@Path("objectId") String objectId, @Query("statistics") String statistics);
@POST("/1.1/leaderboard/{memberType}/statistics/{statisticName}")
Observable queryGroupStatistics(@Path("memberType") String memberType,
@Path("statisticName") String statisticName,
@Body Map param);
@GET("/1.1/leaderboard/leaderboards/{memberType}/{statisticName}/ranks")
Observable getLeaderboardResults(@Path("memberType") String memberType,
@Path("statisticName") String statisticName,
@QueryMap Map query);
@GET("/1.1/leaderboard/leaderboards/{memberType}/{statisticName}/ranks/{entityId}")
Observable getLeaderboardAroundResults(@Path("memberType") String memberType,
@Path("statisticName") String statisticName,
@Path("entityId") String entityId,
@QueryMap Map query);
@POST("/1.1/leaderboard/leaderboards/{memberType}/{statisticName}/group/ranks")
Observable queryLeaderboardGroupResults(@Path("memberType") String memberType,
@Path("statisticName") String statisticName,
@QueryMap Map query,
@Body Map data);
@POST("/1.1/leaderboard/leaderboards/{memberType}/{statisticName}/group/ranks/{targetId}")
Observable queryLeaderboardAroundInGroupResults(@Path("memberType") String memberType,
@Path("statisticName") String statisticName,
@Path("targetId") String targetId,
@QueryMap Map query,
@Body Map data);
@GET("/1.1/leaderboard/users/self/statistics")
Observable getAuthenticatedUserStatistics(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken);
@GET("/1.1/users/strictlyQuery")
Observable strictlyQueryUsers(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken,
@QueryMap Map query);
@POST("/1.1/users/self/friendBlocklist/{objectId}")
Observable blockFriendByObjectId(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken, @Path("objectId") String objectId);
@DELETE("/1.1/users/self/friendBlocklist/{objectId}")
Observable unblockFriendByObjectId(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken, @Path("objectId") String objectId);
@GET("/1.1/users/self/friendBlocklist")
Observable getBlockListOfFriend(@Header(HEADER_KEY_LC_SESSIONTOKEN) String sessionToken, @QueryMap Map query);
}