@@ -48,11 +48,11 @@ export async function getWebPushCertificateInsertSerialOperations(
48
48
deep,
49
49
webPushCertificate,
50
50
containValue,
51
- containerLinkId,
52
51
shouldMakeActive = false
53
52
} = param ;
53
+ const containerLinkId = param . containerLinkId !== null ? param . containerLinkId ?? deep . linkId : null ;
54
54
const reservedLinkIds = await getReservedLinkIds ( ) ;
55
- const { containLinkId, webPushCertificateLinkId, usesWebPushCertificateLinkId } = reservedLinkIds ;
55
+ const { containForWebPushCertificateLinkId : containLinkId , webPushCertificateLinkId, usesWebPushCertificateLinkId, containForUsesWebPushCertificateLinkId } = reservedLinkIds ;
56
56
const typeLinkIds = await getTypeLinkIds ( ) ;
57
57
const { containTypeLinkId, webPushCertificateTypeLinkId , usesWebPushCertificateTypeLinkId} = typeLinkIds ;
58
58
const serialOperations = [ ] ;
@@ -81,7 +81,7 @@ export async function getWebPushCertificateInsertSerialOperations(
81
81
objects : {
82
82
id : containLinkId ,
83
83
type_id : containTypeLinkId ,
84
- from_id : containerLinkId || deep . linkId ,
84
+ from_id : containerLinkId ,
85
85
to_id : webPushCertificateLinkId ,
86
86
} ,
87
87
} ) ;
@@ -109,6 +109,19 @@ export async function getWebPushCertificateInsertSerialOperations(
109
109
} ,
110
110
} )
111
111
serialOperations . push ( usesWebPushCertificateInsertSerialOperation ) ;
112
+ if ( containerLinkId !== null ) {
113
+ const containForUsesWebPushCertificateInsertSerialOperation = createSerialOperation ( {
114
+ type : 'insert' ,
115
+ table : 'links' ,
116
+ objects : {
117
+ id : containForUsesWebPushCertificateLinkId ,
118
+ type_id : containTypeLinkId ,
119
+ from_id : containerLinkId ,
120
+ to_id : usesWebPushCertificateLinkId ,
121
+ }
122
+ } )
123
+ serialOperations . push ( containForUsesWebPushCertificateInsertSerialOperation ) ;
124
+ }
112
125
}
113
126
114
127
return {
@@ -125,22 +138,25 @@ export async function getWebPushCertificateInsertSerialOperations(
125
138
126
139
async function getReservedLinkIds ( ) : Promise < GetReservedLinkIdsResult > {
127
140
let result : GetReservedLinkIdsResult = {
128
- containLinkId : 0 ,
141
+ containForWebPushCertificateLinkId : 0 ,
129
142
webPushCertificateLinkId : 0 ,
130
- usesWebPushCertificateLinkId : 0
143
+ usesWebPushCertificateLinkId : 0 ,
144
+ containForUsesWebPushCertificateLinkId : 0
131
145
} ;
132
146
const linksToReserveCount =
133
147
Object . keys ( result ) . length -
134
148
Object . keys ( param . reservedLinkIds || { } ) . length ;
135
149
const reservedLinkIds : number [ ] =
136
150
linksToReserveCount > 0 ? await deep . reserve ( linksToReserveCount ) : [ ] ;
137
151
result = {
138
- containLinkId :
139
- param . reservedLinkIds ?. containLinkId ?? reservedLinkIds . pop ( ) ! ,
152
+ containForWebPushCertificateLinkId :
153
+ param . reservedLinkIds ?. containForWebPushCertificateLinkId ?? reservedLinkIds . pop ( ) ! ,
140
154
webPushCertificateLinkId :
141
155
param . reservedLinkIds ?. webPushCertificateLinkId ?? reservedLinkIds . pop ( ) ! ,
142
156
usesWebPushCertificateLinkId :
143
157
param . reservedLinkIds ?. usesWebPushCertificateLinkId ?? reservedLinkIds . pop ( ) ! ,
158
+ containForUsesWebPushCertificateLinkId :
159
+ param . reservedLinkIds ?. containForUsesWebPushCertificateLinkId ?? reservedLinkIds . pop ( ) ! ,
144
160
} ;
145
161
return result ;
146
162
}
@@ -177,11 +193,15 @@ export interface GetWebPushCertificateInsertSerialOperationsParam {
177
193
/**
178
194
* Reserved link id for the contain
179
195
*/
180
- containLinkId ?: number ;
196
+ containForWebPushCertificateLinkId ?: number ;
181
197
/**
182
198
* Reserved link id for the usesWebPushCertificate
183
199
*/
184
200
usesWebPushCertificateLinkId ?: number ;
201
+ /**
202
+ * Reserved link id for the contain for usesServiceAccount
203
+ */
204
+ containForUsesWebPushCertificateLinkId ?: number ;
185
205
} ;
186
206
/**
187
207
* Link ids of types that will be used in the serial operations
0 commit comments