Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
426b2e1
chore(deps-dev): bump aws-cdk-lib from 2.185.0 to 2.187.0 in /apollo/…
dependabot[bot] Apr 1, 2025
47cead4
release: Apollo AppSync Extensions 1.2.0 (#3014)
github-actions[bot] Apr 8, 2025
30c9f26
ci: Add instrumentation test log parsing and reporting to our test au…
vincetran Apr 9, 2025
71d9031
chore(auth): Move auto-sign-in to usecase (#3008)
mattcreaser Apr 9, 2025
179a95f
chore(auth): Move deleteUser to use case (#3015)
mattcreaser Apr 11, 2025
4476028
chore(auth): Refactor fetchAuthSession to useCase (#3017)
mattcreaser Apr 14, 2025
9dcbc9a
chore(deps-dev): bump aws-cdk-lib from 2.187.0 to 2.189.1 in /apollo/…
dependabot[bot] Apr 15, 2025
a5b0e9f
chore(all): Update KtLint to 1.5.0 (#3026)
mattcreaser Apr 21, 2025
4cf9f34
chore(auth): Fix failing integration tests (#3032)
mattcreaser Apr 28, 2025
bddf064
chore(all): Make all modules use test orchestrator (#3030)
mattcreaser Apr 28, 2025
d4cbe2c
chore(auth): Revert fetchAuthSession changes (#3033)
mattcreaser Apr 29, 2025
756b156
release: Amplify Android 2.27.3 (#3023)
github-actions[bot] Apr 30, 2025
fb4b15b
chore(all): Add code coverage thresholds (#2582)
mattcreaser Apr 30, 2025
09e5693
fix(logging): Fixes issue of logging category not initializing proper…
mattcreaser Apr 30, 2025
5251758
Update newly approved Events API
tylerjroach May 1, 2025
48b20d1
lint
tylerjroach May 1, 2025
01a0c5d
Merge branch 'main' into tjroach/update-events-api
tylerjroach May 1, 2025
e4aa205
only show unexpected recovery if no cause is provided
tylerjroach May 2, 2025
5b91258
Events class tests
tylerjroach May 5, 2025
16dfc88
websocket unit tests
tylerjroach May 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class AmplifyIamAuthorizer @VisibleForTesting internal constructor(

private val iamAuthorizer = IamAuthorizer { requestSigner.signAppSyncRequest(it, region) }

override suspend fun getAuthorizationHeaders(request: AppSyncRequest): Map<String, String> {
return iamAuthorizer.getAuthorizationHeaders(request)
}
override suspend fun getAuthorizationHeaders(request: AppSyncRequest) =
iamAuthorizer.getAuthorizationHeaders(request)
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ class AmplifyUserPoolAuthorizer @VisibleForTesting internal constructor(
fetchLatestAuthToken = accessTokenProvider::fetchLatestCognitoAuthToken
)

override suspend fun getAuthorizationHeaders(request: AppSyncRequest): Map<String, String> {
return authTokenAuthorizer.getAuthorizationHeaders(request)
}
override suspend fun getAuthorizationHeaders(request: AppSyncRequest) =
authTokenAuthorizer.getAuthorizationHeaders(request)
}

internal class AccessTokenProvider(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,27 +69,21 @@ internal class AppSyncRequestSigner(
return awsSigner.sign(request, signingConfig).output
}

private fun AppSyncRequest.toSmithyRequest(): HttpRequest {
return HttpRequest(
method = method.toSmithyMethod(),
url = Url.parse(url),
headers = createSmithyHeaders(headers),
body = body?.toHttpBody() ?: HttpBody.Empty
)
}
private fun AppSyncRequest.toSmithyRequest() = HttpRequest(
method = method.toSmithyMethod(),
url = Url.parse(url),
headers = createSmithyHeaders(headers),
body = body?.toHttpBody() ?: HttpBody.Empty
)

private fun AppSyncRequest.HttpMethod.toSmithyMethod(): aws.smithy.kotlin.runtime.http.HttpMethod {
return when (this) {
AppSyncRequest.HttpMethod.GET -> aws.smithy.kotlin.runtime.http.HttpMethod.GET
AppSyncRequest.HttpMethod.POST -> aws.smithy.kotlin.runtime.http.HttpMethod.POST
}
private fun AppSyncRequest.HttpMethod.toSmithyMethod() = when (this) {
AppSyncRequest.HttpMethod.GET -> aws.smithy.kotlin.runtime.http.HttpMethod.GET
AppSyncRequest.HttpMethod.POST -> aws.smithy.kotlin.runtime.http.HttpMethod.POST
}

private fun createSmithyHeaders(headers: Map<String, String>): Headers {
return Headers {
headers.forEach {
this.append(it.key, it.value)
}
private fun createSmithyHeaders(headers: Map<String, String>) = Headers {
headers.forEach {
this.append(it.key, it.value)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ interface AppSyncRequest {
val body: String?

enum class HttpMethod {
GET, POST
GET,
POST
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,5 @@ enum class LogLevel {
* @return true if the current level is above the threshold level
* @throws NullPointerException if threshold is null
*/
fun above(threshold: LogLevel): Boolean {
return this.ordinal > threshold.ordinal
}
fun above(threshold: LogLevel) = this.ordinal > threshold.ordinal
}
83 changes: 40 additions & 43 deletions appsync/aws-sdk-appsync-events/api/aws-sdk-appsync-events.api
Original file line number Diff line number Diff line change
Expand Up @@ -7,65 +7,62 @@ public final class com/amazonaws/sdk/appsync/events/BuildConfig {
}

public final class com/amazonaws/sdk/appsync/events/Events {
public fun <init> (Ljava/lang/String;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;Lcom/amazonaws/sdk/appsync/events/Events$Options;)V
public synthetic fun <init> (Ljava/lang/String;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;Lcom/amazonaws/sdk/appsync/events/Events$Options;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun channel (Ljava/lang/String;Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;)Lcom/amazonaws/sdk/appsync/events/EventsChannel;
public static synthetic fun channel$default (Lcom/amazonaws/sdk/appsync/events/Events;Ljava/lang/String;Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;ILjava/lang/Object;)Lcom/amazonaws/sdk/appsync/events/EventsChannel;
public final fun disconnect (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun disconnect$default (Lcom/amazonaws/sdk/appsync/events/Events;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public final fun getConnectAuthorizer ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun getDefaultChannelAuthorizers ()Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;
public fun <init> (Ljava/lang/String;)V
public final fun createRestClient (Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/Events$Options$Rest;)Lcom/amazonaws/sdk/appsync/events/EventsRestClient;
public static synthetic fun createRestClient$default (Lcom/amazonaws/sdk/appsync/events/Events;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/Events$Options$Rest;ILjava/lang/Object;)Lcom/amazonaws/sdk/appsync/events/EventsRestClient;
public final fun createWebSocketClient (Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/Events$Options$WebSocket;)Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;
public static synthetic fun createWebSocketClient$default (Lcom/amazonaws/sdk/appsync/events/Events;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/events/Events$Options$WebSocket;ILjava/lang/Object;)Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;
public final fun getEndpoint ()Ljava/lang/String;
public final fun publish (Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun publish (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/Events;Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/Events;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

public final class com/amazonaws/sdk/appsync/events/Events$Options {
public fun <init> ()V
public fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;)V
public abstract class com/amazonaws/sdk/appsync/events/Events$Options {
public synthetic fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Lcom/amazonaws/sdk/appsync/core/LoggerProvider;
public final fun component2 ()Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;
public final fun copy (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;)Lcom/amazonaws/sdk/appsync/events/Events$Options;
public static synthetic fun copy$default (Lcom/amazonaws/sdk/appsync/events/Events$Options;Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;ILjava/lang/Object;)Lcom/amazonaws/sdk/appsync/events/Events$Options;
public fun equals (Ljava/lang/Object;)Z
public synthetic fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun getLoggerProvider ()Lcom/amazonaws/sdk/appsync/core/LoggerProvider;
public final fun getOkHttpConfigurationProvider ()Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/amazonaws/sdk/appsync/events/EventsChannel {
public final fun getAuthorizers ()Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;
public final fun getName ()Ljava/lang/String;
public final fun publish (Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun publish (Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsChannel;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsChannel;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public final fun subscribe (Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;)Lkotlinx/coroutines/flow/Flow;
public static synthetic fun subscribe$default (Lcom/amazonaws/sdk/appsync/events/EventsChannel;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
public final class com/amazonaws/sdk/appsync/events/Events$Options$Rest : com/amazonaws/sdk/appsync/events/Events$Options {
public fun <init> ()V
public fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;)V
public synthetic fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
}

public abstract interface class com/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider {
public abstract fun applyConfiguration (Lokhttp3/OkHttpClient$Builder;)V
public final class com/amazonaws/sdk/appsync/events/Events$Options$WebSocket : com/amazonaws/sdk/appsync/events/Events$Options {
public fun <init> ()V
public fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;)V
public synthetic fun <init> (Lcom/amazonaws/sdk/appsync/core/LoggerProvider;Lcom/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
}

public final class com/amazonaws/sdk/appsync/events/data/BadRequestException : com/amazonaws/sdk/appsync/events/data/EventsException {
public final class com/amazonaws/sdk/appsync/events/EventsRestClient {
public final fun getOptions ()Lcom/amazonaws/sdk/appsync/events/Events$Options$Rest;
public final fun getPublishAuthorizer ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun publish (Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun publish (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsRestClient;Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsRestClient;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

public final class com/amazonaws/sdk/appsync/events/data/ChannelAuthorizers {
public fun <init> (Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;)V
public final fun component1 ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun component2 ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun copy (Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;)Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;
public static synthetic fun copy$default (Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;ILjava/lang/Object;)Lcom/amazonaws/sdk/appsync/events/data/ChannelAuthorizers;
public fun equals (Ljava/lang/Object;)Z
public final class com/amazonaws/sdk/appsync/events/EventsWebSocketClient {
public final fun disconnect (ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun disconnect$default (Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public final fun getConnectAuthorizer ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun getOptions ()Lcom/amazonaws/sdk/appsync/events/Events$Options$WebSocket;
public final fun getPublishAuthorizer ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public final fun getSubscribeAuthorizer ()Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
public final fun publish (Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun publish (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;Ljava/lang/String;Ljava/util/List;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static synthetic fun publish$default (Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public final fun subscribe (Ljava/lang/String;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;)Lkotlinx/coroutines/flow/Flow;
public static synthetic fun subscribe$default (Lcom/amazonaws/sdk/appsync/events/EventsWebSocketClient;Ljava/lang/String;Lcom/amazonaws/sdk/appsync/core/AppSyncAuthorizer;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
}

public abstract interface class com/amazonaws/sdk/appsync/events/OkHttpConfigurationProvider {
public abstract fun applyConfiguration (Lokhttp3/OkHttpClient$Builder;)V
}

public final class com/amazonaws/sdk/appsync/events/data/BadRequestException : com/amazonaws/sdk/appsync/events/data/EventsException {
}

public final class com/amazonaws/sdk/appsync/events/data/ConnectException : com/amazonaws/sdk/appsync/events/data/EventsException {
Expand Down
Loading