|
1 | 1 | import type { EventBase } from "@hs/core/src/events/eventBase"; |
2 | | -import { createRoomCreateEvent } from "@hs/core/src/events/m.room.create"; |
3 | | -import { createRoomGuestAccessEvent } from "@hs/core/src/events/m.room.guest_access"; |
4 | | -import { createRoomHistoryVisibilityEvent } from "@hs/core/src/events/m.room.history_visibility"; |
5 | | -import { createRoomJoinRulesEvent } from "@hs/core/src/events/m.room.join_rules"; |
6 | | -import { createRoomMemberEvent } from "@hs/core/src/events/m.room.member"; |
7 | | -import { createRoomPowerLevelsEvent } from "@hs/core/src/events/m.room.power_levels"; |
| 2 | +import { |
| 3 | + createRoomCreateEvent, |
| 4 | + type RoomCreateEvent, |
| 5 | +} from "@hs/core/src/events/m.room.create"; |
| 6 | +import { |
| 7 | + createRoomGuestAccessEvent, |
| 8 | + type RoomGuestAccessEvent, |
| 9 | +} from "@hs/core/src/events/m.room.guest_access"; |
| 10 | +import { |
| 11 | + createRoomHistoryVisibilityEvent, |
| 12 | + type RoomHistoryVisibilityEvent, |
| 13 | +} from "@hs/core/src/events/m.room.history_visibility"; |
| 14 | +import { |
| 15 | + createRoomJoinRulesEvent, |
| 16 | + type RoomJoinRulesEvent, |
| 17 | +} from "@hs/core/src/events/m.room.join_rules"; |
| 18 | +import { |
| 19 | + createRoomMemberEvent, |
| 20 | + type RoomMemberEvent, |
| 21 | +} from "@hs/core/src/events/m.room.member"; |
| 22 | +import { |
| 23 | + createRoomPowerLevelsEvent, |
| 24 | + type RoomPowerLevelsEvent, |
| 25 | +} from "@hs/core/src/events/m.room.power_levels"; |
8 | 26 | import type { createSignedEvent } from "@hs/core/src/events/utils/createSignedEvent"; |
9 | 27 |
|
| 28 | +type IdAndEvent<T extends EventBase> = { |
| 29 | + event: T; |
| 30 | + _id: string; |
| 31 | +}; |
| 32 | + |
10 | 33 | export const createRoom = async ( |
11 | 34 | users: [sender: string, ...username: string[]], |
12 | 35 | makeSignedEvent: ReturnType<typeof createSignedEvent>, |
13 | 36 | roomId: string, |
14 | 37 | ): Promise<{ |
15 | 38 | roomId: string; |
16 | | - events: { |
17 | | - event: EventBase; |
18 | | - _id: string; |
19 | | - }[]; |
| 39 | + events: [ |
| 40 | + createEvent: IdAndEvent<RoomCreateEvent>, |
| 41 | + memberEvent: IdAndEvent<RoomMemberEvent>, |
| 42 | + powerLevelsEvent: IdAndEvent<RoomPowerLevelsEvent>, |
| 43 | + joinRulesEvent: IdAndEvent<RoomJoinRulesEvent>, |
| 44 | + historyVisibilityEvent: IdAndEvent<RoomHistoryVisibilityEvent>, |
| 45 | + guestAccessEvent: IdAndEvent<RoomGuestAccessEvent>, |
| 46 | + ]; |
20 | 47 | }> => { |
21 | 48 | // Create |
22 | 49 |
|
@@ -109,17 +136,15 @@ export const createRoom = async ( |
109 | 136 | depth: 6, |
110 | 137 | }); |
111 | 138 |
|
112 | | - const events = [ |
113 | | - createEvent, |
114 | | - memberEvent, |
115 | | - powerLevelsEvent, |
116 | | - joinRulesEvent, |
117 | | - historyVisibilityEvent, |
118 | | - guestAccessEvent, |
119 | | - ]; |
120 | | - |
121 | 139 | return { |
122 | 140 | roomId, |
123 | | - events: events as any, |
| 141 | + events: [ |
| 142 | + createEvent, |
| 143 | + memberEvent, |
| 144 | + powerLevelsEvent, |
| 145 | + joinRulesEvent, |
| 146 | + historyVisibilityEvent, |
| 147 | + guestAccessEvent, |
| 148 | + ], |
124 | 149 | }; |
125 | 150 | }; |
0 commit comments