Implement client invite endpoint
Refactor room server to automatically determine auth events Add documentation in various places
This commit is contained in:
parent
6f8c224d50
commit
bcc6cbb24b
15 changed files with 345 additions and 209 deletions
|
@ -20,9 +20,12 @@ defmodule MatrixServer.StateResolution.Authorization do
|
|||
do: prev_events == []
|
||||
|
||||
# Check rule: 5.2.1
|
||||
def authorized?(%Event{type: "m.room.member", state_key: state_key}, %{
|
||||
{"m.room.create", ""} => %Event{content: %{"creator" => creator}}
|
||||
}),
|
||||
def authorized?(
|
||||
%Event{type: "m.room.member", state_key: state_key, prev_events: [create_id]},
|
||||
%{
|
||||
{"m.room.create", ""} => %Event{event_id: create_id, content: %{"creator" => creator}}
|
||||
}
|
||||
),
|
||||
do: state_key == creator
|
||||
|
||||
def authorized?(
|
||||
|
@ -309,6 +312,9 @@ defmodule MatrixServer.StateResolution.Authorization do
|
|||
|> Repo.all()
|
||||
|> Enum.reduce(%{}, &update_state_set/2)
|
||||
|
||||
IO.inspect(event)
|
||||
IO.inspect(state_set)
|
||||
|
||||
authorized?(event, state_set)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue