File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -275,6 +275,7 @@ export default class WhatsAppAPI implements PlatformAPI {
275275 if ( this . connState . connection === 'close' ) {
276276 throw this . connState . lastDisconnect ?. error || new ConnectionError ( 'failed to open' )
277277 }
278+ this . getSubscribedNewsletters ( )
278279 } catch ( error ) {
279280 this . logger . info ( { msSinceConnect, trace : error . stack } , 'connect failed' )
280281
@@ -1153,4 +1154,29 @@ export default class WhatsAppAPI implements PlatformAPI {
11531154 await repo . remove ( expiredMessages )
11541155 } while ( expiredMessages . length > 0 )
11551156 }
1157+
1158+ private getSubscribedNewsletters = async ( ) => {
1159+ const subscribedNewsletters = await this . client ?. getSubscribedNewsletters ( )
1160+ if ( subscribedNewsletters ) {
1161+ await Promise . all ( subscribedNewsletters . map ( async newsletter => {
1162+ const thread = new DBThread ( )
1163+ thread . original = {
1164+ chat : {
1165+ id : newsletter . id ,
1166+ name : newsletter . threadMetadata . name . text ,
1167+ createdAt : newsletter . threadMetadata . creationTime ,
1168+ } ,
1169+ metadata : undefined ,
1170+ }
1171+ thread . shouldFireEvent = false
1172+ thread . mapFromOriginal ( this )
1173+ // eslint-disable-next-line no-debugger
1174+ debugger
1175+ await this . db . transaction ( async db => {
1176+ await db . getRepository ( DBThread ) . save ( thread )
1177+ } )
1178+ } ) )
1179+ }
1180+ return subscribedNewsletters
1181+ }
11561182}
You can’t perform that action at this time.
0 commit comments