mirror of
https://github.com/bitwarden/android.git
synced 2026-03-21 05:40:45 -05:00
[PM-19841] Migrate Event API and models to network module (#4976)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.disk
|
||||
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
|
||||
/**
|
||||
* Primary access point for disk information related to event data.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.disk
|
||||
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventType
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.dao.OrganizationEventDao
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.entity.OrganizationEventEntity
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEventType
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.serialization.json.Json
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.network.api
|
||||
|
||||
import com.bitwarden.network.model.NetworkResult
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.POST
|
||||
|
||||
/**
|
||||
* This interface defines the API service for posting event data.
|
||||
*/
|
||||
interface EventApi {
|
||||
@POST("/collect")
|
||||
suspend fun collectOrganizationEvents(
|
||||
@Body events: List<OrganizationEventJson>,
|
||||
): NetworkResult<Unit>
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.network.model
|
||||
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEventType
|
||||
import kotlinx.serialization.Contextual
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
/**
|
||||
* Represents an individual organization event including the type and time.
|
||||
*/
|
||||
@Serializable
|
||||
data class OrganizationEventJson(
|
||||
@SerialName("type") val type: OrganizationEventType,
|
||||
@SerialName("cipherId") val cipherId: String?,
|
||||
@SerialName("date") @Contextual val date: ZonedDateTime,
|
||||
)
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.network.service
|
||||
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
|
||||
/**
|
||||
* Provides an API for submitting events.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.network.service
|
||||
|
||||
import com.bitwarden.network.api.EventApi
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.util.toResult
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.api.EventApi
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
|
||||
/**
|
||||
* The default implementation of the [EventService].
|
||||
|
||||
@@ -3,10 +3,10 @@ package com.x8bit.bitwarden.data.platform.manager.event
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.auth.repository.AuthRepository
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.AuthState
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.EventDiskSource
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.service.EventService
|
||||
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.x8bit.bitwarden.data.platform.manager.model
|
||||
|
||||
import com.bitwarden.network.model.OrganizationEventType
|
||||
|
||||
/**
|
||||
* A representation of events used for organization tracking.
|
||||
*/
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
package com.x8bit.bitwarden.data.platform.manager.model
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.bitwarden.core.data.serializer.BaseEnumeratedIntSerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Representation of events used for organization tracking.
|
||||
*/
|
||||
@Serializable(OrganizationEventTypeSerializer::class)
|
||||
enum class OrganizationEventType {
|
||||
@SerialName("1000")
|
||||
USER_LOGGED_IN,
|
||||
|
||||
@SerialName("1001")
|
||||
USER_CHANGED_PASSWORD,
|
||||
|
||||
@SerialName("1002")
|
||||
USER_UPDATED_2FA,
|
||||
|
||||
@SerialName("1003")
|
||||
USER_DISABLED_2FA,
|
||||
|
||||
@SerialName("1004")
|
||||
USER_RECOVERED_2FA,
|
||||
|
||||
@SerialName("1005")
|
||||
USER_FAILED_LOGIN,
|
||||
|
||||
@SerialName("1006")
|
||||
USER_FAILED_LOGIN_2FA,
|
||||
|
||||
@SerialName("1007")
|
||||
USER_CLIENT_EXPORTED_VAULT,
|
||||
|
||||
@SerialName("1100")
|
||||
CIPHER_CREATED,
|
||||
|
||||
@SerialName("1101")
|
||||
CIPHER_UPDATED,
|
||||
|
||||
@SerialName("1102")
|
||||
CIPHER_DELETED,
|
||||
|
||||
@SerialName("1103")
|
||||
CIPHER_ATTACHMENT_CREATED,
|
||||
|
||||
@SerialName("1104")
|
||||
CIPHER_ATTACHMENT_DELETED,
|
||||
|
||||
@SerialName("1105")
|
||||
CIPHER_SHARED,
|
||||
|
||||
@SerialName("1106")
|
||||
CIPHER_UPDATED_COLLECTIONS,
|
||||
|
||||
@SerialName("1107")
|
||||
CIPHER_CLIENT_VIEWED,
|
||||
|
||||
@SerialName("1108")
|
||||
CIPHER_CLIENT_TOGGLED_PASSWORD_VISIBLE,
|
||||
|
||||
@SerialName("1109")
|
||||
CIPHER_CLIENT_TOGGLED_HIDDEN_FIELD_VISIBLE,
|
||||
|
||||
@SerialName("1110")
|
||||
CIPHER_CLIENT_TOGGLED_CARD_CODE_VISIBLE,
|
||||
|
||||
@SerialName("1111")
|
||||
CIPHER_CLIENT_COPIED_PASSWORD,
|
||||
|
||||
@SerialName("1112")
|
||||
CIPHER_CLIENT_COPIED_HIDDEN_FIELD,
|
||||
|
||||
@SerialName("1113")
|
||||
CIPHER_CLIENT_COPIED_CARD_CODE,
|
||||
|
||||
@SerialName("1114")
|
||||
CIPHER_CLIENT_AUTO_FILLED,
|
||||
|
||||
@SerialName("1115")
|
||||
CIPHER_SOFT_DELETED,
|
||||
|
||||
@SerialName("1116")
|
||||
CIPHER_RESTORED,
|
||||
|
||||
@SerialName("1117")
|
||||
CIPHER_CLIENT_TOGGLED_CARD_NUMBER_VISIBLE,
|
||||
|
||||
@SerialName("1300")
|
||||
COLLECTION_CREATED,
|
||||
|
||||
@SerialName("1301")
|
||||
COLLECTION_UPDATED,
|
||||
|
||||
@SerialName("1302")
|
||||
COLLECTION_DELETED,
|
||||
|
||||
@SerialName("1400")
|
||||
GROUP_CREATED,
|
||||
|
||||
@SerialName("1401")
|
||||
GROUP_UPDATED,
|
||||
|
||||
@SerialName("1402")
|
||||
GROUP_DELETED,
|
||||
|
||||
@SerialName("1500")
|
||||
ORGANIZATION_USER_INVITED,
|
||||
|
||||
@SerialName("1501")
|
||||
ORGANIZATION_USER_CONFIRMED,
|
||||
|
||||
@SerialName("1502")
|
||||
ORGANIZATION_USER_UPDATED,
|
||||
|
||||
@SerialName("1503")
|
||||
ORGANIZATION_USER_REMOVED,
|
||||
|
||||
@SerialName("1504")
|
||||
ORGANIZATION_USER_UPDATED_GROUPS,
|
||||
|
||||
@SerialName("1600")
|
||||
ORGANIZATION_UPDATED,
|
||||
|
||||
@SerialName("1601")
|
||||
ORGANIZATION_PURGED_VAULT,
|
||||
}
|
||||
|
||||
@Keep
|
||||
private class OrganizationEventTypeSerializer : BaseEnumeratedIntSerializer<OrganizationEventType>(
|
||||
className = "OrganizationEventType",
|
||||
values = OrganizationEventType.entries.toTypedArray(),
|
||||
)
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.disk
|
||||
|
||||
import com.bitwarden.core.di.CoreModule
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventType
|
||||
import com.x8bit.bitwarden.data.platform.base.FakeDispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.dao.FakeOrganizationEventDao
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.entity.OrganizationEventEntity
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEventType
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Assertions.assertFalse
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.x8bit.bitwarden.data.platform.datasource.network.service
|
||||
|
||||
import com.bitwarden.network.api.EventApi
|
||||
import com.bitwarden.network.base.BaseServiceTest
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.api.EventApi
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEventType
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventType
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import okhttp3.mockwebserver.MockResponse
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
|
||||
@@ -2,15 +2,15 @@ package com.x8bit.bitwarden.data.platform.manager.event
|
||||
|
||||
import com.bitwarden.core.data.repository.model.DataState
|
||||
import com.bitwarden.core.data.util.asSuccess
|
||||
import com.bitwarden.network.model.OrganizationEventJson
|
||||
import com.bitwarden.network.model.OrganizationEventType
|
||||
import com.bitwarden.vault.CipherView
|
||||
import com.x8bit.bitwarden.data.auth.repository.AuthRepository
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.AuthState
|
||||
import com.x8bit.bitwarden.data.platform.base.FakeDispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.datasource.disk.EventDiskSource
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.model.OrganizationEventJson
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.service.EventService
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEventType
|
||||
import com.x8bit.bitwarden.data.util.FakeLifecycleOwner
|
||||
import com.x8bit.bitwarden.data.util.advanceTimeByAndRunCurrent
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.createMockOrganization
|
||||
|
||||
Reference in New Issue
Block a user