Browse Source

New: create upload mission body and data for api

liweihao 6 years ago
parent
commit
209cce280e

+ 5 - 3
src/main/java/com/example/kdan_data_center/datacenter/file/FileService.kt

@@ -1,6 +1,7 @@
 package com.example.kdan_data_center.datacenter.file
 
 import com.example.kdan_data_center.datacenter.file.body.SyncBody
+import com.example.kdan_data_center.datacenter.file.body.UploadMissionBody
 import com.example.kdan_data_center.datacenter.file.data.*
 import io.reactivex.Observable
 import retrofit2.http.*
@@ -11,10 +12,11 @@ interface FileService {
     }
 
     @POST("upload_mission")
-    fun uploadFile(
+    fun createUploadFileMission(
             @Header("Authorization") accessToken: String,
-            @Header("Content-Type") contentType: String
-    )
+            @Header("Content-Type") contentType: String,
+            @Body uploadMissionBody: UploadMissionBody
+    ): Observable<UploadMissionData>
 
     @GET("list")
     fun getFileInfo(

+ 32 - 0
src/main/java/com/example/kdan_data_center/datacenter/file/body/UploadMissionBody.kt

@@ -0,0 +1,32 @@
+package com.example.kdan_data_center.datacenter.file.body
+
+import com.google.gson.annotations.SerializedName
+
+
+data class UploadMissionBody(
+        @SerializedName("project_name") val projectName: String
+) {
+    @SerializedName("object_type") var objectType: String? = null
+    @SerializedName("bucket_name") var bucketName: String? = null
+    @SerializedName("project_id") var projectId: String? = null
+    @SerializedName("app_bundle_id") var appBundleId: String? = null
+    @SerializedName("full_path") var fullPath: String? = null
+    @SerializedName("parent_id") var parentId: Int? = null
+    @SerializedName("extimate_size") var extimateSize: Int? = null
+    @SerializedName("cover_name") var coverName: String? = null
+    @SerializedName("platform") var platform: String? = null
+    @SerializedName("current_app_version") var currentAppVersion: Int? = null
+    @SerializedName("data_format_version") var dataFormatVersion: Int? = null
+    @SerializedName("source_group") var sourceGroup: String? = null
+    @SerializedName("project_created_at") var projectCreatedAt: String? = null
+    @SerializedName("password_protected") var passwordProtected: Boolean? = null
+    @SerializedName("share_with_pdf") var shareWithPdf: Boolean? = null
+    @SerializedName("category") var category: String? = null
+    @SerializedName("verify_type") var verifyType: String? = null
+    @SerializedName("verify_info") var verifyInfo: VerifyInfo? = null
+
+    data class VerifyInfo(
+            @SerializedName("password") val password: String?,
+            @SerializedName("expires_at") val expiresAt: String?
+    )
+}

+ 37 - 0
src/main/java/com/example/kdan_data_center/datacenter/file/data/UploadMissionData.kt

@@ -0,0 +1,37 @@
+package com.example.kdan_data_center.datacenter.file.data
+
+import com.google.gson.annotations.SerializedName
+
+
+data class UploadMissionData(
+        @SerializedName("message") val message: String,
+        @SerializedName("data") val data: Data
+) {
+
+    data class Data(
+            @SerializedName("mission_id") val missionId: Int,
+            @SerializedName("object_key") val objectKey: String,
+            @SerializedName("credential") val credential: Credential
+    ) {
+
+        data class Credential(
+                @SerializedName("credentials") val credentials: Credentials,
+                @SerializedName("federated_user") val federatedUser: FederatedUser,
+                @SerializedName("packed_policy_size") val packedPolicySize: Int
+        ) {
+
+            data class Credentials(
+                    @SerializedName("access_key_id") val accessKeyId: String,
+                    @SerializedName("secret_access_key") val secretAccessKey: String,
+                    @SerializedName("session_token") val sessionToken: String,
+                    @SerializedName("expiration") val expiration: String
+            )
+
+
+            data class FederatedUser(
+                    @SerializedName("federated_user_id") val federatedUserId: String,
+                    @SerializedName("arn") val arn: String
+            )
+        }
+    }
+}