F4 Android: align Act contracts with lock and seal
This commit is contained in:
@@ -37,6 +37,15 @@ data class MobileActSummary(
|
|||||||
val title: String,
|
val title: String,
|
||||||
val summary: String,
|
val summary: String,
|
||||||
val observations: String? = null,
|
val observations: String? = null,
|
||||||
|
val urgency: String = "NON_URGENT",
|
||||||
|
val deadlineDays: Int? = null,
|
||||||
|
val deadlineDayType: String? = null,
|
||||||
|
val deadlineBasis: String? = null,
|
||||||
|
val deadlineBaseAt: String? = null,
|
||||||
|
val deadlineAt: String? = null,
|
||||||
|
val lockedAt: String? = null,
|
||||||
|
val lockedSha256: String? = null,
|
||||||
|
val sealedAt: String? = null,
|
||||||
val currentVersion: Int = 0,
|
val currentVersion: Int = 0,
|
||||||
val closedAt: String? = null,
|
val closedAt: String? = null,
|
||||||
val closureSha256: String? = null,
|
val closureSha256: String? = null,
|
||||||
@@ -53,6 +62,15 @@ data class MobileActDetail(
|
|||||||
val title: String,
|
val title: String,
|
||||||
val summary: String,
|
val summary: String,
|
||||||
val observations: String? = null,
|
val observations: String? = null,
|
||||||
|
val urgency: String = "NON_URGENT",
|
||||||
|
val deadlineDays: Int? = null,
|
||||||
|
val deadlineDayType: String? = null,
|
||||||
|
val deadlineBasis: String? = null,
|
||||||
|
val deadlineBaseAt: String? = null,
|
||||||
|
val deadlineAt: String? = null,
|
||||||
|
val lockedAt: String? = null,
|
||||||
|
val lockedSha256: String? = null,
|
||||||
|
val sealedAt: String? = null,
|
||||||
val currentVersion: Int = 0,
|
val currentVersion: Int = 0,
|
||||||
val closedAt: String? = null,
|
val closedAt: String? = null,
|
||||||
val closureSha256: String? = null,
|
val closureSha256: String? = null,
|
||||||
@@ -75,6 +93,7 @@ data class MobileActListResponse(
|
|||||||
|
|
||||||
data class CreateMobileActRequest(
|
data class CreateMobileActRequest(
|
||||||
val occurredAt: String,
|
val occurredAt: String,
|
||||||
|
val urgency: String,
|
||||||
val title: String,
|
val title: String,
|
||||||
val summary: String,
|
val summary: String,
|
||||||
val observations: String? = null,
|
val observations: String? = null,
|
||||||
@@ -113,6 +132,15 @@ data class MobileActClosureHeader(
|
|||||||
val code: String,
|
val code: String,
|
||||||
val status: String,
|
val status: String,
|
||||||
val visitId: String,
|
val visitId: String,
|
||||||
|
val urgency: String = "NON_URGENT",
|
||||||
|
val deadlineDays: Int? = null,
|
||||||
|
val deadlineDayType: String? = null,
|
||||||
|
val deadlineBasis: String? = null,
|
||||||
|
val deadlineBaseAt: String? = null,
|
||||||
|
val deadlineAt: String? = null,
|
||||||
|
val lockedAt: String? = null,
|
||||||
|
val lockedSha256: String? = null,
|
||||||
|
val sealedAt: String? = null,
|
||||||
val currentVersion: Int = 0,
|
val currentVersion: Int = 0,
|
||||||
val closedAt: String? = null,
|
val closedAt: String? = null,
|
||||||
val closureSha256: String? = null,
|
val closureSha256: String? = null,
|
||||||
@@ -169,7 +197,7 @@ data class MobileCompanyOutcomeRequest(
|
|||||||
val reason: String,
|
val reason: String,
|
||||||
)
|
)
|
||||||
|
|
||||||
data class MobileCloseActRequest(
|
data class MobileSealActRequest(
|
||||||
val clientClosedAt: String = Instant.now().toString(),
|
val clientClosedAt: String = Instant.now().toString(),
|
||||||
val uploadMode: String = "ONLINE",
|
val uploadMode: String = "ONLINE",
|
||||||
)
|
)
|
||||||
@@ -219,14 +247,8 @@ private interface MobileActsApi {
|
|||||||
@Body request: MobileResponsibleRequest,
|
@Body request: MobileResponsibleRequest,
|
||||||
): MobileActClosure
|
): MobileActClosure
|
||||||
|
|
||||||
@POST("inspection-acts/{actId}/ready")
|
@POST("inspection-acts/{actId}/lock")
|
||||||
suspend fun ready(
|
suspend fun lock(
|
||||||
@Header("Authorization") authorization: String,
|
|
||||||
@Path("actId") actId: String,
|
|
||||||
): MobileActClosure
|
|
||||||
|
|
||||||
@POST("inspection-acts/{actId}/reopen")
|
|
||||||
suspend fun reopen(
|
|
||||||
@Header("Authorization") authorization: String,
|
@Header("Authorization") authorization: String,
|
||||||
@Path("actId") actId: String,
|
@Path("actId") actId: String,
|
||||||
): MobileActClosure
|
): MobileActClosure
|
||||||
@@ -268,11 +290,11 @@ private interface MobileActsApi {
|
|||||||
@Body request: MobileCompanyOutcomeRequest,
|
@Body request: MobileCompanyOutcomeRequest,
|
||||||
): MobileActClosure
|
): MobileActClosure
|
||||||
|
|
||||||
@POST("inspection-acts/{actId}/close")
|
@POST("inspection-acts/{actId}/seal")
|
||||||
suspend fun closeAct(
|
suspend fun sealAct(
|
||||||
@Header("Authorization") authorization: String,
|
@Header("Authorization") authorization: String,
|
||||||
@Path("actId") actId: String,
|
@Path("actId") actId: String,
|
||||||
@Body request: MobileCloseActRequest,
|
@Body request: MobileSealActRequest,
|
||||||
): MobileActClosure
|
): MobileActClosure
|
||||||
|
|
||||||
@POST("inspection-visits/{visitId}/close")
|
@POST("inspection-visits/{visitId}/close")
|
||||||
@@ -305,14 +327,20 @@ class MobileActsRepository(context: Context) {
|
|||||||
api.act("Bearer ${session.accessToken}", actId)
|
api.act("Bearer ${session.accessToken}", actId)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun create(visitId: String, assetId: String, visitCode: String): MobileActDetail = authorized { session ->
|
suspend fun create(
|
||||||
|
visitId: String,
|
||||||
|
assetId: String,
|
||||||
|
visitCode: String,
|
||||||
|
urgency: String,
|
||||||
|
): MobileActDetail = authorized { session ->
|
||||||
api.createAct(
|
api.createAct(
|
||||||
"Bearer ${session.accessToken}",
|
"Bearer ${session.accessToken}",
|
||||||
visitId,
|
visitId,
|
||||||
CreateMobileActRequest(
|
CreateMobileActRequest(
|
||||||
occurredAt = Instant.now().toString(),
|
occurredAt = Instant.now().toString(),
|
||||||
|
urgency = urgency,
|
||||||
title = "Acta de inspección $visitCode",
|
title = "Acta de inspección $visitCode",
|
||||||
summary = "Acta de inspección en curso. Los Hallazgos y observaciones se incorporan de forma trazable durante la visita.",
|
summary = "Acta de inspección en curso. Los Hallazgos y observaciones se incorporan de forma trazable durante la inspección.",
|
||||||
assetIds = listOf(assetId),
|
assetIds = listOf(assetId),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -335,12 +363,8 @@ class MobileActsRepository(context: Context) {
|
|||||||
api.responsible("Bearer ${session.accessToken}", actId, request)
|
api.responsible("Bearer ${session.accessToken}", actId, request)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun prepare(actId: String): MobileActClosure = authorized { session ->
|
suspend fun lock(actId: String): MobileActClosure = authorized { session ->
|
||||||
api.ready("Bearer ${session.accessToken}", actId)
|
api.lock("Bearer ${session.accessToken}", actId)
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun reopen(actId: String): MobileActClosure = authorized { session ->
|
|
||||||
api.reopen("Bearer ${session.accessToken}", actId)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun signInspector(
|
suspend fun signInspector(
|
||||||
@@ -378,8 +402,8 @@ class MobileActsRepository(context: Context) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun closeAct(actId: String): MobileActClosure = authorized { session ->
|
suspend fun seal(actId: String): MobileActClosure = authorized { session ->
|
||||||
api.closeAct("Bearer ${session.accessToken}", actId, MobileCloseActRequest())
|
api.sealAct("Bearer ${session.accessToken}", actId, MobileSealActRequest())
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun closeVisit(visitId: String): VisitDetail = authorized { session ->
|
suspend fun closeVisit(visitId: String): VisitDetail = authorized { session ->
|
||||||
|
|||||||
Reference in New Issue
Block a user