8
8
AmplifyServer ,
9
9
} from '@aws-amplify/core/internals/adapter-core' ;
10
10
import {
11
- V6Client ,
12
- V6ClientSSR ,
11
+ V6ClientSSRRequest ,
12
+ V6ClientSSRCookies ,
13
13
GraphQLMethod ,
14
14
GraphQLMethodSSR ,
15
15
__amplify ,
@@ -18,6 +18,20 @@ import {
18
18
import { NextServer } from '../types' ;
19
19
import { createServerRunnerForAPI } from './createServerRunnerForAPI' ;
20
20
import { getAmplifyConfig } from '../utils' ;
21
+ import { GraphQLAuthMode } from '@aws-amplify/core/internals/utils' ;
22
+
23
+ type CookiesClientParams = {
24
+ cookies : NextServer . ServerComponentContext [ 'cookies' ] ;
25
+ config : NextServer . CreateServerRunnerInput [ 'config' ] ;
26
+ authMode ?: GraphQLAuthMode ;
27
+ authToken ?: string ;
28
+ } ;
29
+
30
+ type ReqClientParams = {
31
+ config : NextServer . CreateServerRunnerInput [ 'config' ] ;
32
+ authMode ?: GraphQLAuthMode ;
33
+ authToken ?: string ;
34
+ } ;
21
35
22
36
/**
23
37
* Generates an API client that can be used inside a Next.js Server Component with Dynamic Rendering
@@ -33,8 +47,9 @@ export function generateServerClientUsingCookies<
33
47
> ( {
34
48
config,
35
49
cookies,
36
- } : NextServer . ServerComponentContext &
37
- NextServer . CreateServerRunnerInput ) : V6Client < T > {
50
+ authMode,
51
+ authToken,
52
+ } : CookiesClientParams ) : V6ClientSSRCookies < T > {
38
53
if ( typeof cookies !== 'function' ) {
39
54
throw new AmplifyServerContextError ( {
40
55
message :
@@ -58,9 +73,11 @@ export function generateServerClientUsingCookies<
58
73
fn ( getAmplifyServerContext ( contextSpec ) . amplify ) ,
59
74
} ) ;
60
75
61
- return generateServerClient < T , V6Client < T > > ( {
76
+ return generateServerClient < T , V6ClientSSRCookies < T > > ( {
62
77
amplify : getAmplify ,
63
78
config : resourcesConfig ,
79
+ authMode,
80
+ authToken,
64
81
} ) ;
65
82
}
66
83
@@ -82,13 +99,15 @@ export function generateServerClientUsingCookies<
82
99
*/
83
100
export function generateServerClientUsingReqRes <
84
101
T extends Record < any , any > = never
85
- > ( { config } : NextServer . CreateServerRunnerInput ) : V6ClientSSR < T > {
102
+ > ( { config, authMode , authToken } : ReqClientParams ) : V6ClientSSRRequest < T > {
86
103
const amplifyConfig = getAmplifyConfig ( config ) ;
87
104
// passing `null` instance because each (future model) method must retrieve a valid instance
88
105
// from server context
89
- const client = generateServerClient < T , V6ClientSSR < T > > ( {
106
+ const client = generateServerClient < T , V6ClientSSRRequest < T > > ( {
90
107
amplify : null ,
91
108
config : amplifyConfig ,
109
+ authMode,
110
+ authToken,
92
111
} ) ;
93
112
94
113
// TODO: improve this and the next type
0 commit comments