mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3659 Multiplayer | Invite link without approve (#2407)
This commit is contained in:
parent
b43fff9472
commit
300709aaa2
17 changed files with 375 additions and 133 deletions
|
@ -38,6 +38,7 @@ import com.anytypeio.anytype.core_models.membership.EmailVerificationStatus
|
|||
import com.anytypeio.anytype.core_models.membership.GetPaymentUrlResponse
|
||||
import com.anytypeio.anytype.core_models.membership.Membership
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipTierData
|
||||
import com.anytypeio.anytype.core_models.multiplayer.InviteType
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceInviteLink
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceInviteView
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceMemberPermissions
|
||||
|
@ -872,8 +873,16 @@ class BlockMiddleware(
|
|||
middleware.makeSpaceShareable(space = space)
|
||||
}
|
||||
|
||||
override suspend fun generateSpaceInviteLink(space: SpaceId): SpaceInviteLink {
|
||||
return middleware.generateSpaceInviteLink(space)
|
||||
override suspend fun generateSpaceInviteLink(
|
||||
space: SpaceId,
|
||||
inviteType: InviteType,
|
||||
permissions: SpaceMemberPermissions
|
||||
): SpaceInviteLink {
|
||||
return middleware.generateSpaceInviteLink(
|
||||
space = space,
|
||||
inviteType = inviteType,
|
||||
permissions = permissions
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun revokeSpaceInviteLink(space: SpaceId) {
|
||||
|
|
|
@ -47,6 +47,7 @@ import com.anytypeio.anytype.core_models.membership.EmailVerificationStatus
|
|||
import com.anytypeio.anytype.core_models.membership.GetPaymentUrlResponse
|
||||
import com.anytypeio.anytype.core_models.membership.Membership
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipTierData
|
||||
import com.anytypeio.anytype.core_models.multiplayer.InviteType
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceInviteLink
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceInviteView
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceMemberPermissions
|
||||
|
@ -70,6 +71,7 @@ import com.anytypeio.anytype.middleware.mappers.toCoreLinkPreview
|
|||
import com.anytypeio.anytype.middleware.mappers.toCoreModel
|
||||
import com.anytypeio.anytype.middleware.mappers.toCoreModelSearchResults
|
||||
import com.anytypeio.anytype.middleware.mappers.toCoreModels
|
||||
import com.anytypeio.anytype.middleware.mappers.toMiddleware
|
||||
import com.anytypeio.anytype.middleware.mappers.toMiddlewareModel
|
||||
import com.anytypeio.anytype.middleware.mappers.toMw
|
||||
import com.anytypeio.anytype.middleware.mappers.toPayload
|
||||
|
@ -2388,16 +2390,22 @@ class Middleware @Inject constructor(
|
|||
}
|
||||
|
||||
@Throws(Exception::class)
|
||||
fun generateSpaceInviteLink(space: SpaceId) : SpaceInviteLink {
|
||||
fun generateSpaceInviteLink(
|
||||
space: SpaceId,
|
||||
inviteType: InviteType,
|
||||
permissions: SpaceMemberPermissions
|
||||
): SpaceInviteLink {
|
||||
val request = Rpc.Space.InviteGenerate.Request(
|
||||
spaceId = space.id
|
||||
spaceId = space.id,
|
||||
inviteType = inviteType.toMiddleware(),
|
||||
permissions = permissions.toMw()
|
||||
)
|
||||
logRequestIfDebug(request)
|
||||
val (response, time) = measureTimedValue { service.spaceInviteGenerate(request) }
|
||||
logResponseIfDebug(response, time)
|
||||
return SpaceInviteLink(
|
||||
contentId = response.inviteCid,
|
||||
fileKey= response.inviteFileKey
|
||||
fileKey = response.inviteFileKey
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -2511,7 +2519,8 @@ class Middleware @Inject constructor(
|
|||
space = SpaceId(response.spaceId),
|
||||
creatorName = response.creatorName,
|
||||
spaceName = response.spaceName,
|
||||
spaceIconContentId = response.spaceIconCid
|
||||
spaceIconContentId = response.spaceIconCid,
|
||||
withoutApprove = response.inviteType == anytype.model.InviteType.WithoutApprove
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -114,4 +114,6 @@ typealias MSyncStatusUpdate = Space.SyncStatus.Update
|
|||
|
||||
typealias MDeviceNetworkType = anytype.model.DeviceNetworkType
|
||||
|
||||
typealias MLinkPreview = anytype.model.LinkPreview
|
||||
typealias MLinkPreview = anytype.model.LinkPreview
|
||||
|
||||
typealias MInviteType = anytype.model.InviteType
|
|
@ -18,6 +18,7 @@ import com.anytypeio.anytype.core_models.Relation
|
|||
import com.anytypeio.anytype.core_models.chats.Chat
|
||||
import com.anytypeio.anytype.core_models.membership.MembershipPaymentMethod
|
||||
import com.anytypeio.anytype.core_models.membership.NameServiceNameType
|
||||
import com.anytypeio.anytype.core_models.multiplayer.InviteType
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceMemberPermissions
|
||||
|
||||
|
||||
|
@ -637,3 +638,9 @@ fun DeviceNetworkType.mw(): MDeviceNetworkType = when(this) {
|
|||
DeviceNetworkType.NOT_CONNECTED -> MDeviceNetworkType.NOT_CONNECTED
|
||||
}
|
||||
|
||||
fun InviteType.toMiddleware(): MInviteType = when (this) {
|
||||
InviteType.MEMBER -> MInviteType.Member
|
||||
InviteType.GUEST -> MInviteType.Guest
|
||||
InviteType.WITHOUT_APPROVE -> MInviteType.WithoutApprove
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue