From eb67cb9adc119f9f307d81b2af33886c9fc3008f Mon Sep 17 00:00:00 2001 From: makinosp Date: Mon, 23 Sep 2024 13:16:06 +0900 Subject: [PATCH] feat: api service protocols conform to Sendable protocol --- Sources/VRCKit/Protocols/AuthenticationServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/FavoriteServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/FriendServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/ImageUrlRepresentableProtocol.swift | 2 +- Sources/VRCKit/Protocols/InstanceServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/LocationProtocol.swift | 2 +- Sources/VRCKit/Protocols/ProfileProtocols.swift | 2 +- Sources/VRCKit/Protocols/UserNoteServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/UserServiceProtocol.swift | 2 +- Sources/VRCKit/Protocols/WorldServiceProtocol.swift | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Sources/VRCKit/Protocols/AuthenticationServiceProtocol.swift b/Sources/VRCKit/Protocols/AuthenticationServiceProtocol.swift index fc3a011..fe19032 100644 --- a/Sources/VRCKit/Protocols/AuthenticationServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/AuthenticationServiceProtocol.swift @@ -9,7 +9,7 @@ public protocol UserOrRequires: Sendable {} extension User: UserOrRequires {} extension VerifyType: UserOrRequires {} -public protocol AuthenticationServiceProtocol { +public protocol AuthenticationServiceProtocol: Sendable { func isExists(userId: String) async throws -> Bool func loginUserInfo() async throws -> UserOrRequires func verify2FA(verifyType: VerifyType, code: String) async throws -> Bool diff --git a/Sources/VRCKit/Protocols/FavoriteServiceProtocol.swift b/Sources/VRCKit/Protocols/FavoriteServiceProtocol.swift index 4e2d88b..872cc15 100644 --- a/Sources/VRCKit/Protocols/FavoriteServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/FavoriteServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by makinosp on 2024/07/14. // -public protocol FavoriteServiceProtocol { +public protocol FavoriteServiceProtocol: Sendable { func listFavoriteGroups() async throws -> [FavoriteGroup] func listFavorites(n: Int, type: FavoriteType, tag: String?) async throws -> [Favorite] func fetchFavoriteGroupDetails(favoriteGroups: [FavoriteGroup]) async throws -> [FavoriteDetail] diff --git a/Sources/VRCKit/Protocols/FriendServiceProtocol.swift b/Sources/VRCKit/Protocols/FriendServiceProtocol.swift index d0e5e09..4b46750 100644 --- a/Sources/VRCKit/Protocols/FriendServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/FriendServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by makinosp on 2024/07/14. // -public protocol FriendServiceProtocol { +public protocol FriendServiceProtocol: Sendable { func fetchFriends(offset: Int, n: Int, offline: Bool) async throws -> [Friend] func fetchFriends(count: Int, offline: Bool) async throws -> [Friend] func unfriend(id: String) async throws diff --git a/Sources/VRCKit/Protocols/ImageUrlRepresentableProtocol.swift b/Sources/VRCKit/Protocols/ImageUrlRepresentableProtocol.swift index d7d9c23..e556674 100644 --- a/Sources/VRCKit/Protocols/ImageUrlRepresentableProtocol.swift +++ b/Sources/VRCKit/Protocols/ImageUrlRepresentableProtocol.swift @@ -7,7 +7,7 @@ import Foundation -public protocol ImageUrlRepresentable { +public protocol ImageUrlRepresentable: Sendable { func imageUrl(_ resolution: ImageResolution) -> URL? } diff --git a/Sources/VRCKit/Protocols/InstanceServiceProtocol.swift b/Sources/VRCKit/Protocols/InstanceServiceProtocol.swift index 879672f..47c0e5e 100644 --- a/Sources/VRCKit/Protocols/InstanceServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/InstanceServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by makinosp on 2024/07/14. // -public protocol InstanceServiceProtocol { +public protocol InstanceServiceProtocol: Sendable { func fetchInstance(worldId: String, instanceId: String) async throws -> Instance func fetchInstance(location: String) async throws -> Instance } diff --git a/Sources/VRCKit/Protocols/LocationProtocol.swift b/Sources/VRCKit/Protocols/LocationProtocol.swift index 12e70dd..92f4ae4 100644 --- a/Sources/VRCKit/Protocols/LocationProtocol.swift +++ b/Sources/VRCKit/Protocols/LocationProtocol.swift @@ -6,7 +6,7 @@ // /// Represents a type that has a location string. -public protocol LocationRepresentable { +public protocol LocationRepresentable: Sendable { var location: Location { get } var isVisible: Bool { get } } diff --git a/Sources/VRCKit/Protocols/ProfileProtocols.swift b/Sources/VRCKit/Protocols/ProfileProtocols.swift index 98737d4..e1affdd 100644 --- a/Sources/VRCKit/Protocols/ProfileProtocols.swift +++ b/Sources/VRCKit/Protocols/ProfileProtocols.swift @@ -9,7 +9,7 @@ import Foundation /// A protocol representing common properties for user profile elements. /// This protocol can be adopted by structures such as User, Friend, and UserDetail. -public protocol ProfileElementRepresentable: Hashable, Identifiable, ImageUrlRepresentable { +public protocol ProfileElementRepresentable: Sendable, Hashable, Identifiable, ImageUrlRepresentable { var bio: String? { get } var bioLinks: SafeDecodingArray { get } var avatarImageUrl: URL? { get } diff --git a/Sources/VRCKit/Protocols/UserNoteServiceProtocol.swift b/Sources/VRCKit/Protocols/UserNoteServiceProtocol.swift index 1bb3040..0598152 100644 --- a/Sources/VRCKit/Protocols/UserNoteServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/UserNoteServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by makinosp on 2024/07/14. // -public protocol UserNoteServiceProtocol { +public protocol UserNoteServiceProtocol: Sendable { func updateUserNote(targetUserId: String, note: String) async throws -> UserNoteResponse func clearUserNote(targetUserId: String) async throws } diff --git a/Sources/VRCKit/Protocols/UserServiceProtocol.swift b/Sources/VRCKit/Protocols/UserServiceProtocol.swift index 8b3bebc..0dd1b2c 100644 --- a/Sources/VRCKit/Protocols/UserServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/UserServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by makinosp on 2024/07/14. // -public protocol UserServiceProtocol { +public protocol UserServiceProtocol: Sendable { func fetchUser(userId: String) async throws -> UserDetail func updateUser(id: String, editedInfo: EditableUserInfo) async throws } diff --git a/Sources/VRCKit/Protocols/WorldServiceProtocol.swift b/Sources/VRCKit/Protocols/WorldServiceProtocol.swift index 5b59158..725ea71 100644 --- a/Sources/VRCKit/Protocols/WorldServiceProtocol.swift +++ b/Sources/VRCKit/Protocols/WorldServiceProtocol.swift @@ -5,7 +5,7 @@ // Created by kiripoipoi on 2024/09/07. // -public protocol WorldServiceProtocol { +public protocol WorldServiceProtocol: Sendable { func fetchWorld(worldId: String) async throws -> World func fetchFavoritedWorlds() async throws -> [World] }