Hello all, for background I’m using Phoenix and writing a plug to handle authorization for different routes in the app.
I’m testing to see if a user is a member of an organization for the organization resource and several other nested resources.
pipeline :organization_members_only do
plug :user_is_organization_member
end
scope "/" do
pipe_through :organization_members_only
resource "/organizations/", OrganizationController do
resources "/events", EventController
resources "/tools", ToolController
resources "/contents", ContentController
end
end
The conn variable holds the path params, which I am pattern matching to get the ID of the organization and check with a list of the user’s organizations.
%{"id" => id, "organization_id" => organization_id} = conn.path_params
if organization_id == nil do
String.to_integer(id)
else
String.to_integer(organization_id)
end
So the issue is, sometimes the organization_id is stored in the path_params as “id” and sometimes it is stored as “organization_id”
How do I pattern match in this situation?