Skip to content

Commit 19348b9

Browse files
authored
Marking FederatedServiceRouter and FederatedServiceTokens as public (#122)
1 parent fdc9099 commit 19348b9

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

Sources/ImperialCore/FederatedServiceRouter.swift

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import Vapor
33

44
/// Defines a type that implements the routing to get an access token from an OAuth provider.
55
/// See implementations in the `Services/(Google|GitHub)/$0Router.swift` files
6-
package protocol FederatedServiceRouter: Sendable {
6+
/// Marked as public so that custom routers can be built
7+
public protocol FederatedServiceRouter: Sendable {
78
/// An object that gets the client ID and secret from environment variables.
89
var tokens: any FederatedServiceTokens { get }
910

@@ -78,11 +79,11 @@ package protocol FederatedServiceRouter: Sendable {
7879
}
7980

8081
extension FederatedServiceRouter {
81-
package var codeKey: String { "code" }
82-
package var errorKey: String { "error" }
82+
public var codeKey: String { "code" }
83+
public var errorKey: String { "error" }
8384
package var callbackHeaders: HTTPHeaders { [:] }
8485

85-
package func configureRoutes(
86+
public func configureRoutes(
8687
withAuthURL authURL: String, authenticateCallback: (@Sendable (Request) async throws -> Void)?, on router: some RoutesBuilder
8788
) throws {
8889
router.get(callbackURL.pathSegments, use: callback)
@@ -96,7 +97,7 @@ extension FederatedServiceRouter {
9697
}
9798
}
9899

99-
package func fetchToken(from request: Request) async throws -> String {
100+
public func fetchToken(from request: Request) async throws -> String {
100101
let code: String
101102
if let queryCode: String = try request.query.get(at: codeKey) {
102103
code = queryCode
@@ -114,7 +115,7 @@ extension FederatedServiceRouter {
114115
return try response.content.get(String.self, at: ["access_token"])
115116
}
116117

117-
package func callback(_ request: Request) async throws -> Response {
118+
public func callback(_ request: Request) async throws -> Response {
118119
let accessToken = try await self.fetchToken(from: request)
119120
let session = request.session
120121
try session.setAccessToken(accessToken)
@@ -124,20 +125,21 @@ extension FederatedServiceRouter {
124125
}
125126

126127
/// Convenience URLQueryItems
128+
/// Marked as public so that custom routers can be built
127129
extension FederatedServiceRouter {
128-
package var clientIDItem: URLQueryItem {
130+
public var clientIDItem: URLQueryItem {
129131
.init(name: "client_id", value: tokens.clientID)
130132
}
131133

132-
package var redirectURIItem: URLQueryItem {
134+
public var redirectURIItem: URLQueryItem {
133135
.init(name: "redirect_uri", value: callbackURL)
134136
}
135137

136-
package var scopeItem: URLQueryItem {
138+
public var scopeItem: URLQueryItem {
137139
.init(name: "scope", value: scope.joined(separator: " "))
138140
}
139141

140-
package var codeResponseTypeItem: URLQueryItem {
142+
public var codeResponseTypeItem: URLQueryItem {
141143
.init(name: "response_type", value: "code")
142144
}
143145
}

Sources/ImperialCore/FederatedServiceTokens.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
/// }
2424
/// }
2525
/// ```
26-
package protocol FederatedServiceTokens: Sendable {
26+
/// Marked as public so that custom routers can be built
27+
public protocol FederatedServiceTokens: Sendable {
2728
/// The name of the environment variable that has the client ID.
2829
static var idEnvKey: String { get }
2930

0 commit comments

Comments
 (0)