2023-07-12 11:28:07 +03:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "x-ua-compatible" content = "ie=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2023-07-25 10:58:48 +03:00
< meta name = "generator" content = "ExDoc v0.30.3" >
2023-07-12 11:28:07 +03:00
< meta name = "project" content = "Plausible v0.0.1" >
< title > Plausible.Sites — Plausible v0.0.1< / title >
2023-07-25 10:58:48 +03:00
< link rel = "stylesheet" href = "dist/html-elixir-P5GXSCHE.css" / >
2023-07-12 11:28:07 +03:00
< script src = "dist/handlebars.runtime-NWIB6V2M.js" > < / script >
2023-07-25 10:58:48 +03:00
< script src = "dist/handlebars.templates-NBND3S2D.js" > < / script >
2023-10-17 14:16:17 +03:00
< script src = "dist/sidebar_items-7ADC1E66.js" > < / script >
2023-07-12 11:28:07 +03:00
< script src = "docs_config.js" > < / script >
2023-07-25 10:58:48 +03:00
< script async src = "dist/html-CGDDOCMI.js" > < / script >
2023-07-12 11:28:07 +03:00
< / head >
< body data-type = "modules" class = "page-module" >
< script >
try {
var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
if (settings.theme === 'dark' ||
((settings.theme === 'system' || settings.theme == null) & &
window.matchMedia('(prefers-color-scheme: dark)').matches)
) {
document.body.classList.add('dark')
}
} catch (error) { }
< / script >
< div class = "main" >
< button class = "sidebar-button sidebar-toggle" aria-label = "toggle sidebar" >
< i class = "ri-menu-line ri-lg" title = "Collapse/expand sidebar" > < / i >
< / button >
< section class = "sidebar" >
< form class = "sidebar-search" action = "search.html" >
< button type = "submit" class = "search-button" aria-label = "Submit Search" >
< i class = "ri-search-2-line" aria-hidden = "true" title = "Submit search" > < / i >
< / button >
< button type = "button" tabindex = "-1" class = "search-close-button" aria-label = "Cancel Search" >
< i class = "ri-close-line ri-lg" aria-hidden = "true" title = "Cancel search" > < / i >
< / button >
< label class = "search-label" >
< p class = "sr-only" > Search< / p >
< input name = "q" type = "text" class = "search-input" placeholder = "Search..." aria-label = "Input your search terms" autocomplete = "off" autocorrect = "off" autocapitalize = "off" spellcheck = "false" / >
< / label >
< / form >
< div class = "autocomplete" >
< div class = "autocomplete-results" >
< / div >
< / div >
< div class = "sidebar-header" >
< a href = "readme.html" >
< img src = "assets/logo.png" alt = "Plausible" class = "sidebar-projectImage" >
< / a >
< div class = "sidebar-projectDetails" >
< a href = "readme.html" class = "sidebar-projectName" translate = "no" >
Plausible
< / a >
< div class = "sidebar-projectVersion" translate = "no" >
v0.0.1
< / div >
< / div >
< ul class = "sidebar-listNav" >
< li > < a id = "extras-list-link" href = "#full-list" > Pages< / a > < / li >
< li > < a id = "modules-list-link" href = "#full-list" > Modules< / a > < / li >
< li > < a id = "tasks-list-link" href = "#full-list" > < span translate = "no" > Mix< / span > Tasks< / a > < / li >
< / ul >
< / div >
< div class = "gradient" > < / div >
< ul id = "full-list" > < / ul >
< / section >
< section class = "content" >
< output role = "status" id = "toast" > < / output >
< div class = "content-outer" >
< div id = "content" class = "content-inner" >
< h1 >
< button class = "icon-action display-settings" >
< i class = "ri-settings-3-line" > < / i >
< span class = "sr-only" > Settings< / span >
< / button >
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L1" title = "View Source" class = "icon-action" rel = "help" >
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< span translate = "no" > Plausible.Sites< / span >
< small class = "app-vsn" translate = "no" > (Plausible v0.0.1)< / small >
< / h1 >
< section id = "summary" class = "details-list" >
< h1 class = "section-heading" >
< a class = "hover-link" href = "#summary" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
2023-07-25 10:58:48 +03:00
Summary
2023-07-12 11:28:07 +03:00
< / a >
< / h1 >
2023-09-12 16:25:21 +03:00
< div class = "summary-types summary" >
< h2 >
< a href = "#types" > Types< / a >
< / h2 >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#t:invite_error/0" translate = "no" > invite_error()< / a >
< / div >
< / div >
< / div >
2023-07-12 11:28:07 +03:00
< div class = "summary-functions summary" >
< h2 >
< a href = "#functions" > Functions< / a >
< / h2 >
2023-09-12 16:25:21 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#bulk_transfer_ownership/4" translate = "no" > bulk_transfer_ownership(sites, inviter, invitee_email, opts \\ [])< / a >
< / div >
< / div >
2023-10-13 19:38:53 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#bulk_transfer_ownership_direct/2" translate = "no" > bulk_transfer_ownership_direct(sites, new_owner)< / a >
< / div >
< / div >
2023-07-12 11:28:07 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#create/2" translate = "no" > create(user, params)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#create_shared_link/3" translate = "no" > create_shared_link(site, name, password \\ nil)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#get_by_domain/1" translate = "no" > get_by_domain(domain)< / a >
< / div >
< / div >
2023-09-04 14:45:12 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#get_by_domain!/1" translate = "no" > get_by_domain!(domain)< / a >
< / div >
< / div >
2023-07-12 11:28:07 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#get_for_user/3" translate = "no" > get_for_user(user_id, domain, roles \\ [:owner, :admin, :viewer])< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#get_for_user!/3" translate = "no" > get_for_user!(user_id, domain, roles \\ [:owner, :admin, :viewer])< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#has_admin_access?/2" translate = "no" > has_admin_access?(user_id, site)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#has_goals?/1" translate = "no" > has_goals?(site)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#has_stats?/1" translate = "no" > has_stats?(site)< / a >
< / div >
< / div >
2023-09-04 15:56:06 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#invite/4" translate = "no" > invite(site, inviter, invitee_email, role)< / a >
< / div >
2023-09-12 10:07:08 +03:00
< div class = "summary-synopsis" > < p > Invites a new team member to the given site. Returns a
%Plausible.Auth.Invitation{} struct and sends the invitee an email to accept
this invitation.< / p > < / div >
2023-09-04 15:56:06 +03:00
< / div >
2023-07-12 11:28:07 +03:00
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#is_member?/2" translate = "no" > is_member?(user_id, site)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#locked?/1" translate = "no" > locked?(site)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#owned_site_ids/1" translate = "no" > owned_site_ids(user)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#owned_sites_count/1" translate = "no" > owned_sites_count(user)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#owned_sites_domains/1" translate = "no" > owned_sites_domains(user)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#role/2" translate = "no" > role(user_id, site)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#shared_link_url/2" translate = "no" > shared_link_url(site, link)< / a >
< / div >
< / div >
< div class = "summary-row" >
< div class = "summary-signature" >
< a href = "#stats_start_date/1" translate = "no" > stats_start_date(site)< / a >
< / div >
< div class = "summary-synopsis" > < p > Returns the date of the first event of the given site, or < code class = "inline" > nil< / code > if the site
does not have stats yet.< / p > < / div >
< / div >
< / div >
< / section >
2023-09-12 16:25:21 +03:00
< section id = "types" class = "details-list" >
< h1 class = "section-heading" >
< a class = "hover-link" href = "#types" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
Types
< / a >
< / h1 >
< div class = "types-list" >
< section class = "detail" id = "t:invite_error/0" >
< div class = "detail-header" >
< a href = "#t:invite_error/0" class = "detail-link" title = "Link to this type" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this type< / span >
< / a >
< h1 class = "signature" translate = "no" > invite_error()< / h1 >
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L6" class = "icon-action" rel = "help" title = "View Source" >
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< div class = "specs" >
< pre translate = "no" > < span class = "attribute" > @type< / span > invite_error() ::
< a href = "https://hexdocs.pm/ecto/3.10.3/Ecto.Changeset.html#t:t/0" > Ecto.Changeset.t< / a > ()
| :already_a_member
2023-10-02 15:58:47 +03:00
| :transfer_to_self
2023-09-12 16:25:21 +03:00
| {:over_limit, < a href = "https://hexdocs.pm/elixir/typespecs.html#basic-types" > non_neg_integer< / a > ()}
| :forbidden< / pre >
< / div >
< / section >
< / section >
< / div >
< / section >
2023-07-12 11:28:07 +03:00
< section id = "functions" class = "details-list" >
< h1 class = "section-heading" >
< a class = "hover-link" href = "#functions" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
Functions
2023-07-25 10:58:48 +03:00
< / a >
2023-07-12 11:28:07 +03:00
< / h1 >
< div class = "functions-list" >
2023-09-12 16:25:21 +03:00
< section class = "detail" id = "bulk_transfer_ownership/4" >
< span id = "bulk_transfer_ownership/3" > < / span >
< div class = "detail-header" >
< a href = "#bulk_transfer_ownership/4" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > bulk_transfer_ownership(sites, inviter, invitee_email, opts \\ [])< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L71" class = "icon-action" rel = "help" title = "View Source" >
2023-09-12 16:25:21 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< div class = "specs" >
< pre translate = "no" > < span class = "attribute" > @spec< / span > bulk_transfer_ownership(
[< a href = "Plausible.Site.html#t:t/0" > Plausible.Site.t< / a > ()],
< a href = "Plausible.Auth.User.html#t:t/0" > Plausible.Auth.User.t< / a > (),
< a href = "https://hexdocs.pm/elixir/String.html#t:t/0" > String.t< / a > (),
< a href = "https://hexdocs.pm/elixir/Keyword.html#t:t/0" > Keyword.t< / a > ()
) :: {:ok, [< a href = "Plausible.Auth.Invitation.html#t:t/0" > Plausible.Auth.Invitation.t< / a > ()]} | {:error, < a href = "#t:invite_error/0" > invite_error< / a > ()}< / pre >
< / div >
2023-10-13 19:38:53 +03:00
< / section >
< / section >
< section class = "detail" id = "bulk_transfer_ownership_direct/2" >
< div class = "detail-header" >
< a href = "#bulk_transfer_ownership_direct/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > bulk_transfer_ownership_direct(sites, new_owner)< / h1 >
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L52" class = "icon-action" rel = "help" title = "View Source" >
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< div class = "specs" >
< pre translate = "no" > < span class = "attribute" > @spec< / span > bulk_transfer_ownership_direct([< a href = "Plausible.Site.html#t:t/0" > Plausible.Site.t< / a > ()], < a href = "Plausible.Auth.User.html#t:t/0" > Plausible.Auth.User.t< / a > ()) ::
{:ok, [< a href = "Plausible.Site.Membership.html#t:t/0" > Plausible.Site.Membership.t< / a > ()]} | {:error, < a href = "#t:invite_error/0" > invite_error< / a > ()}< / pre >
< / div >
2023-09-12 16:25:21 +03:00
< / section >
< / section >
2023-07-12 11:28:07 +03:00
< section class = "detail" id = "create/2" >
< div class = "detail-header" >
< a href = "#create/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > create(user, params)< / h1 >
2023-10-02 15:58:47 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L21" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "create_shared_link/3" >
< span id = "create_shared_link/2" > < / span >
< div class = "detail-header" >
< a href = "#create_shared_link/3" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > create_shared_link(site, name, password \\ nil)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L212" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "get_by_domain/1" >
< div class = "detail-header" >
< a href = "#get_by_domain/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > get_by_domain(domain)< / h1 >
2023-10-02 15:58:47 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L13" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
2023-09-04 14:45:12 +03:00
< / section >
< / section >
< section class = "detail" id = "get_by_domain!/1" >
< div class = "detail-header" >
< a href = "#get_by_domain!/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > get_by_domain!(domain)< / h1 >
2023-10-02 15:58:47 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L17" class = "icon-action" rel = "help" title = "View Source" >
2023-09-04 14:45:12 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
2023-07-12 11:28:07 +03:00
< / section >
< / section >
< section class = "detail" id = "get_for_user/3" >
< span id = "get_for_user/2" > < / span >
< div class = "detail-header" >
< a href = "#get_for_user/3" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > get_for_user(user_id, domain, roles \\ [:owner, :admin, :viewer])< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L241" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "get_for_user!/3" >
< span id = "get_for_user!/2" > < / span >
< div class = "detail-header" >
< a href = "#get_for_user!/3" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > get_for_user!(user_id, domain, roles \\ [:owner, :admin, :viewer])< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L231" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "has_admin_access?/2" >
< div class = "detail-header" >
< a href = "#has_admin_access?/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > has_admin_access?(user_id, site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L274" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "has_goals?/1" >
< div class = "detail-header" >
< a href = "#has_goals?/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > has_goals?(site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L262" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "has_stats?/1" >
< div class = "detail-header" >
< a href = "#has_stats?/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > has_stats?(site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L208" class = "icon-action" rel = "help" title = "View Source" >
2023-09-04 15:56:06 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "invite/4" >
< div class = "detail-header" >
< a href = "#invite/4" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > invite(site, inviter, invitee_email, role)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L92" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
2023-09-04 15:56:06 +03:00
< div class = "specs" >
< pre translate = "no" > < span class = "attribute" > @spec< / span > invite(< a href = "Plausible.Site.html#t:t/0" > Plausible.Site.t< / a > (), < a href = "Plausible.Auth.User.html#t:t/0" > Plausible.Auth.User.t< / a > (), < a href = "https://hexdocs.pm/elixir/String.html#t:t/0" > String.t< / a > (), < a href = "https://hexdocs.pm/elixir/typespecs.html#basic-types" > atom< / a > ()) ::
2023-09-12 16:25:21 +03:00
{:ok, < a href = "Plausible.Auth.Invitation.html#t:t/0" > Plausible.Auth.Invitation.t< / a > ()} | {:error, < a href = "#t:invite_error/0" > invite_error< / a > ()}< / pre >
2023-09-04 15:56:06 +03:00
< / div >
2023-09-12 10:07:08 +03:00
< p > Invites a new team member to the given site. Returns a
%Plausible.Auth.Invitation{} struct and sends the invitee an email to accept
this invitation.< / p > < p > The inviter must have enough permissions to invite the new team member,
otherwise this function returns < code class = "inline" > {:error, :forbidden}< / code > .< / p > < p > If the new team member role is < code class = "inline" > :owner< / code > , this function handles the invitation
as an ownership transfer and requires the inviter to be the owner of the site.< / p >
2023-07-12 11:28:07 +03:00
< / section >
< / section >
< section class = "detail" id = "is_member?/2" >
< div class = "detail-header" >
< a href = "#is_member?/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > is_member?(user_id, site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L270" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "locked?/1" >
< div class = "detail-header" >
< a href = "#locked?/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > locked?(site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L278" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "owned_site_ids/1" >
< div class = "detail-header" >
< a href = "#owned_site_ids/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > owned_site_ids(user)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L304" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "owned_sites_count/1" >
< div class = "detail-header" >
< a href = "#owned_sites_count/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > owned_sites_count(user)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L291" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "owned_sites_domains/1" >
< div class = "detail-header" >
< a href = "#owned_sites_domains/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > owned_sites_domains(user)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L297" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "role/2" >
< div class = "detail-header" >
< a href = "#role/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > role(user_id, site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L282" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "shared_link_url/2" >
< div class = "detail-header" >
< a href = "#shared_link_url/2" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > shared_link_url(site, link)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L225" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< / section >
< / section >
< section class = "detail" id = "stats_start_date/1" >
< div class = "detail-header" >
< a href = "#stats_start_date/1" class = "detail-link" title = "Link to this function" >
< i class = "ri-link-m" aria-hidden = "true" > < / i >
< span class = "sr-only" > Link to this function< / span >
< / a >
< h1 class = "signature" translate = "no" > stats_start_date(site)< / h1 >
2023-10-13 19:38:53 +03:00
< a href = "https://github.com/plausible/analytics/blob/main/lib/plausible/sites.ex#L191" class = "icon-action" rel = "help" title = "View Source" >
2023-07-12 11:28:07 +03:00
< i class = "ri-code-s-slash-line" aria-hidden = "true" > < / i >
< span class = "sr-only" > View Source< / span >
< / a >
< / div >
< section class = "docstring" >
< div class = "specs" >
< pre translate = "no" > < span class = "attribute" > @spec< / span > stats_start_date(< a href = "Plausible.Site.html#t:t/0" > Plausible.Site.t< / a > ()) :: < a href = "https://hexdocs.pm/elixir/Date.html#t:t/0" > Date.t< / a > () | nil< / pre >
< / div >
< p > Returns the date of the first event of the given site, or < code class = "inline" > nil< / code > if the site
does not have stats yet.< / p > < p > If this is the first time the function is called for the site, it queries
Clickhouse and saves the date in the sites table.< / p >
< / section >
< / section >
< / div >
< / section >
< footer class = "footer" >
< p >
< span class = "line" >
< button class = "a-main footer-button display-quick-switch" title = "Search HexDocs packages" >
Search HexDocs
< / button >
< a href = "Plausible.epub" title = "ePub version" >
Download ePub version
< / a >
< / span >
< / p >
< p class = "built-using" >
Built using
2023-07-25 10:58:48 +03:00
< a href = "https://github.com/elixir-lang/ex_doc" title = "ExDoc" target = "_blank" rel = "help noopener" translate = "no" > ExDoc< / a > (v0.30.3) for the
2023-07-12 11:28:07 +03:00
< a href = "https://elixir-lang.org" title = "Elixir" target = "_blank" translate = "no" > Elixir programming language< / a >
< / p >
< / footer >
< / div >
< / div >
< / section >
< / div >
< script src = "https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js" > < / script >
< script > mermaid . initialize ( { startOnLoad : true } ) < / script >
< / body >
< / html >