mirror of
https://github.com/plausible/analytics.git
synced 2024-12-30 04:52:13 +03:00
e71de6dc1f
* Invite existing user to a site * Add invitation flow for non-existing users * Accept and reject invitations * Use invitation flow for existing users * Locking mechanism for sites * Authorization for site settings * Show usage based on site ownership * Add ability to remove members from a site * Do not show settings link to viewer roles * Ability to remove invitations * Remove `Plausible.Sites.count_for/1` * Fix tests * Do not show the trial banner after the trial * Correct trial emails * Transfer ownership * Send invitation email to existing user * Add invitation email flows * Add plug for role-based authorization * Rename AuthorizeStatsPlug -> AuthorizeSiteAccess * Add email flow for ownership transfer * Fix URLs in emails * Fix small copy issues * Make 'People' its own section in site settings * Notify user via email if their access has been removed * Check site lock status when invitation is accepted * Check lock status when user subscribes * Make sure only admins and owners can create shared links * Changelog * Add LockSites to daily cron * Clean invitations after 48 hours * Add notices about expiry * Add invitation expired page * Add doc link
19 lines
509 B
Elixir
19 lines
509 B
Elixir
defmodule Plausible.Repo.Migrations.AddInvitations do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
create table(:invitations) do
|
|
add :email, :string, null: false
|
|
add :site_id, references(:sites), null: false
|
|
add :inviter_id, references(:users), null: false
|
|
add :role, :site_membership_role, null: false
|
|
add :invitation_id, :string
|
|
|
|
timestamps()
|
|
end
|
|
|
|
create unique_index(:invitations, [:site_id, :email])
|
|
create unique_index(:invitations, :invitation_id)
|
|
end
|
|
end
|