@@ -3,6 +3,7 @@ package connector
33import (
44 "context"
55 "fmt"
6+ "strings"
67
78 "go.mau.fi/util/ptr"
89 "maunium.net/go/mautrix/bridgev2"
@@ -14,13 +15,21 @@ import (
1415)
1516
1617var (
17- _ bridgev2.GhostDMCreatingNetworkAPI = (* LinkedInClient )(nil )
18- _ bridgev2.GroupCreatingNetworkAPI = (* LinkedInClient )(nil )
18+ _ bridgev2.GhostDMCreatingNetworkAPI = (* LinkedInClient )(nil )
19+ _ bridgev2.GroupCreatingNetworkAPI = (* LinkedInClient )(nil )
20+ _ bridgev2.IdentifierValidatingNetwork = (* LinkedInConnector )(nil )
1921)
2022
23+ func (l * LinkedInConnector ) ValidateUserID (id networkid.UserID ) bool {
24+ return strings .HasPrefix (string (id ), "ACoAA" )
25+ }
26+
2127func (l * LinkedInClient ) ResolveIdentifier (ctx context.Context , identifier string , createChat bool ) (* bridgev2.ResolveIdentifierResponse , error ) {
2228 id := networkid .UserID (identifier )
23- ghost , _ := l .main .Bridge .GetGhostByID (ctx , id )
29+ ghost , err := l .main .Bridge .GetGhostByID (ctx , id )
30+ if err != nil {
31+ return nil , err
32+ }
2433 var chat * bridgev2.CreateChatResponse
2534 if createChat {
2635 portal , _ := ghost .Bridge .GetDMPortal (ctx , l .userLogin .ID , id )
@@ -64,7 +73,7 @@ func (l *LinkedInClient) CreateChatWithGhost(ctx context.Context, ghost *bridgev
6473
6574func (l * LinkedInClient ) CreateGroup (ctx context.Context , params * bridgev2.GroupCreateParams ) (* bridgev2.CreateChatResponse , error ) {
6675 chatInfo := & bridgev2.ChatInfo {
67- Type : ptr .Ptr (database .RoomTypeGroupDM ),
76+ Type : ptr .Ptr (database .RoomTypeDefault ),
6877 Name : ptr .Ptr (params .Name .Name ),
6978 Members : & bridgev2.ChatMemberList {
7079 MemberMap : map [networkid.UserID ]bridgev2.ChatMember {},
0 commit comments