--
-- PostgreSQL database dump
--

-- Dumped from database version 17.4
-- Dumped by pg_dump version 17.5 (Ubuntu 17.5-1.pgdg24.04+1)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: auth; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA auth;


--
-- Name: extensions; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA extensions;


--
-- Name: graphql; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA graphql;


--
-- Name: graphql_public; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA graphql_public;


--
-- Name: pgbouncer; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA pgbouncer;


--
-- Name: pgsodium; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA pgsodium;


--
-- Name: pgsodium; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS pgsodium WITH SCHEMA pgsodium;


--
-- Name: EXTENSION pgsodium; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION pgsodium IS 'Pgsodium is a modern cryptography library for Postgres.';


--
-- Name: realtime; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA realtime;


--
-- Name: storage; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA storage;


--
-- Name: supabase_migrations; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA supabase_migrations;


--
-- Name: vault; Type: SCHEMA; Schema: -; Owner: -
--

CREATE SCHEMA vault;


--
-- Name: pg_graphql; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS pg_graphql WITH SCHEMA graphql;


--
-- Name: EXTENSION pg_graphql; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION pg_graphql IS 'pg_graphql: GraphQL support';


--
-- Name: pg_stat_statements; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS pg_stat_statements WITH SCHEMA extensions;


--
-- Name: EXTENSION pg_stat_statements; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION pg_stat_statements IS 'track planning and execution statistics of all SQL statements executed';


--
-- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA extensions;


--
-- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';


--
-- Name: pgjwt; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS pgjwt WITH SCHEMA extensions;


--
-- Name: EXTENSION pgjwt; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION pgjwt IS 'JSON Web Token API for Postgresql';


--
-- Name: supabase_vault; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS supabase_vault WITH SCHEMA vault;


--
-- Name: EXTENSION supabase_vault; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION supabase_vault IS 'Supabase Vault Extension';


--
-- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA extensions;


--
-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';


--
-- Name: aal_level; Type: TYPE; Schema: auth; Owner: -
--

CREATE TYPE auth.aal_level AS ENUM (
    'aal1',
    'aal2',
    'aal3'
);


--
-- Name: code_challenge_method; Type: TYPE; Schema: auth; Owner: -
--

CREATE TYPE auth.code_challenge_method AS ENUM (
    's256',
    'plain'
);


--
-- Name: factor_status; Type: TYPE; Schema: auth; Owner: -
--

CREATE TYPE auth.factor_status AS ENUM (
    'unverified',
    'verified'
);


--
-- Name: factor_type; Type: TYPE; Schema: auth; Owner: -
--

CREATE TYPE auth.factor_type AS ENUM (
    'totp',
    'webauthn',
    'phone'
);


--
-- Name: one_time_token_type; Type: TYPE; Schema: auth; Owner: -
--

CREATE TYPE auth.one_time_token_type AS ENUM (
    'confirmation_token',
    'reauthentication_token',
    'recovery_token',
    'email_change_token_new',
    'email_change_token_current',
    'phone_change_token'
);


--
-- Name: payment_method; Type: TYPE; Schema: public; Owner: -
--

CREATE TYPE public.payment_method AS ENUM (
    'PAYPAL',
    'CRYPTO',
    'ADMIN'
);


--
-- Name: payment_status; Type: TYPE; Schema: public; Owner: -
--

CREATE TYPE public.payment_status AS ENUM (
    'PENDING',
    'COMPLETED',
    'FAILED',
    'CANCELLED'
);


--
-- Name: task_type; Type: TYPE; Schema: public; Owner: -
--

CREATE TYPE public.task_type AS ENUM (
    'monitor',
    'quickMessage',
    'joinGroup',
    'scrapeLinks'
);


--
-- Name: action; Type: TYPE; Schema: realtime; Owner: -
--

CREATE TYPE realtime.action AS ENUM (
    'INSERT',
    'UPDATE',
    'DELETE',
    'TRUNCATE',
    'ERROR'
);


--
-- Name: equality_op; Type: TYPE; Schema: realtime; Owner: -
--

CREATE TYPE realtime.equality_op AS ENUM (
    'eq',
    'neq',
    'lt',
    'lte',
    'gt',
    'gte',
    'in'
);


--
-- Name: user_defined_filter; Type: TYPE; Schema: realtime; Owner: -
--

CREATE TYPE realtime.user_defined_filter AS (
	column_name text,
	op realtime.equality_op,
	value text
);


--
-- Name: wal_column; Type: TYPE; Schema: realtime; Owner: -
--

CREATE TYPE realtime.wal_column AS (
	name text,
	type_name text,
	type_oid oid,
	value jsonb,
	is_pkey boolean,
	is_selectable boolean
);


--
-- Name: wal_rls; Type: TYPE; Schema: realtime; Owner: -
--

CREATE TYPE realtime.wal_rls AS (
	wal jsonb,
	is_rls_enabled boolean,
	subscription_ids uuid[],
	errors text[]
);


--
-- Name: email(); Type: FUNCTION; Schema: auth; Owner: -
--

CREATE FUNCTION auth.email() RETURNS text
    LANGUAGE sql STABLE
    AS $$
  select 
  coalesce(
    nullif(current_setting('request.jwt.claim.email', true), ''),
    (nullif(current_setting('request.jwt.claims', true), '')::jsonb ->> 'email')
  )::text
$$;


--
-- Name: FUNCTION email(); Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON FUNCTION auth.email() IS 'Deprecated. Use auth.jwt() -> ''email'' instead.';


--
-- Name: jwt(); Type: FUNCTION; Schema: auth; Owner: -
--

CREATE FUNCTION auth.jwt() RETURNS jsonb
    LANGUAGE sql STABLE
    AS $$
  select 
    coalesce(
        nullif(current_setting('request.jwt.claim', true), ''),
        nullif(current_setting('request.jwt.claims', true), '')
    )::jsonb
$$;


--
-- Name: role(); Type: FUNCTION; Schema: auth; Owner: -
--

CREATE FUNCTION auth.role() RETURNS text
    LANGUAGE sql STABLE
    AS $$
  select 
  coalesce(
    nullif(current_setting('request.jwt.claim.role', true), ''),
    (nullif(current_setting('request.jwt.claims', true), '')::jsonb ->> 'role')
  )::text
$$;


--
-- Name: FUNCTION role(); Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON FUNCTION auth.role() IS 'Deprecated. Use auth.jwt() -> ''role'' instead.';


--
-- Name: uid(); Type: FUNCTION; Schema: auth; Owner: -
--

CREATE FUNCTION auth.uid() RETURNS uuid
    LANGUAGE sql STABLE
    AS $$
  select 
  coalesce(
    nullif(current_setting('request.jwt.claim.sub', true), ''),
    (nullif(current_setting('request.jwt.claims', true), '')::jsonb ->> 'sub')
  )::uuid
$$;


--
-- Name: FUNCTION uid(); Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON FUNCTION auth.uid() IS 'Deprecated. Use auth.jwt() -> ''sub'' instead.';


--
-- Name: grant_pg_cron_access(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.grant_pg_cron_access() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $$
BEGIN
  IF EXISTS (
    SELECT
    FROM pg_event_trigger_ddl_commands() AS ev
    JOIN pg_extension AS ext
    ON ev.objid = ext.oid
    WHERE ext.extname = 'pg_cron'
  )
  THEN
    grant usage on schema cron to postgres with grant option;

    alter default privileges in schema cron grant all on tables to postgres with grant option;
    alter default privileges in schema cron grant all on functions to postgres with grant option;
    alter default privileges in schema cron grant all on sequences to postgres with grant option;

    alter default privileges for user supabase_admin in schema cron grant all
        on sequences to postgres with grant option;
    alter default privileges for user supabase_admin in schema cron grant all
        on tables to postgres with grant option;
    alter default privileges for user supabase_admin in schema cron grant all
        on functions to postgres with grant option;

    grant all privileges on all tables in schema cron to postgres with grant option;
    revoke all on table cron.job from postgres;
    grant select on table cron.job to postgres with grant option;
  END IF;
END;
$$;


--
-- Name: FUNCTION grant_pg_cron_access(); Type: COMMENT; Schema: extensions; Owner: -
--

COMMENT ON FUNCTION extensions.grant_pg_cron_access() IS 'Grants access to pg_cron';


--
-- Name: grant_pg_graphql_access(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.grant_pg_graphql_access() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $_$
DECLARE
    func_is_graphql_resolve bool;
BEGIN
    func_is_graphql_resolve = (
        SELECT n.proname = 'resolve'
        FROM pg_event_trigger_ddl_commands() AS ev
        LEFT JOIN pg_catalog.pg_proc AS n
        ON ev.objid = n.oid
    );

    IF func_is_graphql_resolve
    THEN
        -- Update public wrapper to pass all arguments through to the pg_graphql resolve func
        DROP FUNCTION IF EXISTS graphql_public.graphql;
        create or replace function graphql_public.graphql(
            "operationName" text default null,
            query text default null,
            variables jsonb default null,
            extensions jsonb default null
        )
            returns jsonb
            language sql
        as $$
            select graphql.resolve(
                query := query,
                variables := coalesce(variables, '{}'),
                "operationName" := "operationName",
                extensions := extensions
            );
        $$;

        -- This hook executes when `graphql.resolve` is created. That is not necessarily the last
        -- function in the extension so we need to grant permissions on existing entities AND
        -- update default permissions to any others that are created after `graphql.resolve`
        grant usage on schema graphql to postgres, anon, authenticated, service_role;
        grant select on all tables in schema graphql to postgres, anon, authenticated, service_role;
        grant execute on all functions in schema graphql to postgres, anon, authenticated, service_role;
        grant all on all sequences in schema graphql to postgres, anon, authenticated, service_role;
        alter default privileges in schema graphql grant all on tables to postgres, anon, authenticated, service_role;
        alter default privileges in schema graphql grant all on functions to postgres, anon, authenticated, service_role;
        alter default privileges in schema graphql grant all on sequences to postgres, anon, authenticated, service_role;

        -- Allow postgres role to allow granting usage on graphql and graphql_public schemas to custom roles
        grant usage on schema graphql_public to postgres with grant option;
        grant usage on schema graphql to postgres with grant option;
    END IF;

END;
$_$;


--
-- Name: FUNCTION grant_pg_graphql_access(); Type: COMMENT; Schema: extensions; Owner: -
--

COMMENT ON FUNCTION extensions.grant_pg_graphql_access() IS 'Grants access to pg_graphql';


--
-- Name: grant_pg_net_access(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.grant_pg_net_access() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $$
BEGIN
  IF EXISTS (
    SELECT 1
    FROM pg_event_trigger_ddl_commands() AS ev
    JOIN pg_extension AS ext
    ON ev.objid = ext.oid
    WHERE ext.extname = 'pg_net'
  )
  THEN
    IF NOT EXISTS (
      SELECT 1
      FROM pg_roles
      WHERE rolname = 'supabase_functions_admin'
    )
    THEN
      CREATE USER supabase_functions_admin NOINHERIT CREATEROLE LOGIN NOREPLICATION;
    END IF;

    GRANT USAGE ON SCHEMA net TO supabase_functions_admin, postgres, anon, authenticated, service_role;

    IF EXISTS (
      SELECT FROM pg_extension
      WHERE extname = 'pg_net'
      -- all versions in use on existing projects as of 2025-02-20
      -- version 0.12.0 onwards don't need these applied
      AND extversion IN ('0.2', '0.6', '0.7', '0.7.1', '0.8', '0.10.0', '0.11.0')
    ) THEN
      ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER;
      ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SECURITY DEFINER;

      ALTER function net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net;
      ALTER function net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) SET search_path = net;

      REVOKE ALL ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC;
      REVOKE ALL ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) FROM PUBLIC;

      GRANT EXECUTE ON FUNCTION net.http_get(url text, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role;
      GRANT EXECUTE ON FUNCTION net.http_post(url text, body jsonb, params jsonb, headers jsonb, timeout_milliseconds integer) TO supabase_functions_admin, postgres, anon, authenticated, service_role;
    END IF;
  END IF;
END;
$$;


--
-- Name: FUNCTION grant_pg_net_access(); Type: COMMENT; Schema: extensions; Owner: -
--

COMMENT ON FUNCTION extensions.grant_pg_net_access() IS 'Grants access to pg_net';


--
-- Name: pgrst_ddl_watch(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.pgrst_ddl_watch() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $$
DECLARE
  cmd record;
BEGIN
  FOR cmd IN SELECT * FROM pg_event_trigger_ddl_commands()
  LOOP
    IF cmd.command_tag IN (
      'CREATE SCHEMA', 'ALTER SCHEMA'
    , 'CREATE TABLE', 'CREATE TABLE AS', 'SELECT INTO', 'ALTER TABLE'
    , 'CREATE FOREIGN TABLE', 'ALTER FOREIGN TABLE'
    , 'CREATE VIEW', 'ALTER VIEW'
    , 'CREATE MATERIALIZED VIEW', 'ALTER MATERIALIZED VIEW'
    , 'CREATE FUNCTION', 'ALTER FUNCTION'
    , 'CREATE TRIGGER'
    , 'CREATE TYPE', 'ALTER TYPE'
    , 'CREATE RULE'
    , 'COMMENT'
    )
    -- don't notify in case of CREATE TEMP table or other objects created on pg_temp
    AND cmd.schema_name is distinct from 'pg_temp'
    THEN
      NOTIFY pgrst, 'reload schema';
    END IF;
  END LOOP;
END; $$;


--
-- Name: pgrst_drop_watch(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.pgrst_drop_watch() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $$
DECLARE
  obj record;
BEGIN
  FOR obj IN SELECT * FROM pg_event_trigger_dropped_objects()
  LOOP
    IF obj.object_type IN (
      'schema'
    , 'table'
    , 'foreign table'
    , 'view'
    , 'materialized view'
    , 'function'
    , 'trigger'
    , 'type'
    , 'rule'
    )
    AND obj.is_temporary IS false -- no pg_temp objects
    THEN
      NOTIFY pgrst, 'reload schema';
    END IF;
  END LOOP;
END; $$;


--
-- Name: set_graphql_placeholder(); Type: FUNCTION; Schema: extensions; Owner: -
--

CREATE FUNCTION extensions.set_graphql_placeholder() RETURNS event_trigger
    LANGUAGE plpgsql
    AS $_$
    DECLARE
    graphql_is_dropped bool;
    BEGIN
    graphql_is_dropped = (
        SELECT ev.schema_name = 'graphql_public'
        FROM pg_event_trigger_dropped_objects() AS ev
        WHERE ev.schema_name = 'graphql_public'
    );

    IF graphql_is_dropped
    THEN
        create or replace function graphql_public.graphql(
            "operationName" text default null,
            query text default null,
            variables jsonb default null,
            extensions jsonb default null
        )
            returns jsonb
            language plpgsql
        as $$
            DECLARE
                server_version float;
            BEGIN
                server_version = (SELECT (SPLIT_PART((select version()), ' ', 2))::float);

                IF server_version >= 14 THEN
                    RETURN jsonb_build_object(
                        'errors', jsonb_build_array(
                            jsonb_build_object(
                                'message', 'pg_graphql extension is not enabled.'
                            )
                        )
                    );
                ELSE
                    RETURN jsonb_build_object(
                        'errors', jsonb_build_array(
                            jsonb_build_object(
                                'message', 'pg_graphql is only available on projects running Postgres 14 onwards.'
                            )
                        )
                    );
                END IF;
            END;
        $$;
    END IF;

    END;
$_$;


--
-- Name: FUNCTION set_graphql_placeholder(); Type: COMMENT; Schema: extensions; Owner: -
--

COMMENT ON FUNCTION extensions.set_graphql_placeholder() IS 'Reintroduces placeholder function for graphql_public.graphql';


--
-- Name: get_auth(text); Type: FUNCTION; Schema: pgbouncer; Owner: -
--

CREATE FUNCTION pgbouncer.get_auth(p_usename text) RETURNS TABLE(username text, password text)
    LANGUAGE plpgsql SECURITY DEFINER
    AS $_$
begin
    raise debug 'PgBouncer auth request: %', p_usename;

    return query
    select 
        rolname::text, 
        case when rolvaliduntil < now() 
            then null 
            else rolpassword::text 
        end 
    from pg_authid 
    where rolname=$1 and rolcanlogin;
end;
$_$;


--
-- Name: get_user_payment_history(integer); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION public.get_user_payment_history(user_id_param integer) RETURNS TABLE(payment_id uuid, amount numeric, payment_method public.payment_method, status public.payment_status, created_at timestamp with time zone, completed_at timestamp with time zone)
    LANGUAGE plpgsql
    AS $$
BEGIN
    RETURN QUERY
    SELECT 
        p.id,
        p.amount,
        p.payment_method,
        p.status,
        p.created_at,
        p.completed_at
    FROM payments p
    WHERE p.user_id = user_id_param
    ORDER BY p.created_at DESC;
END;
$$;


--
-- Name: handle_new_user(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION public.handle_new_user() RETURNS trigger
    LANGUAGE plpgsql SECURITY DEFINER
    SET search_path TO ''
    AS $$
BEGIN
  INSERT INTO public.users (
    id,
    first_name,
    last_name,
    avatar_url,

    state,
    gender,
    user_type,
    country
  )
  VALUES (
    new.id,
    new.raw_user_meta_data ->> 'first_name',
    new.raw_user_meta_data ->> 'last_name',
    new.raw_user_meta_data ->> 'avatar_url',

    COALESCE((new.raw_user_meta_data ->> 'state')::BOOLEAN, TRUE),
    COALESCE(new.raw_user_meta_data ->> 'gender', 'male'),
    new.raw_user_meta_data ->> 'user_type',
    new.raw_user_meta_data ->> 'country'
  );
  RETURN new;
END;
$$;


--
-- Name: update_payment_status(uuid, public.payment_status, character varying, text); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION public.update_payment_status(payment_id_param uuid, new_status public.payment_status, payment_id_value character varying DEFAULT NULL::character varying, admin_notes_value text DEFAULT NULL::text) RETURNS boolean
    LANGUAGE plpgsql
    AS $$
BEGIN
    UPDATE payments
    SET 
        status = new_status,
        payment_id = COALESCE(payment_id_value, payment_id),
        admin_notes = COALESCE(admin_notes_value, admin_notes),
        completed_at = CASE 
            WHEN new_status = 'COMPLETED' THEN NOW()
            ELSE completed_at
        END,
        updated_at = NOW()
    WHERE id = payment_id_param;
    
    RETURN FOUND;
END;
$$;


--
-- Name: update_timestamp(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION public.update_timestamp() RETURNS trigger
    LANGUAGE plpgsql
    AS $$
BEGIN
  NEW.updated_at = NOW();
  RETURN NEW;
END;
$$;


--
-- Name: update_updated_at_column(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION public.update_updated_at_column() RETURNS trigger
    LANGUAGE plpgsql
    AS $$
BEGIN
    NEW.updated_at = NOW();
    RETURN NEW;
END;
$$;


--
-- Name: apply_rls(jsonb, integer); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer DEFAULT (1024 * 1024)) RETURNS SETOF realtime.wal_rls
    LANGUAGE plpgsql
    AS $$
declare
-- Regclass of the table e.g. public.notes
entity_ regclass = (quote_ident(wal ->> 'schema') || '.' || quote_ident(wal ->> 'table'))::regclass;

-- I, U, D, T: insert, update ...
action realtime.action = (
    case wal ->> 'action'
        when 'I' then 'INSERT'
        when 'U' then 'UPDATE'
        when 'D' then 'DELETE'
        else 'ERROR'
    end
);

-- Is row level security enabled for the table
is_rls_enabled bool = relrowsecurity from pg_class where oid = entity_;

subscriptions realtime.subscription[] = array_agg(subs)
    from
        realtime.subscription subs
    where
        subs.entity = entity_;

-- Subscription vars
roles regrole[] = array_agg(distinct us.claims_role::text)
    from
        unnest(subscriptions) us;

working_role regrole;
claimed_role regrole;
claims jsonb;

subscription_id uuid;
subscription_has_access bool;
visible_to_subscription_ids uuid[] = '{}';

-- structured info for wal's columns
columns realtime.wal_column[];
-- previous identity values for update/delete
old_columns realtime.wal_column[];

error_record_exceeds_max_size boolean = octet_length(wal::text) > max_record_bytes;

-- Primary jsonb output for record
output jsonb;

begin
perform set_config('role', null, true);

columns =
    array_agg(
        (
            x->>'name',
            x->>'type',
            x->>'typeoid',
            realtime.cast(
                (x->'value') #>> '{}',
                coalesce(
                    (x->>'typeoid')::regtype, -- null when wal2json version <= 2.4
                    (x->>'type')::regtype
                )
            ),
            (pks ->> 'name') is not null,
            true
        )::realtime.wal_column
    )
    from
        jsonb_array_elements(wal -> 'columns') x
        left join jsonb_array_elements(wal -> 'pk') pks
            on (x ->> 'name') = (pks ->> 'name');

old_columns =
    array_agg(
        (
            x->>'name',
            x->>'type',
            x->>'typeoid',
            realtime.cast(
                (x->'value') #>> '{}',
                coalesce(
                    (x->>'typeoid')::regtype, -- null when wal2json version <= 2.4
                    (x->>'type')::regtype
                )
            ),
            (pks ->> 'name') is not null,
            true
        )::realtime.wal_column
    )
    from
        jsonb_array_elements(wal -> 'identity') x
        left join jsonb_array_elements(wal -> 'pk') pks
            on (x ->> 'name') = (pks ->> 'name');

for working_role in select * from unnest(roles) loop

    -- Update `is_selectable` for columns and old_columns
    columns =
        array_agg(
            (
                c.name,
                c.type_name,
                c.type_oid,
                c.value,
                c.is_pkey,
                pg_catalog.has_column_privilege(working_role, entity_, c.name, 'SELECT')
            )::realtime.wal_column
        )
        from
            unnest(columns) c;

    old_columns =
            array_agg(
                (
                    c.name,
                    c.type_name,
                    c.type_oid,
                    c.value,
                    c.is_pkey,
                    pg_catalog.has_column_privilege(working_role, entity_, c.name, 'SELECT')
                )::realtime.wal_column
            )
            from
                unnest(old_columns) c;

    if action <> 'DELETE' and count(1) = 0 from unnest(columns) c where c.is_pkey then
        return next (
            jsonb_build_object(
                'schema', wal ->> 'schema',
                'table', wal ->> 'table',
                'type', action
            ),
            is_rls_enabled,
            -- subscriptions is already filtered by entity
            (select array_agg(s.subscription_id) from unnest(subscriptions) as s where claims_role = working_role),
            array['Error 400: Bad Request, no primary key']
        )::realtime.wal_rls;

    -- The claims role does not have SELECT permission to the primary key of entity
    elsif action <> 'DELETE' and sum(c.is_selectable::int) <> count(1) from unnest(columns) c where c.is_pkey then
        return next (
            jsonb_build_object(
                'schema', wal ->> 'schema',
                'table', wal ->> 'table',
                'type', action
            ),
            is_rls_enabled,
            (select array_agg(s.subscription_id) from unnest(subscriptions) as s where claims_role = working_role),
            array['Error 401: Unauthorized']
        )::realtime.wal_rls;

    else
        output = jsonb_build_object(
            'schema', wal ->> 'schema',
            'table', wal ->> 'table',
            'type', action,
            'commit_timestamp', to_char(
                ((wal ->> 'timestamp')::timestamptz at time zone 'utc'),
                'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"'
            ),
            'columns', (
                select
                    jsonb_agg(
                        jsonb_build_object(
                            'name', pa.attname,
                            'type', pt.typname
                        )
                        order by pa.attnum asc
                    )
                from
                    pg_attribute pa
                    join pg_type pt
                        on pa.atttypid = pt.oid
                where
                    attrelid = entity_
                    and attnum > 0
                    and pg_catalog.has_column_privilege(working_role, entity_, pa.attname, 'SELECT')
            )
        )
        -- Add "record" key for insert and update
        || case
            when action in ('INSERT', 'UPDATE') then
                jsonb_build_object(
                    'record',
                    (
                        select
                            jsonb_object_agg(
                                -- if unchanged toast, get column name and value from old record
                                coalesce((c).name, (oc).name),
                                case
                                    when (c).name is null then (oc).value
                                    else (c).value
                                end
                            )
                        from
                            unnest(columns) c
                            full outer join unnest(old_columns) oc
                                on (c).name = (oc).name
                        where
                            coalesce((c).is_selectable, (oc).is_selectable)
                            and ( not error_record_exceeds_max_size or (octet_length((c).value::text) <= 64))
                    )
                )
            else '{}'::jsonb
        end
        -- Add "old_record" key for update and delete
        || case
            when action = 'UPDATE' then
                jsonb_build_object(
                        'old_record',
                        (
                            select jsonb_object_agg((c).name, (c).value)
                            from unnest(old_columns) c
                            where
                                (c).is_selectable
                                and ( not error_record_exceeds_max_size or (octet_length((c).value::text) <= 64))
                        )
                    )
            when action = 'DELETE' then
                jsonb_build_object(
                    'old_record',
                    (
                        select jsonb_object_agg((c).name, (c).value)
                        from unnest(old_columns) c
                        where
                            (c).is_selectable
                            and ( not error_record_exceeds_max_size or (octet_length((c).value::text) <= 64))
                            and ( not is_rls_enabled or (c).is_pkey ) -- if RLS enabled, we can't secure deletes so filter to pkey
                    )
                )
            else '{}'::jsonb
        end;

        -- Create the prepared statement
        if is_rls_enabled and action <> 'DELETE' then
            if (select 1 from pg_prepared_statements where name = 'walrus_rls_stmt' limit 1) > 0 then
                deallocate walrus_rls_stmt;
            end if;
            execute realtime.build_prepared_statement_sql('walrus_rls_stmt', entity_, columns);
        end if;

        visible_to_subscription_ids = '{}';

        for subscription_id, claims in (
                select
                    subs.subscription_id,
                    subs.claims
                from
                    unnest(subscriptions) subs
                where
                    subs.entity = entity_
                    and subs.claims_role = working_role
                    and (
                        realtime.is_visible_through_filters(columns, subs.filters)
                        or (
                          action = 'DELETE'
                          and realtime.is_visible_through_filters(old_columns, subs.filters)
                        )
                    )
        ) loop

            if not is_rls_enabled or action = 'DELETE' then
                visible_to_subscription_ids = visible_to_subscription_ids || subscription_id;
            else
                -- Check if RLS allows the role to see the record
                perform
                    -- Trim leading and trailing quotes from working_role because set_config
                    -- doesn't recognize the role as valid if they are included
                    set_config('role', trim(both '"' from working_role::text), true),
                    set_config('request.jwt.claims', claims::text, true);

                execute 'execute walrus_rls_stmt' into subscription_has_access;

                if subscription_has_access then
                    visible_to_subscription_ids = visible_to_subscription_ids || subscription_id;
                end if;
            end if;
        end loop;

        perform set_config('role', null, true);

        return next (
            output,
            is_rls_enabled,
            visible_to_subscription_ids,
            case
                when error_record_exceeds_max_size then array['Error 413: Payload Too Large']
                else '{}'
            end
        )::realtime.wal_rls;

    end if;
end loop;

perform set_config('role', null, true);
end;
$$;


--
-- Name: broadcast_changes(text, text, text, text, text, record, record, text); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.broadcast_changes(topic_name text, event_name text, operation text, table_name text, table_schema text, new record, old record, level text DEFAULT 'ROW'::text) RETURNS void
    LANGUAGE plpgsql
    AS $$
DECLARE
    -- Declare a variable to hold the JSONB representation of the row
    row_data jsonb := '{}'::jsonb;
BEGIN
    IF level = 'STATEMENT' THEN
        RAISE EXCEPTION 'function can only be triggered for each row, not for each statement';
    END IF;
    -- Check the operation type and handle accordingly
    IF operation = 'INSERT' OR operation = 'UPDATE' OR operation = 'DELETE' THEN
        row_data := jsonb_build_object('old_record', OLD, 'record', NEW, 'operation', operation, 'table', table_name, 'schema', table_schema);
        PERFORM realtime.send (row_data, event_name, topic_name);
    ELSE
        RAISE EXCEPTION 'Unexpected operation type: %', operation;
    END IF;
EXCEPTION
    WHEN OTHERS THEN
        RAISE EXCEPTION 'Failed to process the row: %', SQLERRM;
END;

$$;


--
-- Name: build_prepared_statement_sql(text, regclass, realtime.wal_column[]); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) RETURNS text
    LANGUAGE sql
    AS $$
      /*
      Builds a sql string that, if executed, creates a prepared statement to
      tests retrive a row from *entity* by its primary key columns.
      Example
          select realtime.build_prepared_statement_sql('public.notes', '{"id"}'::text[], '{"bigint"}'::text[])
      */
          select
      'prepare ' || prepared_statement_name || ' as
          select
              exists(
                  select
                      1
                  from
                      ' || entity || '
                  where
                      ' || string_agg(quote_ident(pkc.name) || '=' || quote_nullable(pkc.value #>> '{}') , ' and ') || '
              )'
          from
              unnest(columns) pkc
          where
              pkc.is_pkey
          group by
              entity
      $$;


--
-- Name: cast(text, regtype); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime."cast"(val text, type_ regtype) RETURNS jsonb
    LANGUAGE plpgsql IMMUTABLE
    AS $$
    declare
      res jsonb;
    begin
      execute format('select to_jsonb(%L::'|| type_::text || ')', val)  into res;
      return res;
    end
    $$;


--
-- Name: check_equality_op(realtime.equality_op, regtype, text, text); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) RETURNS boolean
    LANGUAGE plpgsql IMMUTABLE
    AS $$
      /*
      Casts *val_1* and *val_2* as type *type_* and check the *op* condition for truthiness
      */
      declare
          op_symbol text = (
              case
                  when op = 'eq' then '='
                  when op = 'neq' then '!='
                  when op = 'lt' then '<'
                  when op = 'lte' then '<='
                  when op = 'gt' then '>'
                  when op = 'gte' then '>='
                  when op = 'in' then '= any'
                  else 'UNKNOWN OP'
              end
          );
          res boolean;
      begin
          execute format(
              'select %L::'|| type_::text || ' ' || op_symbol
              || ' ( %L::'
              || (
                  case
                      when op = 'in' then type_::text || '[]'
                      else type_::text end
              )
              || ')', val_1, val_2) into res;
          return res;
      end;
      $$;


--
-- Name: is_visible_through_filters(realtime.wal_column[], realtime.user_defined_filter[]); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) RETURNS boolean
    LANGUAGE sql IMMUTABLE
    AS $_$
    /*
    Should the record be visible (true) or filtered out (false) after *filters* are applied
    */
        select
            -- Default to allowed when no filters present
            $2 is null -- no filters. this should not happen because subscriptions has a default
            or array_length($2, 1) is null -- array length of an empty array is null
            or bool_and(
                coalesce(
                    realtime.check_equality_op(
                        op:=f.op,
                        type_:=coalesce(
                            col.type_oid::regtype, -- null when wal2json version <= 2.4
                            col.type_name::regtype
                        ),
                        -- cast jsonb to text
                        val_1:=col.value #>> '{}',
                        val_2:=f.value
                    ),
                    false -- if null, filter does not match
                )
            )
        from
            unnest(filters) f
            join unnest(columns) col
                on f.column_name = col.name;
    $_$;


--
-- Name: list_changes(name, name, integer, integer); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) RETURNS SETOF realtime.wal_rls
    LANGUAGE sql
    SET log_min_messages TO 'fatal'
    AS $$
      with pub as (
        select
          concat_ws(
            ',',
            case when bool_or(pubinsert) then 'insert' else null end,
            case when bool_or(pubupdate) then 'update' else null end,
            case when bool_or(pubdelete) then 'delete' else null end
          ) as w2j_actions,
          coalesce(
            string_agg(
              realtime.quote_wal2json(format('%I.%I', schemaname, tablename)::regclass),
              ','
            ) filter (where ppt.tablename is not null and ppt.tablename not like '% %'),
            ''
          ) w2j_add_tables
        from
          pg_publication pp
          left join pg_publication_tables ppt
            on pp.pubname = ppt.pubname
        where
          pp.pubname = publication
        group by
          pp.pubname
        limit 1
      ),
      w2j as (
        select
          x.*, pub.w2j_add_tables
        from
          pub,
          pg_logical_slot_get_changes(
            slot_name, null, max_changes,
            'include-pk', 'true',
            'include-transaction', 'false',
            'include-timestamp', 'true',
            'include-type-oids', 'true',
            'format-version', '2',
            'actions', pub.w2j_actions,
            'add-tables', pub.w2j_add_tables
          ) x
      )
      select
        xyz.wal,
        xyz.is_rls_enabled,
        xyz.subscription_ids,
        xyz.errors
      from
        w2j,
        realtime.apply_rls(
          wal := w2j.data::jsonb,
          max_record_bytes := max_record_bytes
        ) xyz(wal, is_rls_enabled, subscription_ids, errors)
      where
        w2j.w2j_add_tables <> ''
        and xyz.subscription_ids[1] is not null
    $$;


--
-- Name: quote_wal2json(regclass); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.quote_wal2json(entity regclass) RETURNS text
    LANGUAGE sql IMMUTABLE STRICT
    AS $$
      select
        (
          select string_agg('' || ch,'')
          from unnest(string_to_array(nsp.nspname::text, null)) with ordinality x(ch, idx)
          where
            not (x.idx = 1 and x.ch = '"')
            and not (
              x.idx = array_length(string_to_array(nsp.nspname::text, null), 1)
              and x.ch = '"'
            )
        )
        || '.'
        || (
          select string_agg('' || ch,'')
          from unnest(string_to_array(pc.relname::text, null)) with ordinality x(ch, idx)
          where
            not (x.idx = 1 and x.ch = '"')
            and not (
              x.idx = array_length(string_to_array(nsp.nspname::text, null), 1)
              and x.ch = '"'
            )
          )
      from
        pg_class pc
        join pg_namespace nsp
          on pc.relnamespace = nsp.oid
      where
        pc.oid = entity
    $$;


--
-- Name: send(jsonb, text, text, boolean); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.send(payload jsonb, event text, topic text, private boolean DEFAULT true) RETURNS void
    LANGUAGE plpgsql
    AS $$
BEGIN
  BEGIN
    -- Set the topic configuration
    EXECUTE format('SET LOCAL realtime.topic TO %L', topic);

    -- Attempt to insert the message
    INSERT INTO realtime.messages (payload, event, topic, private, extension)
    VALUES (payload, event, topic, private, 'broadcast');
  EXCEPTION
    WHEN OTHERS THEN
      -- Capture and notify the error
      PERFORM pg_notify(
          'realtime:system',
          jsonb_build_object(
              'error', SQLERRM,
              'function', 'realtime.send',
              'event', event,
              'topic', topic,
              'private', private
          )::text
      );
  END;
END;
$$;


--
-- Name: subscription_check_filters(); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.subscription_check_filters() RETURNS trigger
    LANGUAGE plpgsql
    AS $$
    /*
    Validates that the user defined filters for a subscription:
    - refer to valid columns that the claimed role may access
    - values are coercable to the correct column type
    */
    declare
        col_names text[] = coalesce(
                array_agg(c.column_name order by c.ordinal_position),
                '{}'::text[]
            )
            from
                information_schema.columns c
            where
                format('%I.%I', c.table_schema, c.table_name)::regclass = new.entity
                and pg_catalog.has_column_privilege(
                    (new.claims ->> 'role'),
                    format('%I.%I', c.table_schema, c.table_name)::regclass,
                    c.column_name,
                    'SELECT'
                );
        filter realtime.user_defined_filter;
        col_type regtype;

        in_val jsonb;
    begin
        for filter in select * from unnest(new.filters) loop
            -- Filtered column is valid
            if not filter.column_name = any(col_names) then
                raise exception 'invalid column for filter %', filter.column_name;
            end if;

            -- Type is sanitized and safe for string interpolation
            col_type = (
                select atttypid::regtype
                from pg_catalog.pg_attribute
                where attrelid = new.entity
                      and attname = filter.column_name
            );
            if col_type is null then
                raise exception 'failed to lookup type for column %', filter.column_name;
            end if;

            -- Set maximum number of entries for in filter
            if filter.op = 'in'::realtime.equality_op then
                in_val = realtime.cast(filter.value, (col_type::text || '[]')::regtype);
                if coalesce(jsonb_array_length(in_val), 0) > 100 then
                    raise exception 'too many values for `in` filter. Maximum 100';
                end if;
            else
                -- raises an exception if value is not coercable to type
                perform realtime.cast(filter.value, col_type);
            end if;

        end loop;

        -- Apply consistent order to filters so the unique constraint on
        -- (subscription_id, entity, filters) can't be tricked by a different filter order
        new.filters = coalesce(
            array_agg(f order by f.column_name, f.op, f.value),
            '{}'
        ) from unnest(new.filters) f;

        return new;
    end;
    $$;


--
-- Name: to_regrole(text); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.to_regrole(role_name text) RETURNS regrole
    LANGUAGE sql IMMUTABLE
    AS $$ select role_name::regrole $$;


--
-- Name: topic(); Type: FUNCTION; Schema: realtime; Owner: -
--

CREATE FUNCTION realtime.topic() RETURNS text
    LANGUAGE sql STABLE
    AS $$
select nullif(current_setting('realtime.topic', true), '')::text;
$$;


--
-- Name: can_insert_object(text, text, uuid, jsonb); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.can_insert_object(bucketid text, name text, owner uuid, metadata jsonb) RETURNS void
    LANGUAGE plpgsql
    AS $$
BEGIN
  INSERT INTO "storage"."objects" ("bucket_id", "name", "owner", "metadata") VALUES (bucketid, name, owner, metadata);
  -- hack to rollback the successful insert
  RAISE sqlstate 'PT200' using
  message = 'ROLLBACK',
  detail = 'rollback successful insert';
END
$$;


--
-- Name: extension(text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.extension(name text) RETURNS text
    LANGUAGE plpgsql
    AS $$
DECLARE
_parts text[];
_filename text;
BEGIN
	select string_to_array(name, '/') into _parts;
	select _parts[array_length(_parts,1)] into _filename;
	-- @todo return the last part instead of 2
	return reverse(split_part(reverse(_filename), '.', 1));
END
$$;


--
-- Name: filename(text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.filename(name text) RETURNS text
    LANGUAGE plpgsql
    AS $$
DECLARE
_parts text[];
BEGIN
	select string_to_array(name, '/') into _parts;
	return _parts[array_length(_parts,1)];
END
$$;


--
-- Name: foldername(text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.foldername(name text) RETURNS text[]
    LANGUAGE plpgsql
    AS $$
DECLARE
_parts text[];
BEGIN
	select string_to_array(name, '/') into _parts;
	return _parts[1:array_length(_parts,1)-1];
END
$$;


--
-- Name: get_size_by_bucket(); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.get_size_by_bucket() RETURNS TABLE(size bigint, bucket_id text)
    LANGUAGE plpgsql
    AS $$
BEGIN
    return query
        select sum((metadata->>'size')::int) as size, obj.bucket_id
        from "storage".objects as obj
        group by obj.bucket_id;
END
$$;


--
-- Name: list_multipart_uploads_with_delimiter(text, text, text, integer, text, text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.list_multipart_uploads_with_delimiter(bucket_id text, prefix_param text, delimiter_param text, max_keys integer DEFAULT 100, next_key_token text DEFAULT ''::text, next_upload_token text DEFAULT ''::text) RETURNS TABLE(key text, id text, created_at timestamp with time zone)
    LANGUAGE plpgsql
    AS $_$
BEGIN
    RETURN QUERY EXECUTE
        'SELECT DISTINCT ON(key COLLATE "C") * from (
            SELECT
                CASE
                    WHEN position($2 IN substring(key from length($1) + 1)) > 0 THEN
                        substring(key from 1 for length($1) + position($2 IN substring(key from length($1) + 1)))
                    ELSE
                        key
                END AS key, id, created_at
            FROM
                storage.s3_multipart_uploads
            WHERE
                bucket_id = $5 AND
                key ILIKE $1 || ''%'' AND
                CASE
                    WHEN $4 != '''' AND $6 = '''' THEN
                        CASE
                            WHEN position($2 IN substring(key from length($1) + 1)) > 0 THEN
                                substring(key from 1 for length($1) + position($2 IN substring(key from length($1) + 1))) COLLATE "C" > $4
                            ELSE
                                key COLLATE "C" > $4
                            END
                    ELSE
                        true
                END AND
                CASE
                    WHEN $6 != '''' THEN
                        id COLLATE "C" > $6
                    ELSE
                        true
                    END
            ORDER BY
                key COLLATE "C" ASC, created_at ASC) as e order by key COLLATE "C" LIMIT $3'
        USING prefix_param, delimiter_param, max_keys, next_key_token, bucket_id, next_upload_token;
END;
$_$;


--
-- Name: list_objects_with_delimiter(text, text, text, integer, text, text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.list_objects_with_delimiter(bucket_id text, prefix_param text, delimiter_param text, max_keys integer DEFAULT 100, start_after text DEFAULT ''::text, next_token text DEFAULT ''::text) RETURNS TABLE(name text, id uuid, metadata jsonb, updated_at timestamp with time zone)
    LANGUAGE plpgsql
    AS $_$
BEGIN
    RETURN QUERY EXECUTE
        'SELECT DISTINCT ON(name COLLATE "C") * from (
            SELECT
                CASE
                    WHEN position($2 IN substring(name from length($1) + 1)) > 0 THEN
                        substring(name from 1 for length($1) + position($2 IN substring(name from length($1) + 1)))
                    ELSE
                        name
                END AS name, id, metadata, updated_at
            FROM
                storage.objects
            WHERE
                bucket_id = $5 AND
                name ILIKE $1 || ''%'' AND
                CASE
                    WHEN $6 != '''' THEN
                    name COLLATE "C" > $6
                ELSE true END
                AND CASE
                    WHEN $4 != '''' THEN
                        CASE
                            WHEN position($2 IN substring(name from length($1) + 1)) > 0 THEN
                                substring(name from 1 for length($1) + position($2 IN substring(name from length($1) + 1))) COLLATE "C" > $4
                            ELSE
                                name COLLATE "C" > $4
                            END
                    ELSE
                        true
                END
            ORDER BY
                name COLLATE "C" ASC) as e order by name COLLATE "C" LIMIT $3'
        USING prefix_param, delimiter_param, max_keys, next_token, bucket_id, start_after;
END;
$_$;


--
-- Name: operation(); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.operation() RETURNS text
    LANGUAGE plpgsql STABLE
    AS $$
BEGIN
    RETURN current_setting('storage.operation', true);
END;
$$;


--
-- Name: search(text, text, integer, integer, integer, text, text, text); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.search(prefix text, bucketname text, limits integer DEFAULT 100, levels integer DEFAULT 1, offsets integer DEFAULT 0, search text DEFAULT ''::text, sortcolumn text DEFAULT 'name'::text, sortorder text DEFAULT 'asc'::text) RETURNS TABLE(name text, id uuid, updated_at timestamp with time zone, created_at timestamp with time zone, last_accessed_at timestamp with time zone, metadata jsonb)
    LANGUAGE plpgsql STABLE
    AS $_$
declare
  v_order_by text;
  v_sort_order text;
begin
  case
    when sortcolumn = 'name' then
      v_order_by = 'name';
    when sortcolumn = 'updated_at' then
      v_order_by = 'updated_at';
    when sortcolumn = 'created_at' then
      v_order_by = 'created_at';
    when sortcolumn = 'last_accessed_at' then
      v_order_by = 'last_accessed_at';
    else
      v_order_by = 'name';
  end case;

  case
    when sortorder = 'asc' then
      v_sort_order = 'asc';
    when sortorder = 'desc' then
      v_sort_order = 'desc';
    else
      v_sort_order = 'asc';
  end case;

  v_order_by = v_order_by || ' ' || v_sort_order;

  return query execute
    'with folders as (
       select path_tokens[$1] as folder
       from storage.objects
         where objects.name ilike $2 || $3 || ''%''
           and bucket_id = $4
           and array_length(objects.path_tokens, 1) <> $1
       group by folder
       order by folder ' || v_sort_order || '
     )
     (select folder as "name",
            null as id,
            null as updated_at,
            null as created_at,
            null as last_accessed_at,
            null as metadata from folders)
     union all
     (select path_tokens[$1] as "name",
            id,
            updated_at,
            created_at,
            last_accessed_at,
            metadata
     from storage.objects
     where objects.name ilike $2 || $3 || ''%''
       and bucket_id = $4
       and array_length(objects.path_tokens, 1) = $1
     order by ' || v_order_by || ')
     limit $5
     offset $6' using levels, prefix, search, bucketname, limits, offsets;
end;
$_$;


--
-- Name: update_updated_at_column(); Type: FUNCTION; Schema: storage; Owner: -
--

CREATE FUNCTION storage.update_updated_at_column() RETURNS trigger
    LANGUAGE plpgsql
    AS $$
BEGIN
    NEW.updated_at = now();
    RETURN NEW; 
END;
$$;


SET default_tablespace = '';

SET default_table_access_method = heap;

--
-- Name: audit_log_entries; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.audit_log_entries (
    instance_id uuid,
    id uuid NOT NULL,
    payload json,
    created_at timestamp with time zone,
    ip_address character varying(64) DEFAULT ''::character varying NOT NULL
);


--
-- Name: TABLE audit_log_entries; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.audit_log_entries IS 'Auth: Audit trail for user actions.';


--
-- Name: flow_state; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.flow_state (
    id uuid NOT NULL,
    user_id uuid,
    auth_code text NOT NULL,
    code_challenge_method auth.code_challenge_method NOT NULL,
    code_challenge text NOT NULL,
    provider_type text NOT NULL,
    provider_access_token text,
    provider_refresh_token text,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    authentication_method text NOT NULL,
    auth_code_issued_at timestamp with time zone
);


--
-- Name: TABLE flow_state; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.flow_state IS 'stores metadata for pkce logins';


--
-- Name: identities; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.identities (
    provider_id text NOT NULL,
    user_id uuid NOT NULL,
    identity_data jsonb NOT NULL,
    provider text NOT NULL,
    last_sign_in_at timestamp with time zone,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    email text GENERATED ALWAYS AS (lower((identity_data ->> 'email'::text))) STORED,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: TABLE identities; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.identities IS 'Auth: Stores identities associated to a user.';


--
-- Name: COLUMN identities.email; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON COLUMN auth.identities.email IS 'Auth: Email is a generated column that references the optional email property in the identity_data';


--
-- Name: instances; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.instances (
    id uuid NOT NULL,
    uuid uuid,
    raw_base_config text,
    created_at timestamp with time zone,
    updated_at timestamp with time zone
);


--
-- Name: TABLE instances; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.instances IS 'Auth: Manages users across multiple sites.';


--
-- Name: mfa_amr_claims; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.mfa_amr_claims (
    session_id uuid NOT NULL,
    created_at timestamp with time zone NOT NULL,
    updated_at timestamp with time zone NOT NULL,
    authentication_method text NOT NULL,
    id uuid NOT NULL
);


--
-- Name: TABLE mfa_amr_claims; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.mfa_amr_claims IS 'auth: stores authenticator method reference claims for multi factor authentication';


--
-- Name: mfa_challenges; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.mfa_challenges (
    id uuid NOT NULL,
    factor_id uuid NOT NULL,
    created_at timestamp with time zone NOT NULL,
    verified_at timestamp with time zone,
    ip_address inet NOT NULL,
    otp_code text,
    web_authn_session_data jsonb
);


--
-- Name: TABLE mfa_challenges; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.mfa_challenges IS 'auth: stores metadata about challenge requests made';


--
-- Name: mfa_factors; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.mfa_factors (
    id uuid NOT NULL,
    user_id uuid NOT NULL,
    friendly_name text,
    factor_type auth.factor_type NOT NULL,
    status auth.factor_status NOT NULL,
    created_at timestamp with time zone NOT NULL,
    updated_at timestamp with time zone NOT NULL,
    secret text,
    phone text,
    last_challenged_at timestamp with time zone,
    web_authn_credential jsonb,
    web_authn_aaguid uuid
);


--
-- Name: TABLE mfa_factors; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.mfa_factors IS 'auth: stores metadata about factors';


--
-- Name: one_time_tokens; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.one_time_tokens (
    id uuid NOT NULL,
    user_id uuid NOT NULL,
    token_type auth.one_time_token_type NOT NULL,
    token_hash text NOT NULL,
    relates_to text NOT NULL,
    created_at timestamp without time zone DEFAULT now() NOT NULL,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    CONSTRAINT one_time_tokens_token_hash_check CHECK ((char_length(token_hash) > 0))
);


--
-- Name: refresh_tokens; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.refresh_tokens (
    instance_id uuid,
    id bigint NOT NULL,
    token character varying(255),
    user_id character varying(255),
    revoked boolean,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    parent character varying(255),
    session_id uuid
);


--
-- Name: TABLE refresh_tokens; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.refresh_tokens IS 'Auth: Store of tokens used to refresh JWT tokens once they expire.';


--
-- Name: refresh_tokens_id_seq; Type: SEQUENCE; Schema: auth; Owner: -
--

CREATE SEQUENCE auth.refresh_tokens_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: refresh_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: auth; Owner: -
--

ALTER SEQUENCE auth.refresh_tokens_id_seq OWNED BY auth.refresh_tokens.id;


--
-- Name: saml_providers; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.saml_providers (
    id uuid NOT NULL,
    sso_provider_id uuid NOT NULL,
    entity_id text NOT NULL,
    metadata_xml text NOT NULL,
    metadata_url text,
    attribute_mapping jsonb,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    name_id_format text,
    CONSTRAINT "entity_id not empty" CHECK ((char_length(entity_id) > 0)),
    CONSTRAINT "metadata_url not empty" CHECK (((metadata_url = NULL::text) OR (char_length(metadata_url) > 0))),
    CONSTRAINT "metadata_xml not empty" CHECK ((char_length(metadata_xml) > 0))
);


--
-- Name: TABLE saml_providers; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.saml_providers IS 'Auth: Manages SAML Identity Provider connections.';


--
-- Name: saml_relay_states; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.saml_relay_states (
    id uuid NOT NULL,
    sso_provider_id uuid NOT NULL,
    request_id text NOT NULL,
    for_email text,
    redirect_to text,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    flow_state_id uuid,
    CONSTRAINT "request_id not empty" CHECK ((char_length(request_id) > 0))
);


--
-- Name: TABLE saml_relay_states; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.saml_relay_states IS 'Auth: Contains SAML Relay State information for each Service Provider initiated login.';


--
-- Name: schema_migrations; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.schema_migrations (
    version character varying(255) NOT NULL
);


--
-- Name: TABLE schema_migrations; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.schema_migrations IS 'Auth: Manages updates to the auth system.';


--
-- Name: sessions; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.sessions (
    id uuid NOT NULL,
    user_id uuid NOT NULL,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    factor_id uuid,
    aal auth.aal_level,
    not_after timestamp with time zone,
    refreshed_at timestamp without time zone,
    user_agent text,
    ip inet,
    tag text
);


--
-- Name: TABLE sessions; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.sessions IS 'Auth: Stores session data associated to a user.';


--
-- Name: COLUMN sessions.not_after; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON COLUMN auth.sessions.not_after IS 'Auth: Not after is a nullable column that contains a timestamp after which the session should be regarded as expired.';


--
-- Name: sso_domains; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.sso_domains (
    id uuid NOT NULL,
    sso_provider_id uuid NOT NULL,
    domain text NOT NULL,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    CONSTRAINT "domain not empty" CHECK ((char_length(domain) > 0))
);


--
-- Name: TABLE sso_domains; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.sso_domains IS 'Auth: Manages SSO email address domain mapping to an SSO Identity Provider.';


--
-- Name: sso_providers; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.sso_providers (
    id uuid NOT NULL,
    resource_id text,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    CONSTRAINT "resource_id not empty" CHECK (((resource_id = NULL::text) OR (char_length(resource_id) > 0)))
);


--
-- Name: TABLE sso_providers; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.sso_providers IS 'Auth: Manages SSO identity provider information; see saml_providers for SAML.';


--
-- Name: COLUMN sso_providers.resource_id; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON COLUMN auth.sso_providers.resource_id IS 'Auth: Uniquely identifies a SSO provider according to a user-chosen resource ID (case insensitive), useful in infrastructure as code.';


--
-- Name: users; Type: TABLE; Schema: auth; Owner: -
--

CREATE TABLE auth.users (
    instance_id uuid,
    id uuid NOT NULL,
    aud character varying(255),
    role character varying(255),
    email character varying(255),
    encrypted_password character varying(255),
    email_confirmed_at timestamp with time zone,
    invited_at timestamp with time zone,
    confirmation_token character varying(255),
    confirmation_sent_at timestamp with time zone,
    recovery_token character varying(255),
    recovery_sent_at timestamp with time zone,
    email_change_token_new character varying(255),
    email_change character varying(255),
    email_change_sent_at timestamp with time zone,
    last_sign_in_at timestamp with time zone,
    raw_app_meta_data jsonb,
    raw_user_meta_data jsonb,
    is_super_admin boolean,
    created_at timestamp with time zone,
    updated_at timestamp with time zone,
    phone text DEFAULT NULL::character varying,
    phone_confirmed_at timestamp with time zone,
    phone_change text DEFAULT ''::character varying,
    phone_change_token character varying(255) DEFAULT ''::character varying,
    phone_change_sent_at timestamp with time zone,
    confirmed_at timestamp with time zone GENERATED ALWAYS AS (LEAST(email_confirmed_at, phone_confirmed_at)) STORED,
    email_change_token_current character varying(255) DEFAULT ''::character varying,
    email_change_confirm_status smallint DEFAULT 0,
    banned_until timestamp with time zone,
    reauthentication_token character varying(255) DEFAULT ''::character varying,
    reauthentication_sent_at timestamp with time zone,
    is_sso_user boolean DEFAULT false NOT NULL,
    deleted_at timestamp with time zone,
    is_anonymous boolean DEFAULT false NOT NULL,
    CONSTRAINT users_email_change_confirm_status_check CHECK (((email_change_confirm_status >= 0) AND (email_change_confirm_status <= 2)))
);


--
-- Name: TABLE users; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON TABLE auth.users IS 'Auth: Stores user login data within a secure schema.';


--
-- Name: COLUMN users.is_sso_user; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON COLUMN auth.users.is_sso_user IS 'Auth: Set this column to true when the account comes from SSO. These accounts can have duplicate emails.';


--
-- Name: api_virtual_number; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.api_virtual_number (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    name text NOT NULL,
    api_url text NOT NULL,
    api_key text NOT NULL,
    bot_id uuid,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE api_virtual_number; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.api_virtual_number IS 'Stores virtual number API configurations';


--
-- Name: COLUMN api_virtual_number.api_url; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.api_virtual_number.api_url IS 'Endpoint URL for the virtual number API';


--
-- Name: COLUMN api_virtual_number.api_key; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.api_virtual_number.api_key IS 'Authentication key for the API';


--
-- Name: bot_messages; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.bot_messages (
    id uuid DEFAULT extensions.uuid_generate_v4() NOT NULL,
    key character varying(255) NOT NULL,
    ar_value text NOT NULL,
    en_value text NOT NULL,
    description text,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    updated_at timestamp with time zone DEFAULT now() NOT NULL
);


--
-- Name: TABLE bot_messages; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.bot_messages IS 'Stores bot messages in different languages';


--
-- Name: bots; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.bots (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    name text NOT NULL,
    user_id uuid,
    bot_token text NOT NULL,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    currency character varying(10) DEFAULT 'USD'::character varying,
    profit_type character varying(20) DEFAULT 'percentage'::character varying,
    profit_value_percentage numeric(10,2) DEFAULT 0,
    profit_value_fix numeric(10,2) DEFAULT 0,
    last_activity timestamp with time zone,
    version character varying(20) DEFAULT '1.0.0'::character varying,
    settings jsonb DEFAULT '{}'::jsonb,
    state jsonb DEFAULT '{}'::jsonb,
    suffix_email character varying DEFAULT 'bot.com'::character varying,
    fivesim_api_key character varying(255),
    paypal_client_id character varying(255),
    paypal_client_secret character varying(255),
    crypto_wallet_address character varying(255),
    admin_contact character varying(255),
    join_group_required boolean DEFAULT false NOT NULL,
    group_channel_username character varying(255),
    CONSTRAINT bots_profit_type_check CHECK (((profit_type)::text = ANY (ARRAY[('fix'::character varying)::text, ('percentage'::character varying)::text])))
);


--
-- Name: TABLE bots; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.bots IS 'Stores Telegram bot configurations and operational data';


--
-- Name: COLUMN bots.currency; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.currency IS 'Default currency for bot transactions';


--
-- Name: COLUMN bots.profit_type; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.profit_type IS 'Profit calculation type: fix or percentage';


--
-- Name: COLUMN bots.profit_value_percentage; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.profit_value_percentage IS 'Percentage value for profit calculation';


--
-- Name: COLUMN bots.profit_value_fix; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.profit_value_fix IS 'Fixed value for profit calculation';


--
-- Name: COLUMN bots.last_activity; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.last_activity IS 'Timestamp of last bot activity';


--
-- Name: COLUMN bots.version; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.version IS 'Bot version number';


--
-- Name: COLUMN bots.settings; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.settings IS 'JSON object containing bot settings';


--
-- Name: COLUMN bots.state; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.state IS 'JSON object containing bot state information';


--
-- Name: COLUMN bots.fivesim_api_key; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.fivesim_api_key IS 'API key for 5sim.net service';


--
-- Name: COLUMN bots.paypal_client_id; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.paypal_client_id IS 'PayPal client ID for payment processing';


--
-- Name: COLUMN bots.paypal_client_secret; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.paypal_client_secret IS 'PayPal client secret for payment processing';


--
-- Name: COLUMN bots.crypto_wallet_address; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.crypto_wallet_address IS 'Cryptocurrency wallet address for payments';


--
-- Name: COLUMN bots.admin_contact; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.admin_contact IS 'Admin contact information for support';


--
-- Name: COLUMN bots.join_group_required; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.join_group_required IS 'Whether users must join a group to use the bot';


--
-- Name: COLUMN bots.group_channel_username; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.bots.group_channel_username IS 'The username of the required group/channel (without @ symbol)';


--
-- Name: country_api_virtual_number; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.country_api_virtual_number (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    name text NOT NULL,
    key text NOT NULL,
    flag text,
    [REDACTED]uuid NOT NULL,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE country_api_virtual_number; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.country_api_virtual_number IS 'Stores country-specific configurations for virtual number APIs';


--
-- Name: COLUMN country_api_virtual_number.key; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.country_api_virtual_number.key IS 'Unique country code identifier';


--
-- Name: COLUMN country_api_virtual_number.flag; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.country_api_virtual_number.flag IS 'URL or reference to country flag image';


--
-- Name: file_version; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.file_version (
    id integer NOT NULL,
    file_id integer,
    version_number integer NOT NULL,
    path character varying NOT NULL,
    size numeric NOT NULL,
    created_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE file_version; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.file_version IS 'Stores different versions of files.';


--
-- Name: file_version_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.file_version_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: file_version_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.file_version_id_seq OWNED BY public.file_version.id;


--
-- Name: keyword; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.keyword (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    text text NOT NULL,
    user_id uuid,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE keyword; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.keyword IS 'Stores keywords associated with users.';


--
-- Name: list_url_receiver; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.list_url_receiver (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    personal_accounts_telegram_id uuid NOT NULL,
    url text NOT NULL,
    is_active boolean DEFAULT true,
    type character varying(50) NOT NULL,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE list_url_receiver; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.list_url_receiver IS 'Stores receiver URLs associated with Telegram accounts.';


--
-- Name: payments; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.payments (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    user_id integer NOT NULL,
    amount numeric(10,2) NOT NULL,
    payment_method public.payment_method NOT NULL,
    status public.payment_status DEFAULT 'PENDING'::public.payment_status NOT NULL,
    payment_id character varying(255),
    wallet_address character varying(255),
    admin_notes text,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    updated_at timestamp with time zone DEFAULT now() NOT NULL,
    completed_at timestamp with time zone,
    metadata jsonb,
    CONSTRAINT payments_amount_check CHECK ((amount > (0)::numeric))
);


--
-- Name: TABLE payments; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.payments IS 'Stores all payment transactions for user balance top-ups';


--
-- Name: COLUMN payments.id; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.id IS 'Unique identifier for the payment';


--
-- Name: COLUMN payments.user_id; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.user_id IS 'Reference to the user who made the payment';


--
-- Name: COLUMN payments.amount; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.amount IS 'Payment amount in USD';


--
-- Name: COLUMN payments.payment_method; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.payment_method IS 'Method used for payment (PAYPAL, CRYPTO, ADMIN)';


--
-- Name: COLUMN payments.status; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.status IS 'Current status of the payment';


--
-- Name: COLUMN payments.payment_id; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.payment_id IS 'External payment ID (PayPal order ID or crypto transaction hash)';


--
-- Name: COLUMN payments.wallet_address; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.wallet_address IS 'Crypto wallet address used for payment';


--
-- Name: COLUMN payments.admin_notes; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.admin_notes IS 'Notes for admin payments';


--
-- Name: COLUMN payments.created_at; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.created_at IS 'When the payment was created';


--
-- Name: COLUMN payments.updated_at; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.updated_at IS 'When the payment was last updated';


--
-- Name: COLUMN payments.completed_at; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.completed_at IS 'When the payment was completed';


--
-- Name: COLUMN payments.metadata; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.payments.metadata IS 'Additional payment-specific data in JSON format';


--
-- Name: payment_statistics; Type: VIEW; Schema: public; Owner: -
--

CREATE VIEW public.payment_statistics AS
 SELECT payment_method,
    status,
    count(*) AS count,
    sum(amount) AS total_amount,
    avg(amount) AS average_amount,
    min(created_at) AS first_payment,
    max(created_at) AS last_payment
   FROM public.payments
  GROUP BY payment_method, status;


--
-- Name: personal_accounts_telegram; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.personal_accounts_telegram (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    user_id uuid,
    api_key text NOT NULL,
    hash text NOT NULL,
    session text NOT NULL,
    session_file text DEFAULT ''::text,
    phone_number text NOT NULL,
    state text,
    login_time timestamp with time zone,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    name text
);


--
-- Name: TABLE personal_accounts_telegram; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.personal_accounts_telegram IS 'Stores personal Telegram accounts used for transferring messages between Telegram channels and accounts.';


--
-- Name: phone_numbers; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.phone_numbers (
    id integer NOT NULL,
    user_id integer NOT NULL,
    country_code character varying(10) NOT NULL,
    service character varying(50) NOT NULL,
    number character varying(50) NOT NULL,
    price numeric(10,2) NOT NULL,
    status character varying(20) DEFAULT 'pending'::character varying NOT NULL,
    fivesim_id character varying(50) NOT NULL,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    updated_at timestamp with time zone DEFAULT now() NOT NULL,
    expires_at timestamp with time zone
);


--
-- Name: TABLE phone_numbers; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.phone_numbers IS 'Stores phone numbers acquired for verification services.';


--
-- Name: phone_numbers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.phone_numbers_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: phone_numbers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.phone_numbers_id_seq OWNED BY public.phone_numbers.id;


--
-- Name: purchases; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.purchases (
    id integer NOT NULL,
    user_id integer NOT NULL,
    telegram_id bigint NOT NULL,
    service character varying(50) NOT NULL,
    country_id character varying(10) NOT NULL,
    operator character varying(50) NOT NULL,
    phone_number character varying(20),
    order_id character varying(100),
    cost numeric(10,2) NOT NULL,
    state character varying(20) NOT NULL,
    verification_code text,
    verification_message text,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE purchases; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.purchases IS 'Stores user purchases of virtual phone numbers';


--
-- Name: COLUMN purchases.telegram_id; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.purchases.telegram_id IS 'Reference to user''s Telegram ID';


--
-- Name: COLUMN purchases.state; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON COLUMN public.purchases.state IS 'Current state of the purchase (pending, completed, failed, etc.)';


--
-- Name: purchases_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.purchases_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: purchases_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.purchases_id_seq OWNED BY public.purchases.id;


--
-- Name: recharge_cards; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.recharge_cards (
    id integer NOT NULL,
    code character varying(50) NOT NULL,
    amount numeric(10,2) NOT NULL,
    is_used boolean DEFAULT false NOT NULL,
    is_reusable boolean DEFAULT false NOT NULL,
    created_by integer NOT NULL,
    used_by integer,
    used_at timestamp with time zone,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    expires_at timestamp with time zone
);


--
-- Name: TABLE recharge_cards; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.recharge_cards IS 'Stores recharge cards for user balance top-ups.';


--
-- Name: recharge_cards_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.recharge_cards_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: recharge_cards_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.recharge_cards_id_seq OWNED BY public.recharge_cards.id;


--
-- Name: resume_file; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.resume_file (
    id integer NOT NULL,
    user_id uuid,
    file_id integer,
    is_default boolean NOT NULL,
    is_active boolean NOT NULL,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE resume_file; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.resume_file IS 'Stores user resume files.';


--
-- Name: resume_file_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.resume_file_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: resume_file_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.resume_file_id_seq OWNED BY public.resume_file.id;


--
-- Name: settings; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.settings (
    id integer NOT NULL,
    key character varying(50) NOT NULL,
    value text NOT NULL,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    updated_at timestamp with time zone DEFAULT now() NOT NULL
);


--
-- Name: TABLE settings; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.settings IS 'Stores system configuration settings.';


--
-- Name: settings_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.settings_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: settings_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.settings_id_seq OWNED BY public.settings.id;


--
-- Name: sms_messages; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.sms_messages (
    id integer NOT NULL,
    phone_number_id integer NOT NULL,
    code character varying(50) NOT NULL,
    text text NOT NULL,
    received_at timestamp with time zone DEFAULT now() NOT NULL,
    is_delivered boolean DEFAULT false NOT NULL,
    delivered_at timestamp with time zone
);


--
-- Name: TABLE sms_messages; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.sms_messages IS 'Stores SMS messages received for verification services.';


--
-- Name: sms_messages_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.sms_messages_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: sms_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.sms_messages_id_seq OWNED BY public.sms_messages.id;


--
-- Name: storage_bucket; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.storage_bucket (
    id integer NOT NULL,
    user_id uuid,
    name character varying NOT NULL,
    is_public boolean NOT NULL,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE storage_bucket; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.storage_bucket IS 'Stores file storage buckets.';


--
-- Name: storage_bucket_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.storage_bucket_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: storage_bucket_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.storage_bucket_id_seq OWNED BY public.storage_bucket.id;


--
-- Name: storage_file; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.storage_file (
    id integer NOT NULL,
    bucket_id integer,
    folder_id integer,
    user_id uuid,
    name character varying NOT NULL,
    path character varying NOT NULL,
    mime_type character varying NOT NULL,
    size numeric NOT NULL,
    metadata jsonb,
    is_public boolean NOT NULL,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE storage_file; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.storage_file IS 'Stores file metadata and paths.';


--
-- Name: storage_file_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.storage_file_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: storage_file_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.storage_file_id_seq OWNED BY public.storage_file.id;


--
-- Name: storage_folder; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.storage_folder (
    id integer NOT NULL,
    bucket_id integer,
    parent_folder_id integer,
    name character varying NOT NULL,
    path character varying NOT NULL,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE storage_folder; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.storage_folder IS 'Stores folders within storage buckets.';


--
-- Name: storage_folder_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.storage_folder_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: storage_folder_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.storage_folder_id_seq OWNED BY public.storage_folder.id;


--
-- Name: student_entity_telegram; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.student_entity_telegram (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    name text NOT NULL,
    link text,
    type character varying(50) NOT NULL,
    is_valid boolean DEFAULT true,
    entity_id text NOT NULL,
    member_count integer DEFAULT 0,
    message_count integer DEFAULT 0,
    message_test text,
    last_time_test timestamp with time zone,
    phone_number_test text,
    source_entity text,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE student_entity_telegram; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.student_entity_telegram IS 'Stores information about Telegram entities (channels, groups, users) related to students.';


--
-- Name: tasks; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.tasks (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    personal_account_id uuid NOT NULL,
    task_type public.task_type NOT NULL,
    task_data jsonb DEFAULT '{}'::jsonb NOT NULL,
    state character varying(50) DEFAULT 'pending'::character varying,
    is_active boolean DEFAULT true,
    last_run_at timestamp with time zone,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);


--
-- Name: TABLE tasks; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.tasks IS 'Stores tasks associated with personal Telegram accounts';


--
-- Name: transactions; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.transactions (
    id integer NOT NULL,
    user_id integer NOT NULL,
    agent_id integer,
    type character varying(20) NOT NULL,
    amount numeric(10,2) NOT NULL,
    reference_id character varying(255),
    description text,
    created_at timestamp with time zone DEFAULT now() NOT NULL
);


--
-- Name: TABLE transactions; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.transactions IS 'Stores financial transactions for users.';


--
-- Name: transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.transactions_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: transactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.transactions_id_seq OWNED BY public.transactions.id;


--
-- Name: users; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.users (
    id uuid NOT NULL,
    first_name character varying(50) NOT NULL,
    last_name character varying(50) NOT NULL,
    avatar_url text,
    date_of_birth date,
    state boolean DEFAULT true,
    gender character varying(10) DEFAULT 'male'::character varying NOT NULL,
    user_type character varying(20) NOT NULL,
    country character varying(50),
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    CONSTRAINT users_gender_check CHECK (((gender)::text = ANY (ARRAY[('male'::character varying)::text, ('female'::character varying)::text, ('other'::character varying)::text]))),
    CONSTRAINT users_user_type_check CHECK (((user_type)::text = ANY (ARRAY[('client'::character varying)::text, ('admin'::character varying)::text, ('moderator'::character varying)::text, ('guest'::character varying)::text, ('super_admin'::character varying)::text, ('editor'::character varying)::text, ('viewer'::character varying)::text])))
);


--
-- Name: TABLE users; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.users IS 'Holds all user profile information';


--
-- Name: users_bot_telegram; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.users_bot_telegram (
    id integer NOT NULL,
    telegram_id bigint NOT NULL,
    username character varying(255),
    first_name character varying(255),
    last_name character varying(255),
    email character varying(255) NOT NULL,
    password_hash character varying(255) NOT NULL,
    language character varying(10) DEFAULT 'en'::character varying NOT NULL,
    role character varying(10) DEFAULT 'user'::character varying NOT NULL,
    balance numeric(10,2) DEFAULT 0 NOT NULL,
    is_banned boolean DEFAULT false NOT NULL,
    last_login timestamp with time zone,
    bot_id uuid,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    updated_at timestamp with time zone DEFAULT now() NOT NULL
);


--
-- Name: TABLE users_bot_telegram; Type: COMMENT; Schema: public; Owner: -
--

COMMENT ON TABLE public.users_bot_telegram IS 'Stores Telegram user accounts and their associated data.';


--
-- Name: users_bot_telegram_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.users_bot_telegram_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- Name: users_bot_telegram_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.users_bot_telegram_id_seq OWNED BY public.users_bot_telegram.id;


--
-- Name: messages; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
)
PARTITION BY RANGE (inserted_at);


--
-- Name: messages_2025_06_09; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_09 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_10; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_10 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_11; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_11 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_12; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_12 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_13; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_13 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_14; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_14 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: messages_2025_06_15; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.messages_2025_06_15 (
    topic text NOT NULL,
    extension text NOT NULL,
    payload jsonb,
    event text,
    private boolean DEFAULT false,
    updated_at timestamp without time zone DEFAULT now() NOT NULL,
    inserted_at timestamp without time zone DEFAULT now() NOT NULL,
    id uuid DEFAULT gen_random_uuid() NOT NULL
);


--
-- Name: schema_migrations; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.schema_migrations (
    version bigint NOT NULL,
    inserted_at timestamp(0) without time zone
);


--
-- Name: subscription; Type: TABLE; Schema: realtime; Owner: -
--

CREATE TABLE realtime.subscription (
    id bigint NOT NULL,
    subscription_id uuid NOT NULL,
    entity regclass NOT NULL,
    filters realtime.user_defined_filter[] DEFAULT '{}'::realtime.user_defined_filter[] NOT NULL,
    claims jsonb NOT NULL,
    claims_role regrole GENERATED ALWAYS AS (realtime.to_regrole((claims ->> 'role'::text))) STORED NOT NULL,
    created_at timestamp without time zone DEFAULT timezone('utc'::text, now()) NOT NULL
);


--
-- Name: subscription_id_seq; Type: SEQUENCE; Schema: realtime; Owner: -
--

ALTER TABLE realtime.subscription ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
    SEQUENCE NAME realtime.subscription_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1
);


--
-- Name: buckets; Type: TABLE; Schema: storage; Owner: -
--

CREATE TABLE storage.buckets (
    id text NOT NULL,
    name text NOT NULL,
    owner uuid,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    public boolean DEFAULT false,
    avif_autodetection boolean DEFAULT false,
    file_size_limit bigint,
    allowed_mime_types text[],
    owner_id text
);


--
-- Name: COLUMN buckets.owner; Type: COMMENT; Schema: storage; Owner: -
--

COMMENT ON COLUMN storage.buckets.owner IS 'Field is deprecated, use owner_id instead';


--
-- Name: migrations; Type: TABLE; Schema: storage; Owner: -
--

CREATE TABLE storage.migrations (
    id integer NOT NULL,
    name character varying(100) NOT NULL,
    hash character varying(40) NOT NULL,
    executed_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP
);


--
-- Name: objects; Type: TABLE; Schema: storage; Owner: -
--

CREATE TABLE storage.objects (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    bucket_id text,
    name text,
    owner uuid,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    last_accessed_at timestamp with time zone DEFAULT now(),
    metadata jsonb,
    path_tokens text[] GENERATED ALWAYS AS (string_to_array(name, '/'::text)) STORED,
    version text,
    owner_id text,
    user_metadata jsonb
);


--
-- Name: COLUMN objects.owner; Type: COMMENT; Schema: storage; Owner: -
--

COMMENT ON COLUMN storage.objects.owner IS 'Field is deprecated, use owner_id instead';


--
-- Name: s3_multipart_uploads; Type: TABLE; Schema: storage; Owner: -
--

CREATE TABLE storage.s3_multipart_uploads (
    id text NOT NULL,
    in_progress_size bigint DEFAULT 0 NOT NULL,
    upload_signature text NOT NULL,
    bucket_id text NOT NULL,
    key text NOT NULL COLLATE pg_catalog."C",
    version text NOT NULL,
    owner_id text,
    created_at timestamp with time zone DEFAULT now() NOT NULL,
    user_metadata jsonb
);


--
-- Name: s3_multipart_uploads_parts; Type: TABLE; Schema: storage; Owner: -
--

CREATE TABLE storage.s3_multipart_uploads_parts (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    upload_id text NOT NULL,
    size bigint DEFAULT 0 NOT NULL,
    part_number integer NOT NULL,
    bucket_id text NOT NULL,
    key text NOT NULL COLLATE pg_catalog."C",
    etag text NOT NULL,
    owner_id text,
    version text NOT NULL,
    created_at timestamp with time zone DEFAULT now() NOT NULL
);


--
-- Name: schema_migrations; Type: TABLE; Schema: supabase_migrations; Owner: -
--

CREATE TABLE supabase_migrations.schema_migrations (
    version text NOT NULL,
    statements text[],
    name text
);


--
-- Name: seed_files; Type: TABLE; Schema: supabase_migrations; Owner: -
--

CREATE TABLE supabase_migrations.seed_files (
    path text NOT NULL,
    hash text NOT NULL
);


--
-- Name: messages_2025_06_09; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_09 FOR VALUES FROM ('2025-06-09 00:00:00') TO ('2025-06-10 00:00:00');


--
-- Name: messages_2025_06_10; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_10 FOR VALUES FROM ('2025-06-10 00:00:00') TO ('2025-06-11 00:00:00');


--
-- Name: messages_2025_06_11; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_11 FOR VALUES FROM ('2025-06-11 00:00:00') TO ('2025-06-12 00:00:00');


--
-- Name: messages_2025_06_12; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_12 FOR VALUES FROM ('2025-06-12 00:00:00') TO ('2025-06-13 00:00:00');


--
-- Name: messages_2025_06_13; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_13 FOR VALUES FROM ('2025-06-13 00:00:00') TO ('2025-06-14 00:00:00');


--
-- Name: messages_2025_06_14; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_14 FOR VALUES FROM ('2025-06-14 00:00:00') TO ('2025-06-15 00:00:00');


--
-- Name: messages_2025_06_15; Type: TABLE ATTACH; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages ATTACH PARTITION realtime.messages_2025_06_15 FOR VALUES FROM ('2025-06-15 00:00:00') TO ('2025-06-16 00:00:00');


--
-- Name: refresh_tokens id; Type: DEFAULT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.refresh_tokens ALTER COLUMN id SET DEFAULT nextval('auth.refresh_tokens_id_seq'::regclass);


--
-- Name: file_version id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.file_version ALTER COLUMN id SET DEFAULT nextval('public.file_version_id_seq'::regclass);


--
-- Name: phone_numbers id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.phone_numbers ALTER COLUMN id SET DEFAULT nextval('public.phone_numbers_id_seq'::regclass);


--
-- Name: purchases id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.purchases ALTER COLUMN id SET DEFAULT nextval('public.purchases_id_seq'::regclass);


--
-- Name: recharge_cards id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.recharge_cards ALTER COLUMN id SET DEFAULT nextval('public.recharge_cards_id_seq'::regclass);


--
-- Name: resume_file id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.resume_file ALTER COLUMN id SET DEFAULT nextval('public.resume_file_id_seq'::regclass);


--
-- Name: settings id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.settings ALTER COLUMN id SET DEFAULT nextval('public.settings_id_seq'::regclass);


--
-- Name: sms_messages id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.sms_messages ALTER COLUMN id SET DEFAULT nextval('public.sms_messages_id_seq'::regclass);


--
-- Name: storage_bucket id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_bucket ALTER COLUMN id SET DEFAULT nextval('public.storage_bucket_id_seq'::regclass);


--
-- Name: storage_file id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_file ALTER COLUMN id SET DEFAULT nextval('public.storage_file_id_seq'::regclass);


--
-- Name: storage_folder id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_folder ALTER COLUMN id SET DEFAULT nextval('public.storage_folder_id_seq'::regclass);


--
-- Name: transactions id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.transactions ALTER COLUMN id SET DEFAULT nextval('public.transactions_id_seq'::regclass);


--
-- Name: users_bot_telegram id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users_bot_telegram ALTER COLUMN id SET DEFAULT nextval('public.users_bot_telegram_id_seq'::regclass);


--
-- Data for Name: audit_log_entries; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.audit_log_entries (instance_id, id, payload, created_at, ip_address) FROM stdin;
00000000-0000-0000-0000-000000000000	c82da0ad-60b4-4a7c-9cf3-c2ae9dccca88	{"action":"user_confirmation_requested","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-02-27 21:46:46.307019+00	
00000000-0000-0000-0000-000000000000	fe7e86ec-6475-4314-bcc5-47b1599c900c	{"action":"user_signedup","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-02-27 21:49:27.381948+00	
00000000-0000-0000-0000-000000000000	17891d33-9b33-4cfc-8aaf-af2c4839d827	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-02-27 21:49:27.388967+00	
00000000-0000-0000-0000-000000000000	24607126-7456-442c-9444-681c86269a97	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-02-27 23:37:45.756354+00	
00000000-0000-0000-0000-000000000000	4420f592-8688-4d94-acb6-55eb12434574	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-02-27 23:37:45.763421+00	
00000000-0000-0000-0000-000000000000	c228d31d-4a08-4fd4-ba02-a9357f868326	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-02-28 00:37:33.118304+00	
00000000-0000-0000-0000-000000000000	0e6d9f04-0ce4-4639-9203-660fedb1973b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-02-28 00:37:33.119151+00	
00000000-0000-0000-0000-000000000000	179e6a0d-99ff-4067-8b5c-feb555370b1d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 21:00:46.572995+00	
00000000-0000-0000-0000-000000000000	dfba153c-c432-433c-abb5-02965ba491d6	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 21:00:46.587305+00	
00000000-0000-0000-0000-000000000000	86c8debd-022e-414d-a9fa-e333f8367a10	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 21:59:15.396606+00	
00000000-0000-0000-0000-000000000000	61b0e492-ee65-4a1f-ad64-06a4a244ea5b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 21:59:15.397445+00	
00000000-0000-0000-0000-000000000000	2a9dd214-c24b-4dbd-a25a-53b3c40e885e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 23:19:11.076008+00	
00000000-0000-0000-0000-000000000000	4d2f3393-af18-4923-a3a4-61ff502a57d4	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-01 23:19:11.07746+00	
00000000-0000-0000-0000-000000000000	da6111ad-86e2-4333-92c7-27acc88dd250	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 01:13:35.008652+00	
00000000-0000-0000-0000-000000000000	6be628db-4ff0-4ddf-b64b-c0b8d4260bbb	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 01:13:35.010917+00	
00000000-0000-0000-0000-000000000000	a4b64068-aa11-40f8-94ea-d9fa08426bca	{"action":"user_signedup","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-03-02 01:14:36.357175+00	
00000000-0000-0000-0000-000000000000	cbf9902f-6a09-4636-8a9b-6425293133a0	{"action":"login","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-02 01:14:36.366338+00	
00000000-0000-0000-0000-000000000000	7d22e287-efee-46d6-aec6-ea63ba65f74e	{"action":"token_refreshed","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 22:16:15.657971+00	
00000000-0000-0000-0000-000000000000	945820b6-cc00-46a2-b756-439769406d11	{"action":"token_revoked","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 22:16:15.667035+00	
00000000-0000-0000-0000-000000000000	e1fe9ef2-f55b-42a9-b7ae-5c794ed78c20	{"action":"token_refreshed","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 23:58:16.980808+00	
00000000-0000-0000-0000-000000000000	5e6ee57d-b5c0-4f7e-aa96-65fd2fff3e91	{"action":"token_revoked","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-02 23:58:16.982865+00	
00000000-0000-0000-0000-000000000000	6b27cb8c-87d3-4df3-9583-ead05abc265a	{"action":"token_refreshed","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 19:35:37.787175+00	
00000000-0000-0000-0000-000000000000	d3abf62f-5076-40ea-95cb-e96ebb807ee3	{"action":"token_revoked","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 19:35:37.798474+00	
00000000-0000-0000-0000-000000000000	f64f1d14-34d4-4b9d-94c5-52186420af7f	{"action":"logout","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-03-03 19:37:25.838527+00	
00000000-0000-0000-0000-000000000000	8c7dd8b3-6eca-4e09-a798-998a4fd0a007	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:39:34.046368+00	
00000000-0000-0000-0000-000000000000	40bc5bee-248c-48e9-959f-1ebbdcf36e9e	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:41:26.766402+00	
00000000-0000-0000-0000-000000000000	aea0fcb0-e916-4a95-b13e-24304f7ede14	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:41:37.99503+00	
00000000-0000-0000-0000-000000000000	1cf4596d-fb23-403f-b428-b990eaafa41c	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:42:51.276252+00	
00000000-0000-0000-0000-000000000000	3a8bf999-97c1-41af-b025-fcffe6f72f3c	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:43:15.370435+00	
00000000-0000-0000-0000-000000000000	a626ccae-08ad-48ee-9ff5-c6d0832510fd	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:43:29.91187+00	
00000000-0000-0000-0000-000000000000	17b94acc-f066-4d19-95b0-f32973352063	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 19:45:12.431672+00	
00000000-0000-0000-0000-000000000000	4bebe3f5-b71d-48dd-a2db-99283b6e3b6f	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 20:49:14.056843+00	
00000000-0000-0000-0000-000000000000	cf34fbd7-a003-49b3-af96-8af04802c4a6	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 20:49:14.058362+00	
00000000-0000-0000-0000-000000000000	c95d430d-382b-4a05-b268-6529f2278f64	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-03 21:20:27.645629+00	
00000000-0000-0000-0000-000000000000	737bcf4b-e8c9-4cd6-97cf-4cb4ca6c93d8	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 21:49:49.389718+00	
00000000-0000-0000-0000-000000000000	42782b6b-3ebf-4aae-b2b3-f7c106c2c78b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-03 21:49:49.390558+00	
00000000-0000-0000-0000-000000000000	f6ed330e-fbdc-45c3-9fbe-16ba78797c13	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 00:13:20.37117+00	
00000000-0000-0000-0000-000000000000	cd5b44d4-5767-44ad-be11-d474d5f53380	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 00:13:20.375983+00	
00000000-0000-0000-0000-000000000000	961133ae-557e-4304-ad49-43778f1eddaa	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 00:20:54.838746+00	
00000000-0000-0000-0000-000000000000	fc9d0657-2bae-469f-a9b8-ebf2c3f25c71	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 00:20:54.840303+00	
00000000-0000-0000-0000-000000000000	23d56872-5db3-41bc-a5f4-d1ed332cf1d8	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-04 19:11:50.944131+00	
00000000-0000-0000-0000-000000000000	e730bc36-f7ce-42df-82dc-87662430394d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 20:13:56.226941+00	
00000000-0000-0000-0000-000000000000	d5491483-b14b-441e-aa14-cfc0fec8012b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 20:13:56.230597+00	
00000000-0000-0000-0000-000000000000	9ce4f343-8975-4a76-9fa6-939a1fcf0dbf	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 20:34:57.44728+00	
00000000-0000-0000-0000-000000000000	4b3ea225-349f-44c2-ad04-e655ebb328ee	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-04 20:34:57.448196+00	
00000000-0000-0000-0000-000000000000	4a4a8dd8-a091-459a-a9a8-11a4dd097e1c	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-05 18:41:36.996046+00	
00000000-0000-0000-0000-000000000000	2d77d3b0-4edf-4290-8552-2343e00112c3	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-05 18:41:37.009749+00	
00000000-0000-0000-0000-000000000000	9321f732-8adf-4e4e-bd14-4dba155cfdfe	{"action":"user_signedup","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-03-05 18:45:14.025091+00	
00000000-0000-0000-0000-000000000000	4d29ec27-12b5-4497-a62c-d0d26f8f08bb	{"action":"login","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-05 18:45:14.037443+00	
00000000-0000-0000-0000-000000000000	3c5460d5-7652-40cb-b481-6de201ba15b6	{"action":"token_refreshed","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-06 19:19:32.45836+00	
00000000-0000-0000-0000-000000000000	c3b6206e-3235-452a-af69-39f7523b23a7	{"action":"token_revoked","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-06 19:19:32.472385+00	
00000000-0000-0000-0000-000000000000	28ae3bc1-3165-42c1-9c74-9e7d169881b6	{"action":"token_refreshed","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 18:46:26.739607+00	
00000000-0000-0000-0000-000000000000	5c32a223-d556-41c3-828c-d928addb8dab	{"action":"token_revoked","actor_id":"3fb99091-53e5-4c84-93b6-0971624226c7","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 18:46:26.759474+00	
00000000-0000-0000-0000-000000000000	e233adcb-4019-472b-b823-24c07847dfdc	{"action":"user_signedup","actor_id":"c18ee769-b11a-4c2f-998b-011aa7f68814","actor_username":"mohanad09078@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-03-07 18:55:29.849802+00	
00000000-0000-0000-0000-000000000000	a067832c-674b-4d18-a4f7-046346a6ccc2	{"action":"login","actor_id":"c18ee769-b11a-4c2f-998b-011aa7f68814","actor_username":"mohanad09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-07 18:55:29.861845+00	
00000000-0000-0000-0000-000000000000	ba4a2b34-b376-4323-baf2-7a051fc26f9b	{"action":"user_signedup","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-03-07 19:07:43.082498+00	
00000000-0000-0000-0000-000000000000	49345d69-bae0-43e6-b893-fe3696d1cb30	{"action":"login","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-07 19:07:43.087729+00	
00000000-0000-0000-0000-000000000000	8049ba59-2f7e-4415-a38b-f179db18b546	{"action":"token_refreshed","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 20:36:33.874565+00	
00000000-0000-0000-0000-000000000000	9d0d513b-8d5d-42de-a8ca-f54e334bcbe0	{"action":"token_revoked","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 20:36:33.876701+00	
00000000-0000-0000-0000-000000000000	4b76bc25-d08c-4858-8abb-ca2cf8464dc9	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 23:35:32.584508+00	
00000000-0000-0000-0000-000000000000	8748558c-c8c0-4b5d-a25d-f7bd563cf8f5	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-07 23:35:32.587178+00	
00000000-0000-0000-0000-000000000000	73eb0328-0177-4170-9945-010c96265d6c	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 00:33:48.260328+00	
00000000-0000-0000-0000-000000000000	c21eda5b-94c0-4787-930f-9a62aa250c32	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 00:33:48.2648+00	
00000000-0000-0000-0000-000000000000	748a22ad-fdcc-4bc0-af33-3afb2a9c809e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 00:54:27.876711+00	
00000000-0000-0000-0000-000000000000	cecf636d-6217-44e4-883a-6a8c9dc29738	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 00:54:27.879578+00	
00000000-0000-0000-0000-000000000000	2ca62191-96bd-4e8b-b63f-1fc761c062d4	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 01:32:02.516178+00	
00000000-0000-0000-0000-000000000000	e11bfdbc-5af7-490f-a331-475e7fbcf561	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 01:32:02.519665+00	
00000000-0000-0000-0000-000000000000	e93052c7-6b7b-4117-a276-85cbccfbfc30	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 02:14:24.497901+00	
00000000-0000-0000-0000-000000000000	3d8f0b43-5608-4da0-9dc3-92a0056e2d74	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 02:14:24.499359+00	
00000000-0000-0000-0000-000000000000	f57762c6-112a-4433-9410-76fd4bbde474	{"action":"token_refreshed","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 02:52:51.661508+00	
00000000-0000-0000-0000-000000000000	e2d7d96e-c871-4eaf-8c4d-52df484aa9af	{"action":"token_revoked","actor_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","actor_username":"ahmedfaroq09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 02:52:51.662414+00	
00000000-0000-0000-0000-000000000000	bddf1a0b-3ad5-4f08-a7a3-f8b5d630fb09	{"action":"user_signedup","actor_id":"0bf83e9e-14e7-4a76-8ddd-9e18b92a271f","actor_username":"yazan090788@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-03-08 03:27:27.852819+00	
00000000-0000-0000-0000-000000000000	cb796a9a-3b4f-4ca7-bacf-b42488aca5ad	{"action":"login","actor_id":"0bf83e9e-14e7-4a76-8ddd-9e18b92a271f","actor_username":"yazan090788@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-08 03:27:27.864049+00	
00000000-0000-0000-0000-000000000000	add46128-6142-4c94-bad0-09d03a30b0b3	{"action":"user_recovery_requested","actor_id":"3203aab6-f85e-407d-820a-77140ff4de6b","actor_username":"mfoud2020@gmail.com","actor_via_sso":false,"log_type":"user"}	2025-03-08 03:51:43.927833+00	
00000000-0000-0000-0000-000000000000	ccb6d7f5-ec40-4129-ab13-2401408e3486	{"action":"user_recovery_requested","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"user"}	2025-03-08 03:52:14.577904+00	
00000000-0000-0000-0000-000000000000	38d626ce-b9ac-4a21-bff9-333f93220691	{"action":"user_confirmation_requested","actor_id":"4a7a65b2-db98-4e2c-b337-840c821d2f62","actor_username":"yazanalshmiry@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-03-08 03:57:10.00572+00	
00000000-0000-0000-0000-000000000000	e1243e5e-d2e9-446a-8036-afd42f260ee1	{"action":"user_confirmation_requested","actor_id":"4a7a65b2-db98-4e2c-b337-840c821d2f62","actor_username":"yazanalshmiry@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-03-08 03:58:10.023053+00	
00000000-0000-0000-0000-000000000000	35148d12-711f-4800-82a3-0c1a155ea04f	{"action":"user_recovery_requested","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"user"}	2025-03-08 03:59:59.47635+00	
00000000-0000-0000-0000-000000000000	9a0b5cf8-dc69-4682-9eb9-367d753d7428	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 20:33:21.912307+00	
00000000-0000-0000-0000-000000000000	efd598ae-3454-411b-86b9-78b1527bb6d5	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-08 20:33:21.930827+00	
00000000-0000-0000-0000-000000000000	ebc20afd-6879-4087-9605-ba79d1d63210	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-09 00:43:13.927062+00	
00000000-0000-0000-0000-000000000000	99dd556c-7ada-44d5-9645-bdf5a3da74b1	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-09 00:43:13.929971+00	
00000000-0000-0000-0000-000000000000	c1787400-2b64-46c3-a5ce-7717735c9052	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"yazan090788@gmail.com","user_id":"0bf83e9e-14e7-4a76-8ddd-9e18b92a271f","user_phone":""}}	2025-03-10 19:52:52.77107+00	
00000000-0000-0000-0000-000000000000	e337294c-fa0f-44eb-88fe-df4b57bc1065	{"action":"user_confirmation_requested","actor_id":"d25e7b07-3934-4676-9870-747f4fce15d4","actor_username":"aseel09078@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-03-10 19:54:23.882073+00	
00000000-0000-0000-0000-000000000000	ab3bd988-b90b-47fd-8141-4e063cdab41e	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"yazanalshmiry@gmail.com","user_id":"4a7a65b2-db98-4e2c-b337-840c821d2f62","user_phone":""}}	2025-03-10 20:01:47.121761+00	
00000000-0000-0000-0000-000000000000	163c505b-daae-413c-95f4-b5f7bac25815	{"action":"user_confirmation_requested","actor_id":"a8885f84-0328-41f7-9aef-3df4a9a94cc4","actor_username":"ahmedfathi09078@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-03-10 20:02:48.520363+00	
00000000-0000-0000-0000-000000000000	d71772ec-7fa4-4baf-9659-a3fb34a63d1f	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-11 02:50:43.21921+00	
00000000-0000-0000-0000-000000000000	11846b2d-e80c-4cee-acda-db374e7c26ed	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-11 02:50:43.229543+00	
00000000-0000-0000-0000-000000000000	e79152ec-b547-45f9-8665-cf9321be3dcd	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-11 02:57:48.962027+00	
00000000-0000-0000-0000-000000000000	821cdc2e-e767-49e0-883c-1aa976ecd36d	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-11 02:57:48.963593+00	
00000000-0000-0000-0000-000000000000	e6e92dd5-4ee8-4039-939f-517004e53c26	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-12 23:12:55.366794+00	
00000000-0000-0000-0000-000000000000	07926eb2-a8d7-40df-a163-00218d6cf5eb	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-12 23:12:55.386977+00	
00000000-0000-0000-0000-000000000000	d55eb040-67d1-4a28-9ce9-3b049f85ff8b	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-13 00:11:24.132004+00	
00000000-0000-0000-0000-000000000000	08f088aa-aabf-454f-85c6-843d8f80b9bb	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-13 00:11:24.135765+00	
00000000-0000-0000-0000-000000000000	dc0db1c7-63e4-4b78-84a6-9505364851b4	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-13 01:06:57.987304+00	
00000000-0000-0000-0000-000000000000	f6910bf4-e804-46a8-94b6-555b05377b65	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-13 01:06:57.991136+00	
00000000-0000-0000-0000-000000000000	21e99fcb-d800-43a0-a785-15224d83fc8d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-14 19:55:56.354962+00	
00000000-0000-0000-0000-000000000000	275610ad-b382-4065-baf1-cfae17821a30	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-14 19:55:56.372096+00	
00000000-0000-0000-0000-000000000000	65764da2-c452-4f86-a90c-c4806bd923c1	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 00:00:48.224921+00	
00000000-0000-0000-0000-000000000000	31eb04f6-c069-43ce-9756-97161057377d	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 00:00:48.251012+00	
00000000-0000-0000-0000-000000000000	c4d35eaf-5fbd-4eaa-b994-1583f27bbbff	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-17 00:00:51.529449+00	
00000000-0000-0000-0000-000000000000	6ef28511-6b9e-4881-a18e-a9dc4550815f	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 00:59:05.730645+00	
00000000-0000-0000-0000-000000000000	4cbd4888-16f1-45d0-aa76-24e8367f88a7	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 00:59:05.732654+00	
00000000-0000-0000-0000-000000000000	d3b43cfb-7b1d-4de2-a146-cc1f1d458683	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 01:10:55.495073+00	
00000000-0000-0000-0000-000000000000	7c869993-97df-4935-b257-55653b36fea9	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 01:10:55.49793+00	
00000000-0000-0000-0000-000000000000	a9904ec5-03af-49a3-9cae-23e1c598167d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-17 01:10:55.692704+00	
00000000-0000-0000-0000-000000000000	339536e6-aee9-4a62-b365-42185abec2c6	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-18 23:26:39.518938+00	
00000000-0000-0000-0000-000000000000	045dcf5a-aa19-4b79-bf61-c34fa385f379	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-18 23:26:39.541186+00	
00000000-0000-0000-0000-000000000000	b3ed89d9-6273-4595-8d87-fca6a1bb5e1e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-19 00:25:34.911273+00	
00000000-0000-0000-0000-000000000000	26f36221-d4d4-4ddd-b256-21508f9e95ec	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-19 00:25:34.917475+00	
00000000-0000-0000-0000-000000000000	bdb904e9-eb47-495b-8a76-1c416c143b69	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-19 01:24:05.924376+00	
00000000-0000-0000-0000-000000000000	13f985f1-597a-43d8-b9f8-3b4f2213728f	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-19 01:24:05.927033+00	
00000000-0000-0000-0000-000000000000	d38e9b78-701b-4a85-bcee-9ed47b20a4e5	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-19 01:24:06.891599+00	
00000000-0000-0000-0000-000000000000	e0b5f7e9-605b-4b58-b78b-e8f96975e818	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-28 22:16:48.381058+00	
00000000-0000-0000-0000-000000000000	c0f046ef-48ab-4da5-ba47-80eff42aba8c	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-28 22:16:48.397641+00	
00000000-0000-0000-0000-000000000000	f9c3d60b-2c5f-4811-ad2f-4cee981c649f	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-28 23:15:27.490965+00	
00000000-0000-0000-0000-000000000000	6edc21c4-e01d-45ff-918b-7556b17bd2ec	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-28 23:15:27.494322+00	
00000000-0000-0000-0000-000000000000	5dab046e-636e-49a0-8f63-41e110519e0e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 00:13:38.191821+00	
00000000-0000-0000-0000-000000000000	64b3c8c8-e934-4795-9133-49974ffab46f	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 00:13:38.194511+00	
00000000-0000-0000-0000-000000000000	f32294e9-bf43-4267-8a4f-19eac0670744	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 01:11:46.702684+00	
00000000-0000-0000-0000-000000000000	bc224521-56ae-48d1-83d4-39cd517c409c	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 01:11:46.705435+00	
00000000-0000-0000-0000-000000000000	3b88e621-f2e1-4593-bea5-f7f89d41197e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 22:20:53.348837+00	
00000000-0000-0000-0000-000000000000	e6625164-864a-42bb-83a5-2a334a742196	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 22:20:53.369346+00	
00000000-0000-0000-0000-000000000000	c2b2d915-98a2-4da0-b1de-6b129ad30246	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 23:27:06.026663+00	
00000000-0000-0000-0000-000000000000	1e5b0b0f-a806-4bb0-bbc9-933a0d07547c	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-29 23:27:06.031289+00	
00000000-0000-0000-0000-000000000000	cec7e595-64eb-48ea-a119-59b1ae0cb332	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 00:25:33.158899+00	
00000000-0000-0000-0000-000000000000	aa9e04ee-cad4-4195-ba0e-e8380ca41f22	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 00:25:33.162246+00	
00000000-0000-0000-0000-000000000000	d16e5110-899c-4031-8115-75a91d9043c0	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 01:24:58.434801+00	
00000000-0000-0000-0000-000000000000	604d0217-e061-4db9-9f2b-06da62522a3c	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 01:24:58.436732+00	
00000000-0000-0000-0000-000000000000	301c831f-ee0b-489b-964f-b0a1d7d5b8d7	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 18:55:53.313456+00	
00000000-0000-0000-0000-000000000000	ea2fe65b-eb59-4763-981e-9dd6fdb8e2f8	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 18:55:53.331878+00	
00000000-0000-0000-0000-000000000000	ef52627a-87bd-4165-8455-276131464791	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-30 18:57:12.994346+00	
00000000-0000-0000-0000-000000000000	d4d82649-d671-4ada-b52c-d7fad311bd5e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 19:55:19.634872+00	
00000000-0000-0000-0000-000000000000	0461e13a-31b7-4868-bbb8-0abffb323330	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 19:55:19.636956+00	
00000000-0000-0000-0000-000000000000	00829181-31f3-4776-a4bd-74048ad6f651	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 20:54:21.422316+00	
00000000-0000-0000-0000-000000000000	71f660c5-01db-45ac-ad86-8590cd1598a9	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 20:54:21.431875+00	
00000000-0000-0000-0000-000000000000	f642c3fb-ab44-4f4c-b31f-ad695deda0e1	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 21:52:37.713576+00	
00000000-0000-0000-0000-000000000000	d561eeea-44db-4fa4-82e2-99e7cbcd7cab	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-30 21:52:37.715795+00	
00000000-0000-0000-0000-000000000000	67a7e562-6d18-4235-a46c-7c0469670f97	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-03-31 17:39:46.15723+00	
00000000-0000-0000-0000-000000000000	556b2f89-1033-4067-a73d-6f4993061da0	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-31 19:16:35.393601+00	
00000000-0000-0000-0000-000000000000	5c5acea8-0e14-4d67-8649-e447c22d4bf2	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-03-31 19:16:35.397747+00	
00000000-0000-0000-0000-000000000000	affd0c44-1abd-4cbb-b980-0f7bc6580e30	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 19:38:29.721997+00	
00000000-0000-0000-0000-000000000000	4ae2bf62-e722-4f9e-aac3-d93448a8a74e	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 19:38:29.733503+00	
00000000-0000-0000-0000-000000000000	bc12bfec-0f81-4a86-9982-ba711665340c	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-04-07 19:39:07.808121+00	
00000000-0000-0000-0000-000000000000	9acff5fd-4344-40e3-8b9d-e9326fb68a2a	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 20:06:24.054361+00	
00000000-0000-0000-0000-000000000000	951b6d94-2296-47db-85f5-bf4a5ad86fbd	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 20:06:24.058199+00	
00000000-0000-0000-0000-000000000000	5d8f1736-2ed8-478a-9f12-feb8fa38ad3b	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 21:07:20.287002+00	
00000000-0000-0000-0000-000000000000	a719260d-6d9f-4d0a-bcfb-3fd95e80e4eb	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 21:07:20.290864+00	
00000000-0000-0000-0000-000000000000	7e0f9e27-a1a4-46df-8091-2e6e06bed369	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 21:24:24.599237+00	
00000000-0000-0000-0000-000000000000	5254c874-f76e-4dba-85bd-26e7cc40a252	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 21:24:24.600808+00	
00000000-0000-0000-0000-000000000000	af540753-71c0-489f-90f6-1d73cc6bbf95	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 22:07:35.444019+00	
00000000-0000-0000-0000-000000000000	dd8cc984-fe94-4e44-8062-8dbae2672835	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-07 22:07:35.447432+00	
00000000-0000-0000-0000-000000000000	85b5bc79-506f-4c5f-9a23-761e000c39e4	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-08 19:15:49.472415+00	
00000000-0000-0000-0000-000000000000	edfac161-b520-41fc-8a04-4a30049faee7	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-08 19:15:49.490122+00	
00000000-0000-0000-0000-000000000000	346d3256-74d7-4259-b427-cd7097eea504	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-08 20:13:54.656671+00	
00000000-0000-0000-0000-000000000000	c1eb5d48-afef-4e64-8f92-2ff645878603	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-08 20:13:54.660575+00	
00000000-0000-0000-0000-000000000000	e92da317-a16e-4dc2-81b6-a0526670bb83	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-11 20:49:11.154324+00	
00000000-0000-0000-0000-000000000000	5805daea-5c85-415b-9668-ae2d451d2dbd	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-11 20:49:11.17218+00	
00000000-0000-0000-0000-000000000000	42a6efda-afc5-4b20-8501-05ecc22ef16d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-15 19:23:05.485539+00	
00000000-0000-0000-0000-000000000000	d8832e5f-8e03-4f85-8575-a015f8b3ffc7	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-15 19:23:05.5117+00	
00000000-0000-0000-0000-000000000000	08e7e758-1678-454d-9759-87b1e0128289	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-15 23:01:11.724382+00	
00000000-0000-0000-0000-000000000000	b7f75498-b630-4109-a29d-e8c8fb4c3f26	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-15 23:01:11.733062+00	
00000000-0000-0000-0000-000000000000	a4239e8c-45c9-4e6a-abe5-4f21e53627d7	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-20 19:58:13.700489+00	
00000000-0000-0000-0000-000000000000	4c67842d-92ab-4203-aadc-1edd6ae8c6d9	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-20 19:58:13.717123+00	
00000000-0000-0000-0000-000000000000	e3ac809b-62f4-4d06-9627-9b4f2486e024	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-21 20:59:45.665048+00	
00000000-0000-0000-0000-000000000000	2c308b2e-5b61-436b-96b7-bf9fcdcc1778	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-21 20:59:45.681257+00	
00000000-0000-0000-0000-000000000000	276e47f0-6af5-430e-9ca4-4736172e2135	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 19:46:56.216529+00	
00000000-0000-0000-0000-000000000000	b8fb3655-edf3-4c59-beee-a7986314f271	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 19:46:56.233947+00	
00000000-0000-0000-0000-000000000000	cb02d589-bbf3-402a-b19b-bc94b900392b	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-04-23 19:47:02.402484+00	
00000000-0000-0000-0000-000000000000	6a3b0413-446b-4da3-b728-cf8adc37b946	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 20:13:24.680894+00	
00000000-0000-0000-0000-000000000000	8246f8ea-636c-4c6d-971c-5d25927acfa7	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 20:13:24.682973+00	
00000000-0000-0000-0000-000000000000	62fb2495-3abf-457a-9a91-7e0223eb86fc	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 21:12:25.65066+00	
00000000-0000-0000-0000-000000000000	e95e1def-ac0b-4baf-8f17-ff13467d6173	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 21:12:25.652214+00	
00000000-0000-0000-0000-000000000000	3adb286e-cec3-4d6d-9401-0da91f687e78	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 21:44:46.158688+00	
00000000-0000-0000-0000-000000000000	676bdfbe-3169-4687-be0b-f670884db508	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-23 21:44:46.159657+00	
00000000-0000-0000-0000-000000000000	e0b0b361-ffcd-4744-8eff-88479358d341	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 19:58:14.910489+00	
00000000-0000-0000-0000-000000000000	728aa44d-9f9f-490c-94d5-bc89bbc9d3b1	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 19:58:14.926272+00	
00000000-0000-0000-0000-000000000000	741fb47d-b9fa-4c8e-8501-c025e9f790a1	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 21:23:57.032112+00	
00000000-0000-0000-0000-000000000000	26546cc1-b57f-464d-b7f0-6abe30723184	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 21:23:57.038272+00	
00000000-0000-0000-0000-000000000000	b1904b08-57b3-4afb-95d5-17ab8ae3aa49	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 21:47:21.409008+00	
00000000-0000-0000-0000-000000000000	022d8a31-30f4-48d3-b255-1c5ce696d62e	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 21:47:21.412388+00	
00000000-0000-0000-0000-000000000000	3d621420-df1d-47d5-a6c6-7936ac86c279	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 22:22:23.970792+00	
00000000-0000-0000-0000-000000000000	fd6fa1cb-7e94-4082-b981-d80c1b2dd50b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 22:22:23.974017+00	
00000000-0000-0000-0000-000000000000	220fef2c-158f-46c1-a6c9-122b53637c43	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 23:22:53.183276+00	
00000000-0000-0000-0000-000000000000	ee907ccf-7cec-4dbb-a221-15d7a0a2e4d8	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-24 23:22:53.186801+00	
00000000-0000-0000-0000-000000000000	674300b4-6069-45ab-98fd-f1ae3a35a1c7	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-30 18:35:16.770771+00	
00000000-0000-0000-0000-000000000000	d632df71-535d-4a03-95b4-35614f3033c9	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-04-30 18:35:16.806683+00	
00000000-0000-0000-0000-000000000000	765d3373-d814-4968-aba1-97c585accd58	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-05-02 18:35:01.056507+00	
00000000-0000-0000-0000-000000000000	2b50b7c6-10fc-4ce1-8f39-336eea56f00c	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-05-04 19:17:25.259437+00	
00000000-0000-0000-0000-000000000000	55482745-ba92-40a8-bc1e-6171b4353532	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-05 17:13:31.5565+00	
00000000-0000-0000-0000-000000000000	90e8ca9b-bc4e-44ef-95c9-6d295702a21f	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-05 17:13:31.575927+00	
00000000-0000-0000-0000-000000000000	bc4d3ca1-1fbf-4cab-b53e-955d777ad390	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-06 20:51:54.249156+00	
00000000-0000-0000-0000-000000000000	cfc7bef8-22c5-4c46-82d7-f36a053e6872	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-06 20:51:54.264679+00	
00000000-0000-0000-0000-000000000000	0d34c494-96cc-41ef-ba89-bc8426403de6	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-07 20:06:21.970633+00	
00000000-0000-0000-0000-000000000000	70abcfac-3c1a-4dc1-8098-e3e9d3adf865	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-07 20:06:22.001842+00	
00000000-0000-0000-0000-000000000000	412cf755-0f37-401c-ab1d-d770f5d6c186	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-07 21:25:28.915792+00	
00000000-0000-0000-0000-000000000000	2a32c326-1c64-4513-834b-5a4edd947408	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-07 21:25:28.918566+00	
00000000-0000-0000-0000-000000000000	ae8fc68f-8145-4a3c-b96e-8b2103df9dad	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-09 23:46:05.85705+00	
00000000-0000-0000-0000-000000000000	dedee942-5c1c-46bd-8278-66c140e73782	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-09 23:46:05.88155+00	
00000000-0000-0000-0000-000000000000	f4cd0985-544f-425b-a067-8937e4d4a537	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-12 00:48:14.750358+00	
00000000-0000-0000-0000-000000000000	e56622fb-b16a-458f-a260-bd2f7892eb5d	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-12 00:48:14.76708+00	
00000000-0000-0000-0000-000000000000	25fb7cec-0d6f-4324-918b-475b6a6575e7	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-14 01:23:34.085177+00	
00000000-0000-0000-0000-000000000000	3f519e39-35f7-45db-a866-04e77e06457f	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-14 01:23:34.097257+00	
00000000-0000-0000-0000-000000000000	6200d2b8-5edd-4207-882c-2a899333cc2e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-15 20:11:04.569966+00	
00000000-0000-0000-0000-000000000000	ea67c89b-bdc0-4770-bdc4-636e49babd6e	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-15 20:11:04.586063+00	
00000000-0000-0000-0000-000000000000	b0758910-ced0-4348-99d6-652a86c7ef9e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-16 01:59:32.143486+00	
00000000-0000-0000-0000-000000000000	d9c92c41-d601-4c93-92c2-d27b6096ae65	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-16 01:59:32.148887+00	
00000000-0000-0000-0000-000000000000	53dd4dca-d118-4f23-a279-e0cbdb9c1419	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-18 03:07:32.061365+00	
00000000-0000-0000-0000-000000000000	836158ba-4e3a-4053-bcfe-d2cfd332cc91	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-18 03:07:32.070844+00	
00000000-0000-0000-0000-000000000000	e130efe7-ef12-4172-ae04-574784dc4232	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 19:48:09.530312+00	
00000000-0000-0000-0000-000000000000	43f900ac-75f6-4ae4-915e-f5ed100de77c	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 19:48:09.548496+00	
00000000-0000-0000-0000-000000000000	9f65cc7e-90a6-45d4-b18b-e218bc1d6235	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 20:46:21.165245+00	
00000000-0000-0000-0000-000000000000	11774425-db60-41f0-8f6c-673a29fb6ab7	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 20:46:21.168381+00	
00000000-0000-0000-0000-000000000000	8fb1d71c-09e0-4515-9bc2-00b7d1e1991e	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 22:11:55.493879+00	
00000000-0000-0000-0000-000000000000	aa150113-c9b5-485d-89e4-9802b20b9691	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 22:11:55.498548+00	
00000000-0000-0000-0000-000000000000	671f4972-c6a9-43dd-bd0c-826fb432e320	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 23:24:13.808924+00	
00000000-0000-0000-0000-000000000000	fb114f80-5e83-47b7-8bf3-49f9254a3927	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-20 23:24:13.811086+00	
00000000-0000-0000-0000-000000000000	4b790ba2-87d7-46e2-91ca-2bf03f8c2b05	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 00:54:54.819981+00	
00000000-0000-0000-0000-000000000000	b809c908-c607-48f7-8178-5e846562bd16	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 00:54:54.824437+00	
00000000-0000-0000-0000-000000000000	ee4b351f-5cad-4296-a676-56a8af2170b0	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 02:10:41.153802+00	
00000000-0000-0000-0000-000000000000	829b1919-bec8-4962-8cf2-f3e4980c6415	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 02:10:41.15704+00	
00000000-0000-0000-0000-000000000000	7b026c44-25c7-4253-93f2-e9c7b6c5b3ff	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 19:20:11.671544+00	
00000000-0000-0000-0000-000000000000	80c8457a-b47e-4efe-87ed-96f82ad96d35	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 19:20:11.684479+00	
00000000-0000-0000-0000-000000000000	b34d9b3d-443a-4cef-91e7-3cbf68741258	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 20:18:40.270148+00	
00000000-0000-0000-0000-000000000000	8fceb4e6-6740-4016-a5ba-6c8b89e6afd1	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 20:18:40.272346+00	
00000000-0000-0000-0000-000000000000	c3d7725c-01c2-4b34-8a69-e0f2006469bd	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 21:26:16.882461+00	
00000000-0000-0000-0000-000000000000	5a901598-51e0-4860-8d33-d786ff37e01b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 21:26:16.884558+00	
00000000-0000-0000-0000-000000000000	24c76ec1-d9bb-43c1-9da2-762d9d601052	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 22:40:18.983022+00	
00000000-0000-0000-0000-000000000000	79c7f906-c476-4e58-b560-58ccdc3b5d49	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-21 22:40:18.985979+00	
00000000-0000-0000-0000-000000000000	3c00643f-ba39-4281-982f-cfe403560b75	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-22 22:51:39.116772+00	
00000000-0000-0000-0000-000000000000	3574305c-95da-4519-9493-552b98eca113	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-22 22:51:39.12494+00	
00000000-0000-0000-0000-000000000000	5b1679b3-35a7-4643-ab47-ff899a00f1f1	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-22 23:53:06.650238+00	
00000000-0000-0000-0000-000000000000	f5c562d0-2e7d-4af0-b27c-d43bd1dc084b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-22 23:53:06.654961+00	
00000000-0000-0000-0000-000000000000	3f7a8111-e9f8-4afe-9c26-ee50dbe4a592	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-23 19:27:46.018591+00	
00000000-0000-0000-0000-000000000000	5fb64fb6-7da2-4d29-be79-9e111089e629	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-23 19:27:46.028582+00	
00000000-0000-0000-0000-000000000000	ca728fcc-f3ee-4018-8e47-8fe65aa11abd	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 19:07:34.305044+00	
00000000-0000-0000-0000-000000000000	b6a7f528-2e3b-4d37-8d76-590fcc37bea4	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 19:07:34.318136+00	
00000000-0000-0000-0000-000000000000	022d3d75-7312-4520-880d-f33e31e94788	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 20:14:07.863057+00	
00000000-0000-0000-0000-000000000000	6ddf2d9e-f42b-409d-87df-105a93003d86	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 20:14:07.86742+00	
00000000-0000-0000-0000-000000000000	bed2f018-6d3a-4e63-b7d0-529dd38e0ae9	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 21:12:29.54096+00	
00000000-0000-0000-0000-000000000000	cdb6d6d6-4523-4abf-9b5c-4511e500157b	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 21:12:29.544885+00	
00000000-0000-0000-0000-000000000000	991b6bb1-6388-48ce-a96c-31f4a77e9388	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 22:27:15.434613+00	
00000000-0000-0000-0000-000000000000	61e62448-b0ed-466e-ba4b-f20f79683f45	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 22:27:15.437605+00	
00000000-0000-0000-0000-000000000000	3c595d51-276d-4d01-b91c-b0a08c2ff13d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 23:36:54.934821+00	
00000000-0000-0000-0000-000000000000	04f0b4a4-e2be-4670-822a-5399c92dee25	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-24 23:36:54.939644+00	
00000000-0000-0000-0000-000000000000	a6800804-9aed-4d96-8ff7-642a36a1d1b1	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-25 20:08:53.248691+00	
00000000-0000-0000-0000-000000000000	cd689b69-62b1-40eb-8e7b-fa95a55053c6	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-25 20:08:53.262641+00	
00000000-0000-0000-0000-000000000000	2bf1d43e-c8cf-4e6e-a3d7-4b4691119243	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 18:09:42.473819+00	
00000000-0000-0000-0000-000000000000	2e374af3-109e-4353-a7f3-9b27a5da109f	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 18:09:42.488383+00	
00000000-0000-0000-0000-000000000000	75e6fbf3-7efd-45a7-83f7-e8623f320257	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 19:07:46.01285+00	
00000000-0000-0000-0000-000000000000	3d591f5e-ac03-4737-b29c-2f98cf241c29	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 19:07:46.016686+00	
00000000-0000-0000-0000-000000000000	3c11043b-615d-425a-9a9e-80a76b099680	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 20:23:56.172154+00	
00000000-0000-0000-0000-000000000000	d9d5ba28-fa91-462e-ab38-0798f85b1661	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 20:23:56.17652+00	
00000000-0000-0000-0000-000000000000	29987f0f-9a05-4d44-b056-0843357174bd	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 23:28:01.820324+00	
00000000-0000-0000-0000-000000000000	f6a39c4f-2083-4c8a-9e88-ac69a637af74	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-27 23:28:01.827772+00	
00000000-0000-0000-0000-000000000000	385338a3-2336-41a0-b44b-48a054316059	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-28 00:50:44.508627+00	
00000000-0000-0000-0000-000000000000	4e01e1b8-d9a1-46b8-b5fd-0a4cbcb027be	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-28 00:50:44.515401+00	
00000000-0000-0000-0000-000000000000	32681123-5ce4-42c6-bd60-912d18fbac47	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-30 23:33:03.226676+00	
00000000-0000-0000-0000-000000000000	61315325-a180-4901-b570-05fca7503e38	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-05-30 23:33:03.256377+00	
00000000-0000-0000-0000-000000000000	bce666c0-6e3d-4e58-872e-44facf53f899	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"aseel09078@gmail.com","user_id":"d25e7b07-3934-4676-9870-747f4fce15d4","user_phone":""}}	2025-06-04 02:02:47.752326+00	
00000000-0000-0000-0000-000000000000	e19bbf61-f5ff-4280-9732-2f2bf2f84016	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"mohanad09078@gmail.com","user_id":"c18ee769-b11a-4c2f-998b-011aa7f68814","user_phone":""}}	2025-06-04 02:02:47.750525+00	
00000000-0000-0000-0000-000000000000	4da064a3-b5cc-4091-90b5-f3f5dd9c89af	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"ahmedfaroq09078@gmail.com","user_id":"c0a9dace-997a-4d57-a409-eaafe00d900b","user_phone":""}}	2025-06-04 02:02:47.751684+00	
00000000-0000-0000-0000-000000000000	c1ef496d-50af-4aa8-8fe7-fccce40cab97	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"ahmedfathi09078@gmail.com","user_id":"a8885f84-0328-41f7-9aef-3df4a9a94cc4","user_phone":""}}	2025-06-04 02:02:47.904809+00	
00000000-0000-0000-0000-000000000000	fbc5c2ac-a445-4d04-8003-e3743f63f904	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"yazan09078@gmail.com","user_id":"3fb99091-53e5-4c84-93b6-0971624226c7","user_phone":""}}	2025-06-04 02:02:47.97579+00	
00000000-0000-0000-0000-000000000000	e2022b58-ba10-4b74-a675-7c93a73a6f41	{"action":"user_confirmation_requested","actor_id":"f4756de4-6919-48e2-83df-b7a1b3bb8e7d","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-04 02:13:13.138107+00	
00000000-0000-0000-0000-000000000000	dde9fae9-6c7e-4124-88de-cf2686e4b133	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"mousadev0@gmail.com","user_id":"f4756de4-6919-48e2-83df-b7a1b3bb8e7d","user_phone":""}}	2025-06-04 02:43:07.606415+00	
00000000-0000-0000-0000-000000000000	c6f391af-8470-4e3d-8a7a-ce66f99991a5	{"action":"user_signedup","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-06-04 02:44:48.780684+00	
00000000-0000-0000-0000-000000000000	e88d98ed-94ea-411c-a496-e83a83f2f231	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-04 02:44:48.784552+00	
00000000-0000-0000-0000-000000000000	ae0778fa-9baa-4128-b1ee-09af4e594b43	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-04 02:44:51.938775+00	
00000000-0000-0000-0000-000000000000	4af12ec2-7440-4a0e-825d-56aaed3b6482	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-04 02:51:02.758834+00	
00000000-0000-0000-0000-000000000000	f48d6e8b-4363-4b97-b349-22217eeb5735	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 03:49:03.443983+00	
00000000-0000-0000-0000-000000000000	f2b56ea4-c1ba-4573-9d3f-6973190ffd5d	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 03:49:03.446254+00	
00000000-0000-0000-0000-000000000000	25329e70-647a-4305-9a7a-c7ebd20bc31e	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 04:50:44.417301+00	
00000000-0000-0000-0000-000000000000	e91e2f6a-be38-49fc-8be3-55617c636a76	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 04:50:44.419935+00	
00000000-0000-0000-0000-000000000000	346099a5-0b7c-43af-b850-3637e144f97e	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-04 05:08:45.846213+00	
00000000-0000-0000-0000-000000000000	711e390f-5192-4b36-9ca5-f201b0c67df1	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 05:09:22.09019+00	
00000000-0000-0000-0000-000000000000	98eb0e9b-7c60-46f5-be58-c1a9a085b17d	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 05:09:22.090728+00	
00000000-0000-0000-0000-000000000000	09f7feef-df62-43bd-a801-690556e8fcb8	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 06:32:32.702032+00	
00000000-0000-0000-0000-000000000000	519643b7-4b07-4ecd-b7f0-d78fe944c575	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 06:32:32.705538+00	
00000000-0000-0000-0000-000000000000	7051d5c8-5faa-441c-a6fc-17fb3d8ed58a	{"action":"user_signedup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-06-04 06:34:25.113772+00	
00000000-0000-0000-0000-000000000000	f7cd0173-0ff8-4fb3-9351-c594f6ebb765	{"action":"login","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-04 06:34:25.119812+00	
00000000-0000-0000-0000-000000000000	988c8156-7ca7-4397-9d1a-affbd5dc8fad	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 12:30:22.897304+00	
00000000-0000-0000-0000-000000000000	dbb53ba0-a7c1-4949-afad-27c22cb8c91d	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 12:30:22.901334+00	
00000000-0000-0000-0000-000000000000	b4e3eb7e-2e05-41cc-8ec6-302679e585e7	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 17:46:57.798538+00	
00000000-0000-0000-0000-000000000000	7a1ce4db-ecf7-4f74-b5dc-882f9352a2cf	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 17:46:57.802096+00	
00000000-0000-0000-0000-000000000000	7b9e5c04-f56f-4078-806f-8c54d334a5ef	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 19:23:44.118436+00	
00000000-0000-0000-0000-000000000000	6415119e-20cc-4fa5-b518-3e056fdc14dc	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 19:23:44.121348+00	
00000000-0000-0000-0000-000000000000	0fc1580c-2333-40bd-acc9-487a1de98ab8	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 21:17:12.704583+00	
00000000-0000-0000-0000-000000000000	c84b9624-e32e-478d-88da-3bbec0d1108e	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 21:17:12.7073+00	
00000000-0000-0000-0000-000000000000	67a7c9c3-7ffd-4eb2-8c56-1e3655693c31	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 23:35:16.697698+00	
00000000-0000-0000-0000-000000000000	d6ef1e30-a656-4b3c-8cc7-bdeca39456fd	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-04 23:35:16.699213+00	
00000000-0000-0000-0000-000000000000	6903d075-7d4f-47ab-b358-a1a4a1a01177	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 00:34:33.985618+00	
00000000-0000-0000-0000-000000000000	f967ce2c-c997-4a4a-b458-4e1f488335c8	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 00:34:33.987765+00	
00000000-0000-0000-0000-000000000000	7309794a-2b35-481a-872b-67820eba14a3	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 06:47:42.585525+00	
00000000-0000-0000-0000-000000000000	cecc4978-526b-4d4f-b715-9cc85dc589fe	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 06:47:42.609862+00	
00000000-0000-0000-0000-000000000000	c8690abe-b6d9-4ed5-bad3-213c68a32b00	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 23:49:44.589109+00	
00000000-0000-0000-0000-000000000000	3e10fa17-0b51-4db0-b860-4bea2bccf3e7	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-05 23:49:44.598805+00	
00000000-0000-0000-0000-000000000000	c6bbe0dc-c56e-4229-9487-3db96e6bbab6	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 03:22:30.156182+00	
00000000-0000-0000-0000-000000000000	258e24fa-ca01-4fe9-9516-847962c9e98f	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 03:22:30.158769+00	
00000000-0000-0000-0000-000000000000	57f9f65a-ac3a-4293-8cec-3bb0d376f04e	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-06 03:57:16.641619+00	
00000000-0000-0000-0000-000000000000	379087e9-55d7-4bed-9de8-5251d1b1b007	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-06 03:57:19.387374+00	
00000000-0000-0000-0000-000000000000	56f508cb-d400-44c7-a919-376a6b220c96	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-06 03:57:22.915645+00	
00000000-0000-0000-0000-000000000000	e6c0fb17-3bb0-46d7-8790-2b3d462e062b	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 03:58:34.654605+00	
00000000-0000-0000-0000-000000000000	2887196f-de97-4153-b11c-c87d4f6fef2b	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 03:58:34.656741+00	
00000000-0000-0000-0000-000000000000	e3785509-ee48-431b-8895-8c285f14bdbd	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 04:20:39.490409+00	
00000000-0000-0000-0000-000000000000	d748f614-862e-4d82-851d-9064890f1d8c	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 04:20:39.493002+00	
00000000-0000-0000-0000-000000000000	b04e684d-ca0e-4eb7-9bb4-8388c6730834	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 05:09:11.072621+00	
00000000-0000-0000-0000-000000000000	cd4b497a-e07d-4495-b96f-8dbf9cd5a8c5	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 05:09:11.075252+00	
00000000-0000-0000-0000-000000000000	c0c44d93-dee9-4181-adbb-8b9ad36c7f22	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 05:15:56.642154+00	
00000000-0000-0000-0000-000000000000	776dadbd-b16f-4d52-8c5a-13189dbc2806	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 05:15:56.645194+00	
00000000-0000-0000-0000-000000000000	48c3f09c-b7d2-4c92-94db-8a091b601dad	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 06:07:21.089637+00	
00000000-0000-0000-0000-000000000000	63f07215-3eb7-4872-aead-0f7856acd135	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 06:07:21.092729+00	
00000000-0000-0000-0000-000000000000	6b8856e9-143d-4bdd-a853-0bb4cc41b6be	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 17:37:43.382685+00	
00000000-0000-0000-0000-000000000000	d36ec737-b0d9-47a3-9ecd-37b7f0bbc7fd	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 17:37:43.389469+00	
00000000-0000-0000-0000-000000000000	f6464eb7-a937-48f7-bc0b-ad9252f76520	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-06 17:51:18.595257+00	
00000000-0000-0000-0000-000000000000	38b1edd0-52b3-49ce-87a0-cec1040c28c7	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-06 17:51:30.698584+00	
00000000-0000-0000-0000-000000000000	cd76b747-b2ce-4362-8874-92132f3ad2ce	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 19:59:34.735173+00	
00000000-0000-0000-0000-000000000000	137f06cf-a042-49f9-a1f9-144a23fc2dfe	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 19:59:34.737327+00	
00000000-0000-0000-0000-000000000000	d65967b7-1531-4e3f-9879-5a93cc6341a0	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 21:15:42.20811+00	
00000000-0000-0000-0000-000000000000	cbd2c193-28b8-4a6a-a03f-60d06ee1d32d	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-06 21:15:42.209623+00	
00000000-0000-0000-0000-000000000000	ad16af45-cd1c-42f6-8196-7a7bd656114f	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 02:15:19.287335+00	
00000000-0000-0000-0000-000000000000	cd697de5-4524-4a21-9105-c4b93b450739	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 02:15:19.293805+00	
00000000-0000-0000-0000-000000000000	2a2dbcb1-e384-4909-9096-144713ae6835	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:31:34.438865+00	
00000000-0000-0000-0000-000000000000	4dee54b7-3934-44f3-b4d2-af326d82f470	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:31:34.446614+00	
00000000-0000-0000-0000-000000000000	fb5cc5ea-2199-4452-994f-adf4141f282b	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:36:54.177811+00	
00000000-0000-0000-0000-000000000000	8c8940c3-edaf-449e-a3e8-2bb42a11d2f0	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:36:54.178792+00	
00000000-0000-0000-0000-000000000000	a5ad1b27-7ad1-413d-9634-550662f57e0d	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:51:56.425229+00	
00000000-0000-0000-0000-000000000000	d0306856-0937-48b7-8daf-cab8b24133b3	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 03:51:56.427486+00	
00000000-0000-0000-0000-000000000000	792edba1-c9d4-4628-871b-213bba113db0	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 04:34:58.413953+00	
00000000-0000-0000-0000-000000000000	6a13b3ad-beb7-4eff-99a5-00daf077e089	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 04:34:58.416717+00	
00000000-0000-0000-0000-000000000000	f0f11c4f-79dc-4329-bbd6-4e1db1b0bf47	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 05:34:08.93283+00	
00000000-0000-0000-0000-000000000000	333d83c1-2a2d-4f9e-a41c-22a1fc391001	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 05:34:08.935451+00	
00000000-0000-0000-0000-000000000000	6022d807-e6bf-472e-9f07-dd891c150bd3	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 06:36:59.55324+00	
00000000-0000-0000-0000-000000000000	c33ae9ea-ac9a-4a94-be9a-e1afc5cfb151	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 06:36:59.5582+00	
00000000-0000-0000-0000-000000000000	6b936b39-44f8-46f5-9c1f-505cdf3647c9	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 16:01:30.173523+00	
00000000-0000-0000-0000-000000000000	d0f9d379-ad11-469b-9a2c-e2b0ff41b20a	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 16:01:30.186151+00	
00000000-0000-0000-0000-000000000000	1ac6f937-bfb6-4195-a75d-a281880e70dc	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 18:17:20.627492+00	
00000000-0000-0000-0000-000000000000	2cd2f437-f826-4b8f-a92d-e1571b649e3a	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 18:17:20.63239+00	
00000000-0000-0000-0000-000000000000	d978b23b-8b67-40d4-bb35-9706157ac4b1	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 18:17:23.652156+00	
00000000-0000-0000-0000-000000000000	e96d0748-67de-494c-b076-757b9ba85e22	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 23:30:04.99155+00	
00000000-0000-0000-0000-000000000000	a4c10f55-fec7-4209-a212-5b0e881343d6	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-07 23:30:04.998428+00	
00000000-0000-0000-0000-000000000000	96ddcce7-1e6b-48f8-9aba-40e52ed93eae	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 00:25:55.573578+00	
00000000-0000-0000-0000-000000000000	3e882e08-64fe-49c6-bb3d-736e076f99fd	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 00:25:55.576221+00	
00000000-0000-0000-0000-000000000000	85a348ef-0b2e-43bd-91ec-3b2b214e2606	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 05:05:39.036192+00	
00000000-0000-0000-0000-000000000000	2527e6e5-ffdd-4f4e-8300-3ac6f1d05e75	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 05:05:39.044801+00	
00000000-0000-0000-0000-000000000000	2ae75b54-b1ce-4857-9112-db421ca9ff0f	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 14:08:20.198938+00	
00000000-0000-0000-0000-000000000000	d1f3d0b6-5bc6-41c6-86b0-81c8ec27041b	{"action":"logout","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 14:17:41.778109+00	
00000000-0000-0000-0000-000000000000	d6f1e64d-497c-4a88-93b0-0f8bf88a63aa	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 14:18:07.571156+00	
00000000-0000-0000-0000-000000000000	f5e5ce32-08a4-4192-8fe4-759bb0787b19	{"action":"logout","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 14:21:39.999725+00	
00000000-0000-0000-0000-000000000000	54bbae68-1160-43a8-94c8-c9f01c0169d4	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 14:21:48.417279+00	
00000000-0000-0000-0000-000000000000	0e963626-2a1c-46a5-8781-ceaf87fbe50e	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 14:25:41.021659+00	
00000000-0000-0000-0000-000000000000	aa9ea34c-18ca-473c-b4f2-e73c4a798500	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 14:25:41.023352+00	
00000000-0000-0000-0000-000000000000	42b1dda7-87bb-4aa2-9488-3e9bb9142c38	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 15:20:22.340023+00	
00000000-0000-0000-0000-000000000000	d172a966-42b2-4fd4-8145-2b2f910fcd26	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 15:20:22.340856+00	
00000000-0000-0000-0000-000000000000	ccd6c5ed-6856-490b-9daa-aa90762b9470	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 16:18:26.414551+00	
00000000-0000-0000-0000-000000000000	ee0b58e5-3cc3-4377-a7e0-3ccdaf03c3d8	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 16:18:26.419507+00	
00000000-0000-0000-0000-000000000000	4600818a-05a9-4263-aa9a-f8fd6c020738	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 16:35:35.549698+00	
00000000-0000-0000-0000-000000000000	2df1145b-6487-46d4-928a-cf2cb78700e2	{"action":"token_refreshed","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 17:17:03.595708+00	
00000000-0000-0000-0000-000000000000	4dc54bc0-9d0a-43fe-ba2d-286b67ff85d3	{"action":"token_revoked","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 17:17:03.601072+00	
00000000-0000-0000-0000-000000000000	6ee928d6-be49-4b14-b350-af3b5ddfeab4	{"action":"logout","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 17:49:48.710483+00	
00000000-0000-0000-0000-000000000000	3c6ed1ef-773f-4cb2-86b8-c607457d6ced	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 17:49:52.454186+00	
00000000-0000-0000-0000-000000000000	36d0da56-1117-472c-ac39-a9834dca1201	{"action":"logout","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 17:54:46.744024+00	
00000000-0000-0000-0000-000000000000	3afb00f1-8078-4ab2-b31e-66ff2b94b1ce	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 17:54:49.608169+00	
00000000-0000-0000-0000-000000000000	cf72ca97-bed9-4078-960d-0ef63a54c41e	{"action":"user_deleted","actor_id":"00000000-0000-0000-0000-000000000000","actor_username":"service_role","actor_via_sso":false,"log_type":"team","traits":{"user_email":"mfoud2020@gmail.com","user_id":"3203aab6-f85e-407d-820a-77140ff4de6b","user_phone":""}}	2025-06-08 17:55:38.520046+00	
00000000-0000-0000-0000-000000000000	667659ea-fd00-4257-a376-f3f778d3e255	{"action":"user_signedup","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-06-08 17:59:29.766511+00	
00000000-0000-0000-0000-000000000000	42fe4a3a-4414-44f5-820b-6c2035001757	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 17:59:29.77385+00	
00000000-0000-0000-0000-000000000000	ce333060-faf9-443f-926a-093011fde420	{"action":"logout","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 17:59:51.734282+00	
00000000-0000-0000-0000-000000000000	bee1878d-1144-4cc0-a3c6-0efbbf80eeb6	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 18:00:02.946837+00	
00000000-0000-0000-0000-000000000000	8c0c03fe-f34b-43d4-b2ab-b7b4c22f1888	{"action":"token_refreshed","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 18:20:49.52303+00	
00000000-0000-0000-0000-000000000000	c26b288a-b8d2-4c25-a559-b4ba61ee9afc	{"action":"token_revoked","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 18:20:49.524705+00	
00000000-0000-0000-0000-000000000000	1b297bb2-4fb3-40bb-823b-c4f7bcf4efb1	{"action":"logout","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 18:21:03.392586+00	
00000000-0000-0000-0000-000000000000	23f0cd82-5a93-4def-afc8-47141854ee4d	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 18:21:08.41731+00	
00000000-0000-0000-0000-000000000000	e2ed1159-b565-4c23-95ab-57bf49de3474	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 19:17:21.478156+00	
00000000-0000-0000-0000-000000000000	dcc1d067-7155-4eef-a0e7-224a33047378	{"action":"user_signedup","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-06-08 19:59:58.080819+00	
00000000-0000-0000-0000-000000000000	386b9267-69d9-4438-b818-aa17ce4f04d0	{"action":"login","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 19:59:58.091857+00	
00000000-0000-0000-0000-000000000000	45e96d6b-aba3-4c84-91ec-79b7c628286f	{"action":"logout","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 20:02:33.048968+00	
00000000-0000-0000-0000-000000000000	26d84bf2-2b57-40bd-96eb-4d00c5641aff	{"action":"login","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 20:03:00.319868+00	
00000000-0000-0000-0000-000000000000	1befd63a-67cb-47ec-896d-aba363fbb3f3	{"action":"logout","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-08 20:03:43.914044+00	
00000000-0000-0000-0000-000000000000	32fe67b5-5102-4b58-937b-41ee43ce56d5	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-08 20:03:46.475027+00	
00000000-0000-0000-0000-000000000000	3d860094-5d7b-40cc-afb2-4b06559772f3	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 20:19:17.680883+00	
00000000-0000-0000-0000-000000000000	795c524b-2674-4d30-8f2c-4598ad0a1911	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 20:19:17.68352+00	
00000000-0000-0000-0000-000000000000	83976365-eaed-4d92-8e48-2853eefd5381	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 21:17:48.921049+00	
00000000-0000-0000-0000-000000000000	46aca402-1fdd-4483-bd39-11e0588d07ab	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 21:17:48.924122+00	
00000000-0000-0000-0000-000000000000	9d15ae5a-b8c7-4acf-a7cb-2c4c5e3683f2	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 23:54:32.514016+00	
00000000-0000-0000-0000-000000000000	f473a72f-8f9d-4200-96a9-d630b7ff3230	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-08 23:54:32.521179+00	
00000000-0000-0000-0000-000000000000	96021d6d-094e-4d4c-983e-c8c95bd660eb	{"action":"token_refreshed","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 02:40:56.043506+00	
00000000-0000-0000-0000-000000000000	9fb81ce9-de42-4c26-86ea-ccc466580860	{"action":"token_revoked","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 02:40:56.054203+00	
00000000-0000-0000-0000-000000000000	66cac31e-362b-4391-9b7f-59bd4b619d22	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 09:26:09.647654+00	
00000000-0000-0000-0000-000000000000	60aeba29-255d-4a23-935c-57efbfd796e0	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 09:26:09.658867+00	
00000000-0000-0000-0000-000000000000	19837185-b0db-45d8-8ab9-30fbe47a77f5	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 10:32:08.152001+00	
00000000-0000-0000-0000-000000000000	23861a33-da2d-4373-96fe-17c2d034e623	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 10:32:08.154193+00	
00000000-0000-0000-0000-000000000000	53fbe606-76ab-44f1-8f8c-41701121c33b	{"action":"token_refreshed","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 13:34:18.675766+00	
00000000-0000-0000-0000-000000000000	0eb72e1f-ba3f-4df0-b22a-fd7a8f956421	{"action":"token_revoked","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 13:34:18.684066+00	
00000000-0000-0000-0000-000000000000	a00e730a-594e-49a5-aaef-60e446553eca	{"action":"logout","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-09 13:34:37.49371+00	
00000000-0000-0000-0000-000000000000	9b89d4be-da12-4482-87e0-994c7126310d	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 13:34:41.055193+00	
00000000-0000-0000-0000-000000000000	03288ea8-ca1e-46f8-b61e-eaa92ca0f8ea	{"action":"logout","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-09 13:34:46.614814+00	
00000000-0000-0000-0000-000000000000	249d0bed-8a2c-4ff2-bdaa-5a9167fb9421	{"action":"login","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 13:35:04.267918+00	
00000000-0000-0000-0000-000000000000	ce7f2180-bb30-4cdd-b32a-d3b925799a61	{"action":"token_refreshed","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 14:36:16.116096+00	
00000000-0000-0000-0000-000000000000	a0abd402-1bcc-4631-9283-106832cebeee	{"action":"token_revoked","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 14:36:16.126085+00	
00000000-0000-0000-0000-000000000000	ff887fdf-64b5-4875-9a4b-6db137f5aa9c	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 15:52:20.378834+00	
00000000-0000-0000-0000-000000000000	f1625cb7-6e8a-47e1-b905-5c231a64fbbf	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 15:52:20.387007+00	
00000000-0000-0000-0000-000000000000	80245b5c-5366-4c39-92fa-54cd374f16fa	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:29.267014+00	
00000000-0000-0000-0000-000000000000	13a93fad-e2a2-417f-8699-bc416367e2ed	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:35.543221+00	
00000000-0000-0000-0000-000000000000	a7ab511a-907e-4024-9c39-1d551728146e	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:39.869121+00	
00000000-0000-0000-0000-000000000000	248c5e21-970c-4124-a9ae-85f5ccd47c1e	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:42.867611+00	
00000000-0000-0000-0000-000000000000	b2c05365-3d16-4247-a2a1-68722fdae4d0	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:45.533899+00	
00000000-0000-0000-0000-000000000000	3699510f-32cf-4d47-b887-ec0c5063f4e7	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:46.876594+00	
00000000-0000-0000-0000-000000000000	f751dab5-e5cd-4a43-8445-b3bb1332aeec	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:48.170526+00	
00000000-0000-0000-0000-000000000000	5dc1050b-d21c-4319-b654-854780e3185a	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:48.90472+00	
00000000-0000-0000-0000-000000000000	8ed918ff-ca87-4162-a884-b1be1cb6477e	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:55:50.061851+00	
00000000-0000-0000-0000-000000000000	f42efb51-44c5-4235-abb9-6d90c75ac905	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:56:26.070083+00	
00000000-0000-0000-0000-000000000000	a66f6d36-744d-4401-a4db-d0233d4e7a8b	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 15:56:31.047262+00	
00000000-0000-0000-0000-000000000000	9e5e8f25-9f35-4940-969c-f09d61e91407	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 16:03:03.600112+00	
00000000-0000-0000-0000-000000000000	a62b384c-c79a-4379-b3ca-6216a88907ee	{"action":"user_repeated_signup","actor_id":"c7483d99-d823-4ab9-bf74-80f04d463f3d","actor_username":"mousa08220@gmail.com","actor_via_sso":false,"log_type":"user","traits":{"provider":"email"}}	2025-06-09 16:03:49.942444+00	
00000000-0000-0000-0000-000000000000	2098b7ce-b1a7-4e06-b16a-d9c17546772a	{"action":"user_signedup","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"team","traits":{"provider":"email"}}	2025-06-09 16:04:01.291686+00	
00000000-0000-0000-0000-000000000000	efdffd91-284d-4c1d-af1d-457334eedeff	{"action":"login","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:04:01.301865+00	
00000000-0000-0000-0000-000000000000	e36d8b2f-39c8-4763-97be-9b83a386d535	{"action":"logout","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-09 16:04:21.273858+00	
00000000-0000-0000-0000-000000000000	c88a26de-09a5-4acf-9b66-9976d0653f1a	{"action":"login","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:04:34.268367+00	
00000000-0000-0000-0000-000000000000	286d540b-41c2-48a5-b5b6-f3504b952202	{"action":"login","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:04:39.486226+00	
00000000-0000-0000-0000-000000000000	cd945d07-4528-4242-97e5-f411bcec2ec6	{"action":"login","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:04:44.588847+00	
00000000-0000-0000-0000-000000000000	89b925c0-27eb-4b07-94e4-7136868060d7	{"action":"login","actor_id":"3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd","actor_username":"mousa08224@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:05:06.850137+00	
00000000-0000-0000-0000-000000000000	ec11f520-8abe-4fc3-a4a1-27306b2d3c41	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-09 16:05:15.456032+00	
00000000-0000-0000-0000-000000000000	f7598eb2-c030-409e-aefc-c5422bd4732c	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 19:49:27.950522+00	
00000000-0000-0000-0000-000000000000	f29f16ed-9140-4583-940b-ae723389c48b	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 19:49:27.957509+00	
00000000-0000-0000-0000-000000000000	b953cac2-eb00-4193-9bc7-f2031fd57c47	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 21:33:20.598662+00	
00000000-0000-0000-0000-000000000000	16a6aff1-9d21-46a8-9915-c7c8a306b743	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-09 21:33:20.60479+00	
00000000-0000-0000-0000-000000000000	4b25c84a-cc2a-44c2-bf63-d1c00f83949b	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 01:11:47.274105+00	
00000000-0000-0000-0000-000000000000	7a80ab02-40ff-4809-872c-b24a9f0c6264	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 01:11:47.280256+00	
00000000-0000-0000-0000-000000000000	1520ad5d-2d1e-40a3-9be1-f46abf699670	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 02:23:09.895175+00	
00000000-0000-0000-0000-000000000000	66f027b2-1791-4829-9cca-271f4eed8634	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 02:23:09.906825+00	
00000000-0000-0000-0000-000000000000	ae8ec07f-f808-4c4a-93ce-6c1bc728b3b4	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 04:51:36.376197+00	
00000000-0000-0000-0000-000000000000	6af836b7-51c9-4405-b8d7-bdbbecf33a28	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 04:51:36.382271+00	
00000000-0000-0000-0000-000000000000	13965897-3e46-4e6f-917b-b0db79bb59f2	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 06:30:25.159947+00	
00000000-0000-0000-0000-000000000000	18dbaf94-9539-4459-812b-6c5a0bc6a20b	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-10 06:30:25.171873+00	
00000000-0000-0000-0000-000000000000	fe43a3fd-98cc-4f29-9127-3fff3343203e	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 00:50:04.879723+00	
00000000-0000-0000-0000-000000000000	c0c19a22-94f0-42d9-af3b-2a52ad19a7b2	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 00:50:04.891178+00	
00000000-0000-0000-0000-000000000000	8d65ffe7-8739-4f70-937a-ae2d0e188720	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 04:02:40.188432+00	
00000000-0000-0000-0000-000000000000	3160445c-c430-41ef-ae88-adf4e8b3c521	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 04:02:40.201667+00	
00000000-0000-0000-0000-000000000000	9bc850da-af4d-4eaa-af7c-74bc64280009	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 15:05:06.808183+00	
00000000-0000-0000-0000-000000000000	65e07d51-2b5b-4cbe-aaad-3a0c71d5d56b	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 15:05:06.816818+00	
00000000-0000-0000-0000-000000000000	c86daa00-c845-49f2-bf37-221d0f317483	{"action":"token_refreshed","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 15:07:04.847702+00	
00000000-0000-0000-0000-000000000000	3e17d927-50c8-4549-b88e-3d615f972fca	{"action":"token_revoked","actor_id":"c69e29d4-7a19-4f6a-a75b-7b8dc1579f61","actor_username":"yazan09078@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-11 15:07:04.849146+00	
00000000-0000-0000-0000-000000000000	332ebd9f-8b30-4517-bbf9-cb0d292373e8	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 01:16:29.802668+00	
00000000-0000-0000-0000-000000000000	ef79d5c0-8453-4477-835e-ed4deb9ad816	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 01:16:29.811831+00	
00000000-0000-0000-0000-000000000000	5cefc92d-3044-479d-8fd0-e58b9d2544a1	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 18:52:14.534078+00	
00000000-0000-0000-0000-000000000000	e535cd86-3e19-4069-8207-7ab4942e4bed	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 18:52:14.54902+00	
00000000-0000-0000-0000-000000000000	f18ac40f-7c2b-415a-8653-b2c38f44ee63	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 21:39:41.675739+00	
00000000-0000-0000-0000-000000000000	e66ebaf3-e2b3-4a81-9211-25cab4c48029	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-12 21:39:41.684281+00	
00000000-0000-0000-0000-000000000000	09ca3af2-0b84-4d19-8ca0-803106766f04	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 00:20:28.015423+00	
00000000-0000-0000-0000-000000000000	91d2d34a-9040-4b9b-ba8c-cf3d0a438372	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 00:20:28.026848+00	
00000000-0000-0000-0000-000000000000	04cd91e6-a305-47d3-8792-407eef1edb68	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 01:19:03.462309+00	
00000000-0000-0000-0000-000000000000	9f778069-90d8-4ca5-b48a-4ae1adf432ba	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 01:19:03.471015+00	
00000000-0000-0000-0000-000000000000	cc3aed3b-6b54-4c36-abbb-ab7c00ee97e4	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 05:04:41.483825+00	
00000000-0000-0000-0000-000000000000	0c702d10-8b4b-4ce2-b06d-3d9e82e65d13	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 05:04:41.493041+00	
00000000-0000-0000-0000-000000000000	6ae65e98-a5be-4ffb-8c6d-17bf91055607	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 06:15:35.005845+00	
00000000-0000-0000-0000-000000000000	005f2271-8dad-4cf5-9957-814693db99c6	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 06:15:35.010436+00	
00000000-0000-0000-0000-000000000000	ed677dd6-b28f-44fc-b0cd-acb9f18121a5	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 09:00:14.094573+00	
00000000-0000-0000-0000-000000000000	a6e61d12-6d8f-451c-94be-9d9e2093e9c8	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 09:00:14.103128+00	
00000000-0000-0000-0000-000000000000	cbc3eeb0-a407-4853-9a1b-f8366e9a6f1d	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 10:02:44.276408+00	
00000000-0000-0000-0000-000000000000	e4857304-722a-432b-ad1c-91c8651ef5b2	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 10:02:44.280344+00	
00000000-0000-0000-0000-000000000000	68cacec3-68e0-46e0-b597-5d6ba39b1dc7	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 23:27:12.307041+00	
00000000-0000-0000-0000-000000000000	5f0ad559-5d45-4500-8a07-3e0952f6a521	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-13 23:27:12.32107+00	
00000000-0000-0000-0000-000000000000	e25390d5-b066-46bc-831c-e41f902d1e14	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 01:21:05.728931+00	
00000000-0000-0000-0000-000000000000	b171b734-7e30-47e8-a2ab-cef7cb337d2c	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 01:21:05.739955+00	
00000000-0000-0000-0000-000000000000	bb25763a-2bae-4a41-b08f-2692c2edbdde	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 03:32:38.982722+00	
00000000-0000-0000-0000-000000000000	72320506-043c-4165-b2fd-9c2c0ba0e7d1	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 03:32:38.989364+00	
00000000-0000-0000-0000-000000000000	644fcd88-a3db-451f-89f5-3842dc00cd34	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 07:00:55.582488+00	
00000000-0000-0000-0000-000000000000	69a114b2-392a-4ce8-a725-5f8ccfac0049	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 07:00:55.597335+00	
00000000-0000-0000-0000-000000000000	77f39ebd-22dc-442c-bdb7-c97d792cf5a9	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 15:58:21.047657+00	
00000000-0000-0000-0000-000000000000	7d3d5273-5897-445c-b45a-fda4e630ab38	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-14 15:58:21.064606+00	
00000000-0000-0000-0000-000000000000	3ffcd035-f5db-4c8d-852d-1828b0b74878	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 03:02:53.252824+00	
00000000-0000-0000-0000-000000000000	1810b7be-a9bd-436b-8e6f-8eeecad67f56	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 03:02:53.267955+00	
00000000-0000-0000-0000-000000000000	3fe6c3e9-6299-4ba2-91d9-f64f78c4be64	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 04:40:52.331385+00	
00000000-0000-0000-0000-000000000000	6eaf233b-a017-40cd-b08c-46c2e68eb82e	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 04:40:52.336257+00	
00000000-0000-0000-0000-000000000000	09f3d2fe-8659-4fe3-b2bf-b3769f83b071	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 09:46:22.294193+00	
00000000-0000-0000-0000-000000000000	b8672173-a638-4da2-8561-7ee385765aed	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 09:46:22.310014+00	
00000000-0000-0000-0000-000000000000	57c7c20a-6fda-4b7f-b1b3-4bc6a38a68cd	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 11:35:12.594009+00	
00000000-0000-0000-0000-000000000000	b1d4e1a0-623f-4be8-bcd0-def58638253b	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 11:35:12.600582+00	
00000000-0000-0000-0000-000000000000	0b60a026-9b9a-4ba1-aac3-219837bd74f6	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 19:54:15.038697+00	
00000000-0000-0000-0000-000000000000	d7125c46-5629-47ed-bd6b-250ea75e4d6d	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-15 19:54:15.052743+00	
00000000-0000-0000-0000-000000000000	6b3ff8bc-b0aa-4218-a750-f4a142494f23	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 07:30:28.923928+00	
00000000-0000-0000-0000-000000000000	b49feacf-597b-47d5-bd8b-427f6ca3cbf3	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 07:30:28.945101+00	
00000000-0000-0000-0000-000000000000	fbadb559-fd6a-4805-a4ac-c33025a2347c	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 09:31:34.736126+00	
00000000-0000-0000-0000-000000000000	2d55a8c2-2169-4830-aa13-7a897f399324	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 09:31:34.738403+00	
00000000-0000-0000-0000-000000000000	10d0b902-1a13-42f0-9967-a97c999def64	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 16:56:51.995916+00	
00000000-0000-0000-0000-000000000000	0fbe9297-663e-408b-a069-6d7965015b51	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-16 16:56:52.012434+00	
00000000-0000-0000-0000-000000000000	a3d306bf-1e96-48cf-87ac-46aafbc54a57	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-17 06:16:21.100912+00	
00000000-0000-0000-0000-000000000000	9caf1643-a01b-4357-a290-0ab1753db5b3	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-17 06:16:21.112831+00	
00000000-0000-0000-0000-000000000000	1a796587-ce97-492a-bd5e-a502dfc2261a	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-17 23:13:16.759479+00	
00000000-0000-0000-0000-000000000000	7b2d8bbd-ea8f-4892-bbb4-f60cf3d0de70	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-17 23:13:16.774701+00	
00000000-0000-0000-0000-000000000000	b7d575ab-b03b-418a-ad34-5999c023baf1	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 00:17:52.667414+00	
00000000-0000-0000-0000-000000000000	144253c1-4d1d-4a4f-a52c-8f1ab7942fd4	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 00:17:52.670187+00	
00000000-0000-0000-0000-000000000000	1d71dc1f-dfdc-4be2-a7b1-e6ab706be1a0	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 03:05:50.675804+00	
00000000-0000-0000-0000-000000000000	fa1fa410-1896-4c79-8ce6-1c020092dea5	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 03:05:50.679368+00	
00000000-0000-0000-0000-000000000000	bf650e11-d525-4161-a3da-1f633584e132	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 05:58:31.016868+00	
00000000-0000-0000-0000-000000000000	5d8518c4-df9f-431e-b5a5-142e3ca174ce	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 05:58:31.026911+00	
00000000-0000-0000-0000-000000000000	cb5cb60d-33a9-4ccd-afe4-3b9504ce2db6	{"action":"token_refreshed","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 07:59:11.040129+00	
00000000-0000-0000-0000-000000000000	b43e7b30-5ad9-4104-ae8d-7453a9d9ad08	{"action":"token_revoked","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"token"}	2025-06-18 07:59:11.043499+00	
00000000-0000-0000-0000-000000000000	b9c20651-e5c0-4fb6-b8a7-c0a77f2addb4	{"action":"logout","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-18 08:00:21.266097+00	
00000000-0000-0000-0000-000000000000	9ac025ee-f707-48b9-ab92-841594d7c525	{"action":"login","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-18 08:01:35.600421+00	
00000000-0000-0000-0000-000000000000	ec838e4b-ec70-4c0d-b959-c7edc9e2df3b	{"action":"logout","actor_id":"adc9feec-993d-41b9-9629-b1beccda90d8","actor_username":"mousadev0@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-18 08:02:07.305849+00	
00000000-0000-0000-0000-000000000000	848d0859-0962-4354-9eca-7d5c4651f715	{"action":"login","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-18 08:02:21.546931+00	
00000000-0000-0000-0000-000000000000	d5274c08-1002-4163-8e55-d16753cace88	{"action":"logout","actor_id":"7ae51109-17d1-4c42-aa60-b222a36fc76a","actor_username":"mfoud444@gmail.com","actor_via_sso":false,"log_type":"account"}	2025-06-18 08:02:47.793926+00	
00000000-0000-0000-0000-000000000000	3106722a-4ec7-42a8-b27d-52ab054c0071	{"action":"login","actor_id":"7958f41d-6be5-43f9-a449-19861464b4db","actor_username":"mfoud4444@gmail.com","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}}	2025-06-18 08:03:03.445787+00	
\.


--
-- Data for Name: flow_state; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.flow_state (id, user_id, auth_code, code_challenge_method, code_challenge, provider_type, provider_access_token, provider_refresh_token, created_at, updated_at, authentication_method, auth_code_issued_at) FROM stdin;
\.


--
-- Data for Name: identities; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.identities (provider_id, user_id, identity_data, provider, last_sign_in_at, created_at, updated_at, id) FROM stdin;
adc9feec-993d-41b9-9629-b1beccda90d8	adc9feec-993d-41b9-9629-b1beccda90d8	{"id": "", "sub": "adc9feec-993d-41b9-9629-b1beccda90d8", "email": "mousadev0@gmail.com", "state": true, "gender": "male", "country": "YE", "password": "[REDACTED] "last_name": "ALAZZANI", "user_type": "admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "MOUSA", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": false, "phone_verified": false}	email	2025-06-04 02:44:48.77764+00	2025-06-04 02:44:48.777688+00	2025-06-04 02:44:48.777688+00	f9a1a718-d94e-497b-bb5a-d955b2be790d
c7483d99-d823-4ab9-bf74-80f04d463f3d	c7483d99-d823-4ab9-bf74-80f04d463f3d	{"id": "", "sub": "c7483d99-d823-4ab9-bf74-80f04d463f3d", "email": "mousa08220@gmail.com", "state": true, "gender": "male", "country": "YE", "password": "[REDACTED] "last_name": "Emperor", "user_type": "client", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Emperor", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": false, "phone_verified": false}	email	2025-06-04 06:34:25.10901+00	2025-06-04 06:34:25.109063+00	2025-06-04 06:34:25.109063+00	015c88e4-61c8-4e1e-96ab-e6ba723bc5ab
7958f41d-6be5-43f9-a449-19861464b4db	7958f41d-6be5-43f9-a449-19861464b4db	{"id": "", "sub": "7958f41d-6be5-43f9-a449-19861464b4db", "email": "mfoud4444@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "Foud2", "user_type": "super_admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Mohammed", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": false, "phone_verified": false}	email	2025-06-08 17:59:29.759342+00	2025-06-08 17:59:29.759397+00	2025-06-08 17:59:29.759397+00	6995751b-4f27-4011-8812-a8c5a6336568
c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	{"id": "", "sub": "c69e29d4-7a19-4f6a-a75b-7b8dc1579f61", "email": "yazan09078@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "yy", "user_type": "admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Y", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": false, "phone_verified": false}	email	2025-06-08 19:59:58.076222+00	2025-06-08 19:59:58.076275+00	2025-06-08 19:59:58.076275+00	5fd11f4f-22bc-4bf9-85db-168130b2cea5
3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	{"id": "", "sub": "3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd", "email": "mousa08224@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "Emperor", "user_type": "editor", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Mousa", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": false, "phone_verified": false}	email	2025-06-09 16:04:01.284498+00	2025-06-09 16:04:01.284593+00	2025-06-09 16:04:01.284593+00	0be16dfc-bf39-4bf6-94de-0d2a55953f37
\.


--
-- Data for Name: instances; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.instances (id, uuid, raw_base_config, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: mfa_amr_claims; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.mfa_amr_claims (session_id, created_at, updated_at, authentication_method, id) FROM stdin;
987c2f84-6e4d-4d76-90d5-4716a71abfcc	2025-06-09 13:35:04.271252+00	2025-06-09 13:35:04.271252+00	password	4bd23a58-5ab2-4796-8306-44e56f9ad6cd
4cafe4f7-6739-4fb4-a4b8-c750acaf836c	2025-06-09 16:04:34.271832+00	2025-06-09 16:04:34.271832+00	password	930d7058-5683-42a6-bd82-a297c278ba36
946d3ac2-f31e-45ec-8cfd-5e1b6a0fdeb4	2025-06-09 16:04:39.48879+00	2025-06-09 16:04:39.48879+00	password	ca3aefe0-6cdb-4a00-beea-9639705471c2
f3e3dde7-5cbb-4447-a4df-f7fc9378de2c	2025-06-09 16:04:44.595129+00	2025-06-09 16:04:44.595129+00	password	fae0b9a3-b2f8-4bbd-8415-900604dba48c
515d56ff-83f7-4c42-ad37-cacc3ed5b490	2025-06-09 16:05:06.855777+00	2025-06-09 16:05:06.855777+00	password	f52d408f-9f89-4799-a084-7917f8841db9
bd6adf4f-d3d0-4a16-8f1e-24fc0e404396	2025-06-18 08:03:03.449621+00	2025-06-18 08:03:03.449621+00	password	fdeae6a2-69f6-45ec-a6ce-26c9cde19f2f
\.


--
-- Data for Name: mfa_challenges; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.mfa_challenges (id, factor_id, created_at, verified_at, ip_address, otp_code, web_authn_session_data) FROM stdin;
\.


--
-- Data for Name: mfa_factors; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.mfa_factors (id, user_id, friendly_name, factor_type, status, created_at, updated_at, secret, phone, last_challenged_at, web_authn_credential, web_authn_aaguid) FROM stdin;
\.


--
-- Data for Name: one_time_tokens; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.one_time_tokens (id, user_id, token_type, token_hash, relates_to, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: refresh_tokens; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.refresh_tokens (instance_id, id, token, user_id, revoked, created_at, updated_at, parent, session_id) FROM stdin;
00000000-0000-0000-0000-000000000000	247	vitucsvceaec	7958f41d-6be5-43f9-a449-19861464b4db	f	2025-06-18 08:03:03.448471+00	2025-06-18 08:03:03.448471+00	\N	bd6adf4f-d3d0-4a16-8f1e-24fc0e404396
00000000-0000-0000-0000-000000000000	198	bk5ue4aeyncb	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	t	2025-06-09 13:35:04.270123+00	2025-06-09 14:36:16.127383+00	\N	987c2f84-6e4d-4d76-90d5-4716a71abfcc
00000000-0000-0000-0000-000000000000	202	oj5var43is76	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	f	2025-06-09 16:04:34.269827+00	2025-06-09 16:04:34.269827+00	\N	4cafe4f7-6739-4fb4-a4b8-c750acaf836c
00000000-0000-0000-0000-000000000000	203	bc7mj6apfy3k	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	f	2025-06-09 16:04:39.487603+00	2025-06-09 16:04:39.487603+00	\N	946d3ac2-f31e-45ec-8cfd-5e1b6a0fdeb4
00000000-0000-0000-0000-000000000000	204	7ig4kl7nwfho	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	f	2025-06-09 16:04:44.593134+00	2025-06-09 16:04:44.593134+00	\N	f3e3dde7-5cbb-4447-a4df-f7fc9378de2c
00000000-0000-0000-0000-000000000000	205	crmxul7tj53b	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	f	2025-06-09 16:05:06.854594+00	2025-06-09 16:05:06.854594+00	\N	515d56ff-83f7-4c42-ad37-cacc3ed5b490
00000000-0000-0000-0000-000000000000	199	ybp6s5d3yovo	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	t	2025-06-09 14:36:16.139629+00	2025-06-11 15:07:04.849663+00	bk5ue4aeyncb	987c2f84-6e4d-4d76-90d5-4716a71abfcc
00000000-0000-0000-0000-000000000000	216	4aut2ttlmboo	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	f	2025-06-11 15:07:04.851411+00	2025-06-11 15:07:04.851411+00	ybp6s5d3yovo	987c2f84-6e4d-4d76-90d5-4716a71abfcc
\.


--
-- Data for Name: saml_providers; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.saml_providers (id, sso_provider_id, entity_id, metadata_xml, metadata_url, attribute_mapping, created_at, updated_at, name_id_format) FROM stdin;
\.


--
-- Data for Name: saml_relay_states; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.saml_relay_states (id, sso_provider_id, request_id, for_email, redirect_to, created_at, updated_at, flow_state_id) FROM stdin;
\.


--
-- Data for Name: schema_migrations; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.schema_migrations (version) FROM stdin;
20171026211738
20171026211808
20171026211834
20180103212743
20180108183307
20180119214651
20180125194653
00
20210710035447
20210722035447
20210730183235
20210909172000
20210927181326
20211122151130
20211124214934
20211202183645
20220114185221
20220114185340
20220224000811
20220323170000
20220429102000
20220531120530
20220614074223
20220811173540
20221003041349
20221003041400
20221011041400
20221020193600
20221021073300
20221021082433
20221027105023
20221114143122
20221114143410
20221125140132
20221208132122
20221215195500
20221215195800
20221215195900
20230116124310
20230116124412
20230131181311
20230322519590
20230402418590
20230411005111
20230508135423
20230523124323
20230818113222
20230914180801
20231027141322
20231114161723
20231117164230
20240115144230
20240214120130
20240306115329
20240314092811
20240427152123
20240612123726
20240729123726
20240802193726
20240806073726
20241009103726
\.


--
-- Data for Name: sessions; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.sessions (id, user_id, created_at, updated_at, factor_id, aal, not_after, refreshed_at, user_agent, ip, tag) FROM stdin;
987c2f84-6e4d-4d76-90d5-4716a71abfcc	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	2025-06-09 13:35:04.269417+00	2025-06-11 15:07:04.853703+00	\N	aal1	\N	2025-06-11 15:07:04.853635	Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36 OPR/86.0.0.0	108.181.25.119	\N
4cafe4f7-6739-4fb4-a4b8-c750acaf836c	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	2025-06-09 16:04:34.26913+00	2025-06-09 16:04:34.26913+00	\N	aal1	\N	\N	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36	95.184.14.126	\N
946d3ac2-f31e-45ec-8cfd-5e1b6a0fdeb4	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	2025-06-09 16:04:39.48694+00	2025-06-09 16:04:39.48694+00	\N	aal1	\N	\N	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36	95.184.14.126	\N
f3e3dde7-5cbb-4447-a4df-f7fc9378de2c	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	2025-06-09 16:04:44.589604+00	2025-06-09 16:04:44.589604+00	\N	aal1	\N	\N	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36	95.184.14.126	\N
515d56ff-83f7-4c42-ad37-cacc3ed5b490	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	2025-06-09 16:05:06.850899+00	2025-06-09 16:05:06.850899+00	\N	aal1	\N	\N	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36	95.184.14.126	\N
bd6adf4f-d3d0-4a16-8f1e-24fc0e404396	7958f41d-6be5-43f9-a449-19861464b4db	2025-06-18 08:03:03.447234+00	2025-06-18 08:03:03.447234+00	\N	aal1	\N	\N	Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36	188.240.126.76	\N
\.


--
-- Data for Name: sso_domains; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.sso_domains (id, sso_provider_id, domain, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: sso_providers; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.sso_providers (id, resource_id, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: users; Type: TABLE DATA; Schema: auth; Owner: -
--

COPY auth.users (instance_id, id, aud, role, email, encrypted_password, email_confirmed_at, invited_at, confirmation_token, confirmation_sent_at, recovery_token, recovery_sent_at, email_change_token_new, email_change, email_change_sent_at, last_sign_in_at, raw_app_meta_data, raw_user_meta_data, is_super_admin, created_at, updated_at, phone, phone_confirmed_at, phone_change, phone_change_token, phone_change_sent_at, email_change_token_current, email_change_confirm_status, banned_until, reauthentication_token, reauthentication_sent_at, is_sso_user, deleted_at, is_anonymous) FROM stdin;
00000000-0000-0000-0000-000000000000	c7483d99-d823-4ab9-bf74-80f04d463f3d	authenticated	authenticated	mousa08220@gmail.com	$2a$10$jXy61tlMaf5GOqRdSr3X9ukODyr1Yjru2pinAUFS4foTeGpdhAOvu	2025-06-04 06:34:25.115014+00	\N		\N		\N			\N	2025-06-04 06:34:25.120308+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "c7483d99-d823-4ab9-bf74-80f04d463f3d", "email": "mousa08220@gmail.com", "state": true, "gender": "male", "country": "YE", "password": "[REDACTED] "last_name": "Emperor", "user_type": "client", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Emperor", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-06-04 06:34:25.096673+00	2025-06-08 18:20:49.529268+00	\N	\N			\N		0	\N		\N	f	\N	f
00000000-0000-0000-0000-000000000000	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	authenticated	authenticated	yazan09078@gmail.com	$2a$10$liF/GspgF61.4X4cs/815uC5T5SuS2K9HVwXrbnE6JOJhownz7s8O	2025-06-08 19:59:58.084664+00	\N		\N		\N			\N	2025-06-09 13:35:04.268658+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "c69e29d4-7a19-4f6a-a75b-7b8dc1579f61", "email": "yazan09078@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "yy", "user_type": "admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Y", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-06-08 19:59:58.060132+00	2025-06-11 15:07:04.852435+00	\N	\N			\N		0	\N		\N	f	\N	f
00000000-0000-0000-0000-000000000000	7ae51109-17d1-4c42-aa60-b222a36fc76a	authenticated	authenticated	mfoud444@gmail.com	$2a$10$y5uUNMf9K0nN1btGtlQNduvQMSi1iyinOMsJD2vDtYpLG5bIqlJ4S	2025-02-27 21:49:27.383517+00	\N		2025-02-27 21:46:46.311366+00	e8f380b1e601249661698f81477ccbcd69f56747040274f7a041d960	2025-03-08 03:59:59.477113+00			\N	2025-06-18 08:02:21.547583+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "7ae51109-17d1-4c42-aa60-b222a36fc76a", "email": "mfoud444@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "Foud", "user_type": "admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Mohammed", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-02-27 21:46:46.274154+00	2025-06-18 08:02:21.549287+00	\N	\N			\N		0	\N		\N	f	\N	f
00000000-0000-0000-0000-000000000000	7958f41d-6be5-43f9-a449-19861464b4db	authenticated	authenticated	mfoud4444@gmail.com	$2a$10$Mc7ev9017N0XaoZrXBpaXe.dc1tYI4ykeT5tL734dFw07Vwhlh2oG	2025-06-08 17:59:29.76895+00	\N		\N		\N			\N	2025-06-18 08:03:03.447154+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "7958f41d-6be5-43f9-a449-19861464b4db", "email": "mfoud4444@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "Foud2", "user_type": "super_admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Mohammed", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-06-08 17:59:29.735023+00	2025-06-18 08:03:03.449335+00	\N	\N			\N		0	\N		\N	f	\N	f
00000000-0000-0000-0000-000000000000	adc9feec-993d-41b9-9629-b1beccda90d8	authenticated	authenticated	mousadev0@gmail.com	$2a$10$RQMT.zdDpdPTDRwW5BSsi.mTImiN8vCoRHZUEa.CkJQpcMKHfAPKS	2025-06-04 02:44:48.781317+00	\N		\N		\N			\N	2025-06-18 08:01:35.606837+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "adc9feec-993d-41b9-9629-b1beccda90d8", "email": "mousadev0@gmail.com", "state": true, "gender": "male", "country": "YE", "password": "[REDACTED] "last_name": "ALAZZANI", "user_type": "admin", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "MOUSA", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-06-04 02:44:48.769301+00	2025-06-18 08:01:35.620033+00	\N	\N			\N		0	\N		\N	f	\N	f
00000000-0000-0000-0000-000000000000	3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	authenticated	authenticated	mousa08224@gmail.com	$2a$10$BmLT0Ec8WuSIOPGm0iWkk./NIYoHblSwI93iNZU7dfWOKz8xU880y	2025-06-09 16:04:01.293168+00	\N		\N		\N			\N	2025-06-09 16:05:06.850825+00	{"provider": "email", "providers": ["email"]}	{"id": "", "sub": "3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd", "email": "mousa08224@gmail.com", "state": true, "gender": "male", "country": "USA", "password": "[REDACTED] "last_name": "Emperor", "user_type": "editor", "avatar_url": "", "created_at": "2024-01-01T00:00:00Z", "first_name": "Mousa", "updated_at": "2024-01-01T00:00:00Z", "date_of_birth": "", "email_verified": true, "phone_verified": false}	\N	2025-06-09 16:04:01.261669+00	2025-06-09 16:05:06.855484+00	\N	\N			\N		0	\N		\N	f	\N	f
\.


--
-- Data for Name: key; Type: TABLE DATA; Schema: pgsodium; Owner: -
--

COPY pgsodium.key (id, status, created, expires, key_type, key_id, key_context, name, associated_data, raw_key, raw_key_nonce, parent_key, comment, user_data) FROM stdin;
\.


--
-- Data for Name: api_virtual_number; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.api_virtual_number (id, name, api_url, api_key, bot_id, is_active, created_at, updated_at) FROM stdin;
28cf2054-e1d4-4282-8d64-60e8cf64d89b	5 SIM	https://5sim.net/v1	[REDACTED]049a92c4-7654-43f6-8e6f-7ff5cce78995	t	2025-05-20 23:47:13.869327+00	2025-05-20 23:47:13.869327+00
\.


--
-- Data for Name: bot_messages; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.bot_messages (id, key, ar_value, en_value, description, created_at, updated_at) FROM stdin;
f2435327-e1e0-4037-abba-78f3eb4fb3ea	welcome	مرحباً بك {name} 💜\n- في بوت SAERO SMS المكسي، البوت الأفضل على التليجرام والذي يقوم بتوفير خدمات الأرقام الوهمية لمواقع السوشيال ميديا مثل التليجرام والواتساب والتويتر وغيره 🧞‍♂️\n\n✅ قم بالضغط على زر تسجيل الدخول للبدء ✅	Welcome {name} 💜\n- To SAERO SMS Mix Bot, the best Telegram bot that provides virtual number services for social media sites like Telegram, WhatsApp, Twitter, and others 🧞‍♂️\n\n✅ Click the login button to start ✅	Welcome message shown when user starts the bot	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
11a83c6a-cefe-444b-83c1-f215b80cb001	terms	📜 <b>شروط الاستخدام</b>\n\n1. يجب استخدام البوت بشكل قانوني وأخلاقي.\n2. يُمنع استخدام الأرقام لأغراض احتيالية أو إجرامية.\n3. الأرقام متاحة لمدة محدودة (20 دقيقة).\n4. لا يمكن استرداد الرصيد بعد شراء الرقم.\n5. يحق لإدارة البوت إيقاف أي حساب يخالف الشروط.\n6. قد تختلف أسعار الخدمات حسب توفر الأرقام.\n7. لا نتحمل مسؤولية استخدام الأرقام لأغراض غير مشروعة.\n\nباستخدامك للبوت فإنك توافق على جميع الشروط المذكورة أعلاه.	📜 <b>Terms of Use</b>\n\n1. The bot must be used legally and ethically.\n2. Using numbers for fraudulent or criminal purposes is prohibited.\n3. Numbers are available for a limited time (20 minutes).\n4. Balance cannot be refunded after purchasing a number.\n5. Bot management reserves the right to suspend any account that violates the terms.\n6. Service prices may vary depending on number availability.\n7. We are not responsible for the use of numbers for illegal purposes.\n\nBy using the bot, you agree to all the terms mentioned above.	Terms of use message	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
d653c084-8fdf-4cc7-8cc0-d155ade6cdb1	new_members	🆕 <b>المستخدمين الجدد</b>\n\nمرحباً بك في قائمة المستخدمين الجدد!\n\n👤 لقد انضم 85 مستخدم جديد اليوم\n👤 لقد انضم 520 مستخدم جديد هذا الأسبوع\n👤 لقد انضم 2,150 مستخدم جديد هذا الشهر\n\n🌟 شكراً لانضمامك إلى مجتمعنا المتنامي!	🆕 <b>New Members</b>\n\nWelcome to the new members section!\n\n👤 85 new users joined today\n👤 520 new users joined this week\n👤 2,150 new users joined this month\n\n🌟 Thank you for joining our growing community!	New members statistics message	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
ca252547-3955-43dc-bfbe-932b0487c11f	stats	📊 <b>إحصائيات البوت</b>\n\n👥 عدد المستخدمين: 12,500+\n🌍 عدد الدول المدعومة: 190+\n📱 عدد الخدمات: 15+\n🔢 عدد الأرقام المستلمة: 350,000+\n\n📈 <b>النشاط اليومي:</b>\nعدد العمليات اليوم: 1,250+\nعدد المستخدمين الجدد اليوم: 85+\n\n⚡ آخر تحديث: {current_datetime}	📊 <b>Bot Statistics</b>\n\n👥 Total users: 12,500+\n🌍 Supported countries: 190+\n📱 Available services: 15+\n🔢 Numbers provided: 350,000+\n\n📈 <b>Daily Activity:</b>\nToday's operations: 1,250+\nNew users today: 85+\n\n⚡ Last updated: {current_datetime}	Bot statistics message	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
1d789478-2669-4cca-b5f2-8f37cbd993ee	auth_required	🔐 *تحذير أمان*\n\nيجب تسجيل الدخول أولاً لاستخدام هذه الخدمة.\nالرجاء الضغط على زر "تسجيل الدخول" للبدء.	🔐 *Security Warning*\n\nYou must login first to use this service.\nPlease click the "Login" button to start.	Message shown when authentication is required	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
581f1266-f811-4bed-91c1-f9c8dbbf3f52	login	🔐 يرجى إدخال معلومات تسجيل الدخول....	🔐 Please enter your login information...	Login prompt message	2025-05-24 19:57:56.565418+00	2025-05-24 20:15:06.088043+00
138453f9-cd26-4d35-8e42-ce43b4518c30	btn_change_language	🌐 Language / اللغة	🌐 Language / اللغة	Change language button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
6ee43552-cdd4-4186-bdd6-8dd6b3b1de1a	btn_service_telegram	تليجرام 📨	Telegram 📨	Telegram service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
a2e7f788-97ce-464b-ab57-7b4b2de9e484	countries_list	🌍 *الدول المتاحة لخدمة {service}*\n\n{page > 0 ? `📑 الصفحة: {page + 1}\\n` : '}✨ اختر الدولة التي تريدها من القائمة التالية:	🌍 *Available Countries for {service}*\n\n{page > 0 ? `📑 Page: {page + 1}\\n` : '}✨ Choose the country you want from the following list:	Message showing available countries for a service	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
21b1d8d0-6399-40c7-9454-0cc095becc3b	service_error	⚠️ *حدث خطأ غير متوقع*\n\nتعذر جلب الدول المتاحة لخدمة {service}.\nالرجاء المحاولة مرة أخرى لاحقاً.	⚠️ *Unexpected Error*\n\nFailed to fetch available countries for {service}.\nPlease try again later.	Error message when service fails	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
0a466695-7aae-4672-b4f0-c58fc5e280ed	loading_prices	⏳ *جاري التحميل*\n\nنعمل على جلب أحدث الأسعار لـ {service} في {countryId}...	⏳ *Loading*\n\nWe are fetching the latest prices for {service} in {countryId}...	Message shown while loading prices	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
4e4537b8-6a2b-4b22-9fbd-ba938686fef6	no_prices	⚠️ *لا توجد نتائج*\n\nعذراً، لا توجد أسعار متاحة لـ {service} في {countryId}.\nالرجاء اختيار دولة أخرى أو خدمة مختلفة.	⚠️ *No Results*\n\nSorry, no prices available for {service} in {countryId}.\nPlease choose another country or different service.	Message shown when no prices are available	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
e9034095-b96a-4dfd-9732-83292819b097	prices_list	📊 أسعار خدمة {service} في {countryName}:\n\nاختر المشغل للحصول على رقم افتراضي:	📊 Prices for {service} in {countryName}:\n\nChoose an operator to get a virtual number:	Message showing prices list	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
329518fa-f9aa-487c-9c95-9e4849b2bef3	prices_error	⚠️ *خطأ في النظام*\n\nتعذر جلب الأسعار لـ {service} في {countryId}.\nالرجاء المحاولة مرة أخرى أو التواصل مع الدعم الفني.	⚠️ *System Error*\n\nFailed to fetch prices for {service} in {countryId}.\nPlease try again or contact technical support.	Error message when prices fail to load	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
e64e30ec-8dd2-4ad5-b891-8e66dd922f1a	processing_purchase	🔄 *جاري معالجة طلبك*\n\nنعمل على تخصيص رقم {service} في {countryId}...	🔄 *Processing Your Request*\n\nWe are allocating a {service} number in {countryId}...	Message shown while processing purchase	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
5067ca0b-e38f-4e89-9fc0-c541c0297e78	service_unavailable	⚠️ *خدمة غير متوفرة*\n\nعذراً، الخدمة المطلوبة ({service}) غير متوفرة حالياً مع المشغل ({operator}) في {countryId}.\n\nالرجاء اختيار مشغل آخر أو المحاولة لاحقاً.	⚠️ *Service Unavailable*\n\nSorry, the requested service ({service}) is currently unavailable with operator ({operator}) in {countryId}.\n\nPlease choose another operator or try again later.	Message when service is unavailable	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
83ac62c0-8c09-4ca0-8c22-80e102c77946	insufficient_balance	⚠️ *رصيد غير كافٍ*\n\nللأسف، رصيدك الحالي غير كافٍ لإتمام هذه العملية.\n\n💵 الرصيد المطلوب: {cost}$\n💰 رصيدك الحالي: {balance}$\n\nالرجاء شحن رصيدك ثم المحاولة مرة أخرى.	⚠️ *Insufficient Balance*\n\nUnfortunately, your current balance is insufficient to complete this operation.\n\n💵 Required balance: {cost}$\n💰 Your current balance: {balance}$\n\nPlease top up your balance and try again.	Message when user has insufficient balance	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
655e0073-ab43-4527-b311-38f665816b98	purchase_failed	⚠️ *فشل في الشراء*\n\nتعذر إتمام عملية الشراء للخدمة المطلوبة.\nقد يكون هذا بسبب نفاذ الأرقام المؤقتة.\n\nالرجاء المحاولة مرة أخرى لاحقاً أو اختيار خدمة/دولة أخرى.	⚠️ *Purchase Failed*\n\nFailed to complete the purchase for the requested service.\nThis may be due to temporary unavailability of numbers.\n\nPlease try again later or choose a different service/country.	Message when purchase fails	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
a806c4a8-2cf8-46d7-a00a-8f3944903577	purchase_error	⚠️ *خطأ فني*\n\nحدث خطأ غير متوقع أثناء محاولة الشراء:\n\n{error_message}\n\nالرجاء المحاولة مرة أخرى أو التواصل مع الدعم الفني.	⚠️ *Technical Error*\n\nAn unexpected error occurred while trying to purchase:\n\n{error_message}\n\nPlease try again or contact technical support.	Message when purchase encounters an error	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
84f7c205-7c62-426d-aa86-57c1432cbc26	pagination_error	⚠️ *خطأ في التصفح*\n\nتعذر تحميل الصفحة المطلوبة.\nالرجاء المحاولة مرة أخرى لاحقاً.	⚠️ *Navigation Error*\n\nFailed to load the requested page.\nPlease try again later.	Error message when pagination fails	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
a60eb8b5-c72f-4c40-8444-2056c52394dc	verification_code	📲 *تم استلام رمز التحقق!*\n\n📱 الرقم: {phone}\n🔐 الرمز: {code}\n⏰ وقت الاستلام: {current_time}\n\n✅ يمكنك الآن استخدام هذا الرمز لإكمال عملية التحقق.	📲 *Verification Code Received!*\n\n📱 Number: {phone}\n🔐 Code: {code}\n⏰ Time received: {current_time}\n\n✅ You can now use this code to complete the verification process.	Message with received verification code	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
23199716-f44e-4c79-a7d4-75573485baa3	verification_timeout	⏱️ *انتهت المهلة*\n\nلم نتمكن من استلام رمز التحقق خلال الوقت المحدد.\nقد يكون هناك تأخير من الخدمة أو لم يتم إرسال الرمز بعد.\n\nيمكنك محاولة إعادة طلب الرمز من التطبيق الأصلي.	⏱️ *Timeout Expired*\n\nWe couldn't receive the verification code within the allotted time.\nThere may be a delay from the service or the code hasn't been sent yet.\n\nYou can try requesting the code again from the original application.	Message when verification times out	2025-05-24 19:57:56.565418+00	2025-05-24 19:57:56.565418+00
7c04cda9-4af3-44ae-811f-bbada5a2ee62	btn_login	🔐 تسجيل الدخول / إنشاء حساب	🔐 Login / Register	Login/register button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
954845ad-af0d-4fc2-8033-8186c2841de4	btn_terms	📜 شروط الاستخدام وإخلاء المسؤولية	📜 Terms and Conditions	Terms and conditions button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
008ffeaf-fec0-4b26-908a-eb91e260cf2c	btn_new_members	👥 هــام للأعضاء الجدد	👥 Important for New Members	New members info button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
d7ad75ad-9fec-4d8f-a715-c398cab7e73f	btn_stats	📊 إحصائيات المستخدمين	📊 User Statistics	User statistics button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
ccd8e99e-35c9-4e98-9783-ecafb14b019e	btn_service_whatsapp	واتساب 🟢	WhatsApp 🟢	WhatsApp service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
9bf1e439-e2ae-4d45-bf75-5b080f08847d	btn_service_facebook	فيسبوك 🏆	Facebook 🏆	Facebook service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
6ed1eac3-7d41-4ebd-aefe-fe09d0d931ae	btn_service_instagram	انستجرام 📸	Instagram 📸	Instagram service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
d4abac73-8256-4e33-bb48-702527bb70f6	btn_service_tiktok	تيكتوك 🎭	TikTok 🎭	TikTok service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
95e0bf57-c194-4aa6-96b8-c188f82b154b	btn_service_twitter	تويتر 🐦	Twitter 🐦	Twitter service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
2904a763-21d5-4675-9112-f26727dc3107	btn_service_snapchat	سناب 👻	Snapchat 👻	Snapchat service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
13f71cb8-0d91-47a6-9a3d-f58b00a896f9	btn_service_google	جوجل 🔍	Google 🔍	Google service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
8fabfe46-ad38-4519-8270-9c867ba45750	btn_service_imo	ايمو 🍋	IMO 🍋	IMO service button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
ed53055e-a5b5-49e2-b4ba-6a555ce6dda2	btn_profile	👤 الملف الشخصي	👤 Profile	Profile button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
ce48852b-1a26-42bc-ad02-eeeebe006de0	btn_top_up	💰 تعبئة الرصيد	💰 Top Up Balance	Top up balance button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
014212a9-d212-41b6-9188-d11dece9db46	btn_history	📋 سجل المشتريات	📋 Purchase History	Purchase history button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
4774b3ba-8175-4c0d-9606-25ce558fc096	btn_back	رجوع 🔙	Back 🔙	Generic back button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
5e58fec5-2e2f-4f89-b1fe-6f4af5738b4a	btn_main_menu	القائمة الرئيسية 🏠	Main Menu 🏠	Main menu button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
9b058780-3d32-4950-97a1-965c84d10baa	btn_back_to_services	رجوع للخدمات 🔙	Back to Services 🔙	Back to services button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
e81d757c-7c5b-4172-aa2e-0c65687ff8d1	btn_previous	« السابق	« Previous	Previous page button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
7c6372ba-43b6-42ff-a049-ed93cddf2ee5	btn_next	التالي »	Next »	Next page button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
84c241ec-a75d-4ace-968c-8e4e565cea08	btn_page_info	{current}/{total}	{current}/{total}	Page info text (with placeholders)	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
e6e37d64-0337-4fda-a0a1-533a2869d3dc	btn_no_prices	⚠️ لا توجد أسعار متاحة لهذه الخدمة	⚠️ No prices available for this service	No prices available button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
211a366b-d4e1-49d3-b54b-2e77f154a333	btn_buy_format	💳 $ {price} ({count} متاح)	💳 $ {price} ({count} available)	Buy button format with placeholders	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
34cc274d-1406-4605-a68a-a6a80f06dac0	btn_numbers_history	📱 سجل الأرقام	📱 Numbers History	Numbers history button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
9dabd02d-29c2-4813-906a-0511cfd5ac73	btn_purchases_history	💰 سجل المشتريات	💰 Purchases History	Purchases history button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
d2a4866c-c03e-447a-abf3-9acb71f83a31	btn_back_to_main	🔙 العودة للقائمة الرئيسية	🔙 Back to Main Menu	Back to main menu button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
6a57cbde-3b44-4dd8-8194-2a676a6ed1c8	btn_lang_english	English 🇬🇧	English 🇬🇧	English language selection button	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
854fb5fd-b88d-4a24-916e-e682ee35c708	btn_lang_arabic	العربية 🇸🇦	العربية 🇸🇦	Arabic language selection button	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
f51a6fd9-294a-438a-bb71-4deee1df090e	btn_change_email	📧 تغيير البريد الإلكتروني	📧 Change Email	Change email button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
49a2cb45-2058-43ca-a99c-06641ed1cd5f	btn_change_password	🔑 تغيير كلمة المرور	🔑 Change Password	Change password button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
c6ed76ac-207f-4865-9c73-0a35ea91a849	btn_account_info	👤 معلومات الحساب	👤 Account Info	Account info button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
1844d8b2-ac23-49df-a7c6-d4f7f1499323	btn_back_to_logged_in	🔙 العودة للقائمة الرئيسية	🔙 Back to Main Menu	Back to logged in menu button text	2025-05-24 21:56:06.650091+00	2025-05-24 21:56:06.650091+00
b054968b-f5b6-4029-809b-f8266868a154	balance_top_up_title	💰 <b>تعبئة الرصيد</b>	💰 <b>Top Up Balance</b>	Title for balance top-up section	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
c86e2266-4779-4b4c-84e8-cf91e5b772f9	balance_current_balance	رصيدك الحالي: {balance}$	Your current balance: {balance}$	Current balance display text	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
9ae57730-c5ff-497e-834d-d402ff17febf	balance_choose_payment_method	اختر طريقة الدفع:	Choose payment method:	Prompt to choose payment method	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
e8ac38f4-5e59-42e9-8388-2974357dde88	balance_custom_amount_title	💰 <b>تعبئة رصيد مخصص</b>	💰 <b>Custom Amount Top Up</b>	Title for custom amount section	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
8bc66880-b900-45aa-8b77-dd5be5f41432	balance_enter_custom_amount	الرجاء إدخال المبلغ المطلوب (بالدولار):\\nمثال: 15.50	Please enter the amount you want to add (in USD):\\nExample: 15.50	Prompt to enter custom amount	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
03f7e470-d491-444e-99e5-bcc59eeee291	balance_invalid_amount	⚠️ المبلغ غير صالح. الرجاء إدخال رقم صحيح أو عشري موجب.	⚠️ Invalid amount. Please enter a positive number or decimal.	Error message for invalid amount input	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
43f9fa53-7b37-4e2a-a7d2-8701aa8456a4	balance_choose_amount	اختر مبلغ التعبئة:	Choose top-up amount:	Prompt to choose top-up amount	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
b6b6fbfc-e944-4707-aa3e-dcec049e9e64	payment_paypal_title	💰 <b>تعبئة الرصيد عبر PayPal</b>	💰 <b>Top Up via PayPal</b>	Title for PayPal payment	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
3a6319cc-5403-429d-8c15-2bd3ce641044	payment_paypal_instructions	اضغط على الرابط التالي لإتمام عملية الدفع:\\n{payment_link}\\n\\nبعد إتمام عملية الدفع، سيتم إضافة الرصيد تلقائياً إلى حسابك.	Click the following link to complete payment:\\n{payment_link}\\n\\nAfter completing payment, balance will be added automatically to your account.	PayPal payment instructions	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
a33c25ea-0310-4114-b39a-99fdddfa76df	payment_crypto_title	💰 <b>تعبئة الرصيد عبر العملات المشفرة</b>	💰 <b>Top Up via Crypto</b>	Title for crypto payment	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
d1cdf764-8392-48f1-a2e9-7a92a841211a	payment_crypto_instructions	عنوان المحفظة: `{wallet_address}`\\n\\nبعد إتمام عملية التحويل، سيتم إضافة الرصيد تلقائياً إلى حسابك.	Wallet address: `{wallet_address}`\\n\\nAfter completing transfer, balance will be added automatically to your account.	Crypto payment instructions	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
f47e46ff-3d19-452a-809f-979ce81f81a7	payment_admin_title	💰 <b>تعبئة الرصيد عبر المدير</b>	💰 <b>Top Up via Admin</b>	Title for admin payment	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
a8c64cda-453b-4b37-80b7-4770f63bc688	payment_admin_instructions	للتواصل مع المدير:\\n{admin_contact}\\n\\nبعد إتمام عملية الدفع، سيتم إضافة الرصيد تلقائياً إلى حسابك.	Contact admin:\\n{admin_contact}\\n\\nAfter completing payment, balance will be added automatically to your account.	Admin payment instructions	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
7c63f604-9df5-4e99-914d-6ec156da6b66	payment_error	⚠️ حدث خطأ أثناء إنشاء عملية الدفع. يرجى المحاولة مرة أخرى لاحقاً.	⚠️ Error creating payment. Please try again later.	Payment processing error message	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
a2320e33-4d91-45d7-845e-0122c9694d5f	btn_payment_paypal	💳 PayPal	💳 PayPal	PayPal payment button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
fad735c2-667b-4006-b758-be6a6926d9b4	btn_payment_crypto	₿ Crypto	₿ Crypto	Crypto payment button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
de212de3-11af-43b5-9751-0ba67dfda633	btn_payment_admin	👨‍💼 الدفع للمدير	👨‍💼 Pay to Admin	Admin payment button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
d6376e41-8338-4c8b-9675-17872bb68c64	btn_custom_amount	💰 مبلغ مخصص	💰 Custom Amount	Custom amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
df78a985-44ab-4a5a-a7c5-bf2e385be1bf	btn_amount_5	$5	$5	$5 amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
bb5f559e-117f-4ed5-88d2-8c3cd927de9c	btn_amount_10	$10	$10	$10 amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
2edbebf6-84be-4bdd-8dc9-949b52edf90d	btn_amount_20	$20	$20	$20 amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
568494c1-ec89-4188-ac15-6ac46e8a6b4b	btn_amount_50	$50	$50	$50 amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
4e929b76-8d88-48b0-a866-de28240c2125	btn_amount_100	$100	$100	$100 amount button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
9e4d1e4d-a3ab-4678-a8f6-0a0217f45c93	btn_cancel	🔙 إلغاء	🔙 Cancel	Cancel button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
4964b4db-d8a9-411c-9fc7-039233173176	btn_back_to_balance	🔙 العودة	🔙 Back	Back to balance button	2025-05-24 22:02:24.194284+00	2025-05-24 22:02:24.194284+00
0dcb8745-1161-4bf9-81ea-3639f1ee3f22	start_welcome_back	مرحباً بك مجدداً {name}!\\nيمكنك استخدام الخدمات التالية:	Welcome back {name}!\\nYou can use the following services:	Welcome back message for logged-in users	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
24d92243-8fd2-4d00-b711-0fa5e4c5bcd1	about_title	🌐 <b>معلومات عن البوت</b>	🌐 <b>About the Bot</b>	Title for about section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
3ec6b998-5142-4de0-9816-e3faeb6401c9	about_bot_name	🤖 <b>اسم البوت:</b> {bot_name}	🤖 <b>Bot Name:</b> {bot_name}	Bot name in about section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
ba3ddd94-13fd-4999-b71e-2ad2759b33d9	about_version	🛠️ <b>الإصدار:</b> {version}	🛠️ <b>Version:</b> {version}	Version in about section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
720e7fe5-4d25-4fb4-960f-3289a953ed5c	about_currency	💲 <b>العملة:</b> {currency}	💲 <b>Currency:</b> {currency}	Currency in about section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
17925c4d-08bc-4c24-ad51-9d72ab24700f	about_copyright	⚡ جميع الحقوق محفوظة © 2025	⚡ All rights reserved © 2025	Copyright notice in about section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
5ce8975f-00e2-47c8-8548-4e84fd7b783e	balance_title	💰 <b>معلومات الرصيد</b>	💰 <b>Balance Information</b>	Title for balance section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
25bb09fa-078b-4e76-9964-df0c71fced97	balance_current	رصيدك الحالي: {balance}$	Your current balance: {balance}$	Current balance display	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
058ccbd6-2a24-44de-b9a2-0177ecbe12dc	balance_last_updated	آخر تحديث: {update_time}	Last updated: {update_time}	Last update time for balance	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
4782483b-b6f2-40bc-9091-28567ab9907c	balance_auth_required	⚠️ الرجاء تسجيل الدخول أولاً للاطلاع على رصيدك	⚠️ Please login first to view your balance	Authentication required for balance check	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
36ef2cc0-35be-4ba1-a0f6-d6b4f7331ab5	history_title	📋 <b>سجل المشتريات</b>	📋 <b>Purchase History</b>	Title for history section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
133156da-d0e2-4db0-ba54-4e137292b9dc	history_description	يمكنك الاطلاع على سجل مشترياتك السابقة من الأرقام الافتراضية.\\nاختر نوع السجل الذي تريد عرضه:	You can view your previous purchases of virtual numbers.\\nChoose the type of history you want to view:	Description for history section	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
d0d3322c-e3f4-4791-9d22-815bd05e9b6e	history_auth_required	⚠️ الرجاء تسجيل الدخول أولاً لعرض سجل مشترياتك	⚠️ Please login first to view your purchase history	Authentication required for history	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
340e238c-a354-4322-9070-5c5399ad7a1c	error_user_not_found	⚠️ حدث خطأ في تحديد هوية المستخدم	⚠️ Error identifying user	Error when user cannot be identified	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
57ddb9f4-c833-424f-a446-d04f60932964	error_generic	⚠️ حدث خطأ غير متوقع	⚠️ An unexpected error occurred	Generic error message	2025-05-24 22:05:47.909696+00	2025-05-24 22:05:47.909696+00
0a6aca34-9b69-4a9f-b6d2-79cafe207043	history_purchases_title	💰 <b>سجل المشتريات</b>	💰 <b>Purchases History</b>	Title for purchases history section	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
ff668d5d-7e0e-493c-bedb-a185a74790dd	history_numbers_empty	لم تقم بشراء أي أرقام حتى الآن.\\nيمكنك شراء أرقام جديدة من القائمة الرئيسية.	You havve purchased any numbers yet.\\nYou can buy new numbers from the main menu.	Message shown when numbers history is empty	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
a90adb47-9e00-4e0b-beb6-49a65bc91eea	history_purchases_empty	لم تقم بأي عمليات شراء حتى الآن.\\nيمكنك شراء أرقام جديدة من القائمة الرئيسية.	You have made any purchases yet.\\nYou can buy new numbers from the main menu.	Message shown when purchases history is empty	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
7ce8e5ce-ad7b-4381-940d-79bf7cfa3972	history_item_format	<b>{index}. {service} {state_emoji}</b>\\n📞 الرقم: {phone_number}\\n🌍 الدولة: {country}\\n🔌 المشغل: {operator}\\n💲 التكلفة: {cost}$\\n⏰ تاريخ الشراء: {purchase_date}	<b>{index}. {service} {state_emoji}</b>\\n📞 Number: {phone_number}\\n🌍 Country: {country}\\n🔌 Operator: {operator}\\n💲 Cost: {cost}$\\n⏰ Purchase date: {purchase_date}	Format for history items	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
30f1dad0-c8db-47a9-ae24-a21160a9aaa6	history_more_items	<i>... وأكثر من ذلك ({count} {type} إضافية)</i>	<i>... and more ({count} additional {type})</i>	Message when there are more items than shown	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
81cc7e7a-d19d-4c4e-be8f-48c849b567ff	history_numbers_error	⚠️ <b>خطأ</b>\\n\\nحدث خطأ أثناء جلب سجل الأرقام الخاص بك.\\nالرجاء المحاولة مرة أخرى لاحقاً.	⚠️ <b>Error</b>\\n\\nAn error occurred while fetching your numbers history.\\nPlease try again later.	Error message for numbers history	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
b4380f7c-197a-4381-9c2a-65d0f7f3f9d7	history_numbers_title	📱 سجل الارقام</b>	📱 <b>Numbers History</b>	Title for numbers history section	2025-05-24 22:10:13.959663+00	2025-06-06 04:18:02.001813+00
9e1f0ac9-8d6e-48de-ad4a-cc98a8874f7e	about_features	🌟 <b>مميزات البوت:</b>\n✔️ دعم 1429 خدمة مختلفة\n✔️ أكثر من 150 دولة متاحة\n✔️ واجهة سهلة الاستخدام\n✔️ دعم فني على مدار الساعة	🌟 <b>Features:</b>\\n\n✔️ Supports 12 different services\n✔️ More than 100 countries available\n✔️ User-friendly interface\n✔️ 24/7 technical support	Features list in about section	2025-05-24 22:05:47.909696+00	2025-06-15 00:46:48.820377+00
77805b99-88b6-4683-8104-3e44bfa88508	history_purchases_error	⚠️ <b>خطأ</b>\\n\\nحدث خطأ أثناء جلب سجل المشتريات الخاص بك.\\nالرجاء المحاولة مرة أخرى لاحقاً.	⚠️ <b>Error</b>\\n\\nAn error occurred while fetching your purchases history.\\nPlease try again later.	Error message for purchases history	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
058aa2e5-ffd3-4dd0-9b33-0556eec11b8d	purchase_state_success	✅ ناجح	✅ Success	Success state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
bc4c7b29-9abd-4a46-b0ea-9e559fccab2c	purchase_state_failed	❌ فاشل	❌ Failed	Failed state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
3ecfc0b3-72e5-40e9-823a-46eae16a6ae9	purchase_state_pending	⏳ قيد الانتظار	⏳ Pending	Pending state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
df11fb4d-8285-4502-93e6-4647806c7582	purchase_state_canceled	🚫 ملغي	🚫 Canceled	Canceled state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
498674a1-76fa-4613-ae5b-55ee64284ad2	purchase_state_timeout	⏱️ انتهى الوقت	⏱️ Timeout	Timeout state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
a4c38027-4bf8-4372-a8f3-a981a0174f7b	purchase_state_unknown	❓ غير معروف	❓ Unknown	Unknown state emoji and text	2025-05-24 22:10:13.959663+00	2025-05-24 22:10:13.959663+00
320896cc-e8a5-4051-afc1-7fd806694614	login_error_user_info	خطأ في الحصول على معلومات المستخدم. يرجى المحاولة مرة أخرى.	Error getting user information. Please try again.	Error when unable to get user info	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
20ff5b7d-5373-4bbf-a651-258ed08d33b1	login_error_system	حدث خطأ في النظام. يرجى المحاولة مرة أخرى لاحقاً.	A system error occurred. Please try again later.	Generic system error message	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
2150556d-f7a5-4ab0-ac13-4589a541e54e	login_error_create_account	حدث خطأ أثناء إنشاء حساب جديد. يرجى المحاولة مرة أخرى لاحقاً.	An error occurred while creating a new account. Please try again later.	Error during account creation	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
c11df8bb-0545-4db8-aee9-1c1badc2d09d	login_error_general	حدث خطأ أثناء تسجيل الدخول. يرجى المحاولة مرة أخرى لاحقاً.	An error occurred during login. Please try again later.	General login error	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
58a02ef0-efcc-48de-ae78-43d1f34c02c0	login_already_logged_in	أنت مسجل دخول بالفعل! يمكنك استخدام الخدمات التالية:	You are already logged in! You can use the following services:	Message when user is already logged in	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
211240b8-fb3c-47b3-bb6e-0ab32c628e30	account_created_success	✅ تم إنشاء حساب جديد بنجاح!\\n\\nمرحباً بك {firstName}!\\n\\nمعلومات حسابك:\\nالبريد الإلكتروني: {email}\\nكلمة المرور: {password}\\n\\nيرجى الاحتفاظ بهذه المعلومات في مكان آمن.	✅ Account created successfully!\\n\\nWelcome {firstName}!\\n\\nYour account information:\\nEmail: {email}\\nPassword: {password}\\n\\nPlease keep this information in a safe place.	New account creation success message	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
62e12029-35e1-41d8-8e0c-58b825732f8a	account_email_label	البريد الإلكتروني:	Email:	Label for email in account info	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
291cb391-e689-45e3-a5e0-00b256345323	account_balance_label	الرصيد:	Balance:	Label for balance in account info	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
e0029996-4a4d-4a8a-b5e6-d0baead1e06c	account_password_label	كلمة المرور:	Password:	[REDACTED] for password in account info	2025-05-24 22:18:27.375794+00	2025-05-24 22:18:27.375794+00
439cda76-5bfc-49a0-9eea-63cfab3f3c60	verification_received	📲 *تم استلام رمز التحقق!*\\n\\n📱 الرقم: {phone}\\n🔐 الرمز: {code}\\n⏰ وقت الاستلام: {time}\\n\\n✅ يمكنك الآن استخدام هذا الرمز لإكمال عملية التحقق.	📲 *Verification Code Received!*\\n\\n📱 Number: {phone}\\n🔐 Code: {code}\\n⏰ Time received: {time}\\n\\n✅ You can now use this code to complete verification.	Message when verification code is received	2025-05-24 22:22:21.502586+00	2025-05-24 22:22:21.502586+00
d3d9d084-1f3b-4a78-9dc6-69ec825d2163	main_menu_welcome_back	مرحباً بك مجددا.{name}يمكنك استخدام الخدمات التالية:	Welcome back {name} You can use the following services:	Welcome message for logged-in users	2025-05-24 22:22:21.502586+00	2025-06-15 11:38:31.889837+00
97d7eb34-2725-4cae-a899-1c9c8b007189	verification_timeout	**⏱️ لم نتمكن من استلام رمز التحقق.**\nانتهى الوقت المحدد لاستلام الرمز.\nقد يكون هناك تأخير من الخدمة.\nأو قد يكون الرمز لم يُرسل بعد.\nلذلك، لم يتم خصم أي مبلغ من رصيدك.\nيمكنك محاولة طلب الرمز مرة أخرى.\nبرقم مختلف.	⏱️**We couldn't receive the verification code**\nThe time limit for receiving the code has expired.  \nThere might be a delay from the service.  \nOr the code may not have been sent yet.  \nTherefore, no amount has been deducted from your balance.  \nYou can try requesting the code again.  \nWith a different number.\n	Message when verification times out	2025-05-24 22:22:21.502586+00	2025-06-15 00:02:23.947769+00
a6b2a993-4e43-4490-873b-af5fc72d1f42	login_success	<b>✅ تم تسجيل الدخول بنجاح مرحباً بك <strong>${firstName}</strong>البريد الإلكتروني: <strong>${email}</strong>\\nالرصيد: <strong>${balance}</strong> $</b>`\n\n\n\n	<b>✅ Logged in successfully!\nWelcome, <strong>{firstName}</strong>!\n\nEmail: <strong>{email}</strong>\nBalance: <strong>{balance}</strong> $</b>	Successful login message	2025-05-24 22:18:27.375794+00	2025-06-18 03:07:52.236753+00
23baa4a3-26a1-4541-b0f9-e41f7ca7714b	start_welcome_new	مرحباً بك {name} 💜 في بوت EMPEROR، أفضل وأقوى بوت على التليجرام لتوفير خدمات الأرقام الافتراضية بسهولة وسرعة لا مثيل لها!\n🧞‍♂️ يدعم البوت أكثر من 1429 تطبيق وموقع تواصل اجتماعي، بالإضافة إلى متاجر وأسواق إلكترونية ومنصات متنوعة، مثل التليجرام، الواتساب، تويتر، إنستجرام، فيسبوك، وأيضاً خدمات شهيرة أخرى لتلبية جميع احتياجاتك الرقمية.\n\nسواء كنت تريد التحقق من حساباتك، حماية خصوصيتك، أو التسجيل في أي منصة بدون رقمك الشخصي، EMPEROR يوفر لك الحل الأمثل بأعلى جودة وأسرع خدمة.\n\nفقط اضغط على زر  ✅تسجيل الدخول✅ وابدأ رحلتك الآن مع أفضل وأشمل خدمة أرقام افتراضية متاحة على الإطلاق	Welcome {name} 💜 to EMPEROR Bot, the best and most powerful bot on Telegram for providing virtual number services with unmatched ease and speed!\n🧞‍♂️ This bot supports over 1,429 apps and social media platforms, as well as online stores, marketplaces, and various platforms, including Telegram, WhatsApp, Twitter, Instagram, Facebook, and many other popular services to meet all your digital needs.\n\nWhether you want to verify your accounts, protect your privacy, or register on any platform without using your personal number, EMPEROR provides you with the perfect solution with the highest quality and fastest service.\n\nJust click the  ✅Login✅  button and start your journey now with the best and most comprehensive virtual number service available!	Welcome message for new users	2025-05-24 22:05:47.909696+00	2025-06-15 00:19:04.590778+00
255ef21c-0fc2-4c40-9f83-808577cf103c	about	🌐 <b>معلومات عن البوت</b>\n\n🤖 <b>اسم البوت:</b> بوت الأرقام الافتراضية الذهبي\n🛠️ <b>الإصدار:</b> 2.5.0\n📅 <b>تاريخ التأسيس:</b> 2023\n\n🌟 <b>مميزات البوت:</b>\n✔️ دعم 1429 خدمة مختلفة\n✔️ أكثر من 150 دولة متاحة\n✔️ واجهة سهلة الاستخدام\n✔️ دعم فني على مدار الساعة\n\n💡 <b>فكرة البوت:</b>\nتم تطوير هذا البوت لتسهيل الحصول على أرقام افتراضية لاستخدامها في تفعيل الحسابات والتحقق\n\n⚡ جميع الحقوق محفوظة © 2025	🌐 <b>About the Bot</b>\n\n🤖 <b>Bot Name:</b> Golden Virtual Numbers Bot\n🛠️ <b>Version:</b> 2.5.0\n📅 <b>Established:</b> 2023\n\n🌟 <b>Features:</b>\n✔️ Supports 1429 different services\n✔️ More than 150 countries available\n✔️ User-friendly interface\n✔️ 24/7 technical support\n\n💡 <b>Bot Concept:</b>\nThis bot was developed to facilitate obtaining virtual numbers for account activation and verification\n\n⚡ All rights reserved © 2025	About bot information	2025-05-24 19:57:56.565418+00	2025-06-15 00:36:17.668928+00
8d2aadf8-84ca-4bc6-9dac-2720675ffcda	contact	📞 <b>قنوات التواصل</b>\n\n💬 للاستفسارات والشكاوى يرجى التواصل عبر:\n\n🔹 <b>الدعم الفني:</b> emperorbot01@gmail.com\n🔹 <b>البريد الإلكتروني:</b> support@virtualnumbers.com\n🔹 <b>قناة التليجرام:</b> @VirtualNumbersChannel\n\n⏰ <b>أوقات العمل:</b>\nيومياً من 8 صباحاً حتى 12 منتصف الليل (بتوقيت مكة المكرمة)\n\n📌 <b>ملاحظة:</b>\nمتوسط وقت الرد: 15-30 دقيقة خلال أوقات العمل	📞 <b>Contact Channels</b>\n\n💬 For inquiries and complaints, please contact via:\n\n🔹 <b>Technical Support:</b> emperorbot01@gmail.com\n🔹 <b>Email:</b> support@virtualnumbers.com\n🔹 <b>Telegram Channel:</b> @VirtualNumbersChannel\n\n⏰ <b>Working Hours:</b>\nDaily from 8 AM to 12 AM (Mecca time)\n\n📌 <b>Note:</b>\nAverage response time: 15-30 minutes during working hours	Contact information message	2025-05-24 19:57:56.565418+00	2025-06-08 16:33:47.89838+00
21c5fb86-ee1e-4ef7-b806-21c69cf1e5e9	purchase_success	🎉 *تمت العملية بنجاح!*\n\n✅ تم شراء الرقم بنجاح\n\n📝 تفاصيل الطلب\n📱 الرقم: {phone}\n🌍 الدولة: {countryId}\n🔌 المشغل: {operator}\n💲 التكلفة: {cost}$\n⏳ مدة الصلاحية: {expires} دقيقة\n\n📨 سيتم إرسال رمز التحقق تلقائياً عند استلامه.\n⌛ الرجاء الانتظار...	🎉 *Operation Successful!*\n\n✅ Number purchased successfully\n\n📝 Order Details:\n📱 Number: {phone}\n🌍 Country: {countryId}\n🔌 Operator: {operator}\n💲 Cost: {cost}$\n⏳ Validity: {expires} minutes\n\n📨 The verification code will be sent automatically when received.\n⌛ Please wait...	Message shown when purchase is successful	2025-05-24 19:57:56.565418+00	2025-06-15 00:43:53.70691+00
cedd2f34-558b-414a-b4b2-abfd35c68556	help	📚 <b>مركز المساعدة</b>\n\n✨ مرحباً بك في بوت الأرقام الافتراضية!\n\n🔹 <b>كيفية استخدام البوت:</b>\n1. اختر الخدمة المطلوبة (تلجرام، واتساب، إلخ)\n2. حدد الدولة المناسبة\n3. اختر المشغل السعر المناسب واشتري الرقم\n4. استلم رمز التحقق تلقائياً\n\n❓ <b>أسئلة شائعة:</b>\n▫️ مدة صلاحية الرقم: 20 دقيقة\n▫️ يمكنك طلب رمز التحقق مرة واحدة\n▫️ الأسعار تختلف حسب الدولة والخدمة\n\n🔍 لمزيد من المساعدة، [تواصل مع الدعم](@EMPEROR1003)\n	📚 <b>Help Center</b>\n\n✨ Welcome to the Virtual Numbers Bot!\n\n🔹 <b>How to use the bot:</b>\n1. Choose the required service (Telegram, WhatsApp, etc.)\n2. Select the appropriate country\n3. Choose the operator and buy the number\n4. Receive the verification code automatically\n\n❓ <b>Frequently Asked Questions:</b>\n▫️ Number validity: 20 minutes\n▫️ You can request the verification code once\n▫️ Prices vary by country and service\n\n🔍 For more help, contact technical support	Help center message	2025-05-24 19:57:56.565418+00	2025-06-15 22:54:47.6495+00
\.


--
-- Data for Name: bots; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.bots (id, name, user_id, bot_token, is_active, created_at, updated_at, currency, profit_type, profit_value_percentage, profit_value_fix, last_activity, version, settings, state, suffix_email, fivesim_api_key, paypal_client_id, paypal_client_secret, crypto_wallet_address, admin_contact, join_group_required, group_channel_username) FROM stdin;
049a92c4-7654-43f6-8e6f-7ff5cce78995	EMPERORwewj	7958f41d-6be5-43f9-a449-19861464b4db	8021570032:AAFWvFzD9LbPJgrpQ3i5L3vrEwHkjw0Rf4k	t	2025-02-27 21:46:14.967+00	2025-06-18 08:26:19.026081+00	USD	percentage	20.00	0.00	2025-06-18 08:26:18.954+00	1.0.0	{}	{"status": "running", "startedAt": "2025-06-18T08:03:21.631Z"}	bot.com	\N			\N	\N	t	ali
382a0ebd-8af4-4721-8ad3-30e2416c0e8d	emperor	adc9feec-993d-41b9-9629-b1beccda90d8	7470142274:AAEyPBRxD8VLHf4sDJgKOjUz5KxuhEgsyxQ	t	2025-06-08 17:05:38.561+00	2025-06-18 21:27:46.45394+00	USD	percentage	20.00	0.00	2025-06-18 21:27:46.174+00	2.5.0	{}	{"status": "running", "startedAt": "2025-06-18T03:05:57.272Z"}	emperor.com				MOUSA		f	\N
46e386ea-5691-4403-9d4e-cf3c3ff74d3e	Replix 	c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	7986796462:AAHadBVje5bgvUjIS0s4GfmhqLR-uIRC6a8	t	2025-06-08 20:00:05.537+00	2025-06-11 15:37:22.220487+00	USD	percentage	100.00	0.00	2025-06-11 15:37:21.99+00	1.0.0	{}	{"status": "running", "startedAt": "2025-06-11T15:13:40.895Z"}	reblix.com					@mfoud1	f	\N
\.


--
-- Data for Name: country_api_virtual_number; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.country_api_virtual_number (id, name, key, flag, [REDACTED] is_active, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: file_version; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.file_version (id, file_id, version_number, path, size, created_at) FROM stdin;
\.


--
-- Data for Name: keyword; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.keyword (id, text, user_id, is_active, created_at, updated_at) FROM stdin;
720d4cfb-67ec-428c-a991-d932234095a9	أبغا بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-25 21:50:22.286276+00	2025-02-27 22:08:14.077856+00
49c86612-d792-4cb9-8fb8-3dacd15d602b	أبغى بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:24:49.362024+00	2025-02-27 22:08:14.077856+00
45aa596c-0f37-4593-b948-51df08c9222b	أبغى خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:01:19.021428+00	2025-02-27 22:08:14.077856+00
4e71032c-3078-49cf-a3ff-bd8ba934ca2d	أبغى عرض بوربوينت	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:38:26.595751+00	2025-02-27 22:08:14.077856+00
d6cb47db-a086-4db4-a840-77d2214c24a0	أبي احد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-19 18:52:36.583899+00	2025-02-27 22:08:14.077856+00
1631fb4f-0ad6-4fac-9401-84a56a9bd8e7	أبي شخص يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 05:35:16.48903+00	2025-02-27 22:08:14.077856+00
e0570726-b020-4052-8991-922ed2206340	أبي واحد يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-07 21:54:27.916399+00	2025-02-27 22:08:14.077856+00
eed920a1-429c-4949-aa86-1356c782bfbb	أحتاج مساعدة	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:38:26.76669+00	2025-02-27 22:08:14.077856+00
41db209c-2ee4-4e36-b880-7ad666ba48c0	أحد يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:36:28.321978+00	2025-02-27 22:08:14.077856+00
8ae5c7ab-a0fa-4629-b4af-f2e3e43d073b	أحد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-09 19:47:45.697499+00	2025-02-27 22:08:14.077856+00
b3c41efc-acaa-4700-b948-ddfb1048f718	أحد يشرح	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-30 22:53:55.653474+00	2025-02-27 22:08:14.077856+00
2f6b0293-dae6-4d11-9fbf-d16cd6d91076	أحد يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-16 21:19:04.972942+00	2025-02-27 22:08:14.077856+00
1ede9779-133d-406c-ac36-4f03843026d3	أحد يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:55:20.993002+00	2025-02-27 22:08:14.077856+00
5e029363-508b-469a-8105-6eba45a53723	أريد بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 16:12:51.885637+00	2025-02-27 22:08:14.077856+00
0bb7171d-e54a-43d5-9083-ea869b6a6a50	ابغا احد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 20:49:01.915028+00	2025-02-27 22:08:14.077856+00
30461e59-3b74-4869-b151-1fe460983641	ابغا بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-25 21:50:11.61895+00	2025-02-27 22:08:14.077856+00
98516318-2a14-46e5-b934-7246a0aa2a4b	ابغا حد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-10 19:18:10.50843+00	2025-02-27 22:08:14.077856+00
a60a8874-22aa-4cb0-967c-72104739450f	ابغا حد يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-28 17:55:47.021999+00	2025-02-27 22:08:14.077856+00
0f04a745-3de7-4511-be1c-54c7eacdec53	ابغا خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 19:51:54.912976+00	2025-02-27 22:08:14.077856+00
8b72d5c4-9512-48cd-a99b-68b8a3ff827c	ابغا مساعدة 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-02 19:11:26.29957+00	2025-02-27 22:08:14.077856+00
213548b2-30a9-4895-9d86-034d5736c92d	ابغى احد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-19 18:52:47.664067+00	2025-02-27 22:08:14.077856+00
5f0d4cc0-0d96-430b-b50b-b15bdf2aa903	ابغى احد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-18 02:15:15.554289+00	2025-02-27 22:08:14.077856+00
6c601ac5-07f9-4d5d-8052-ef8a540f981d	ابغى بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:24:25.207945+00	2025-02-27 22:08:14.077856+00
e884cc5a-9702-4ebf-9145-ddaf72d6ce2f	ابغى تقرير	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-11-27 15:18:16.960972+00	2025-02-27 22:08:14.077856+00
c5dca7d2-2c63-41fa-9958-c003f8074acd	ابغى حدا	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:00:51.621861+00	2025-02-27 22:08:14.077856+00
ef386515-3664-4d8f-8266-883c1da2d0df	ابغى خصوصى	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:01:31.801722+00	2025-02-27 22:08:14.077856+00
875753ee-7731-4037-b9fc-32189f4173a2	ابغى خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:01:10.149881+00	2025-02-27 22:08:14.077856+00
eceefda4-1112-4071-935f-3cd0c2b6c525	ابغى دكتور	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:00:23.556575+00	2025-02-27 22:08:14.077856+00
fc31e286-5830-49f4-a901-b9f3130e923c	ابغى شخص	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:00:44.228041+00	2025-02-27 22:08:14.077856+00
b596fd69-74b1-49f1-8cee-b81b13db4583	ابغى متخصص	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:00:35.156089+00	2025-02-27 22:08:14.077856+00
b0d751b5-3092-4d6c-9c87-449531f60d41	ابغى مدرس	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:00:15.663555+00	2025-02-27 22:08:14.077856+00
7bc769a9-d910-4252-ab37-15a1955e51d6	ابغى مساعده	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-02 19:10:38.118462+00	2025-02-27 22:08:14.077856+00
28d217f4-8401-4fce-990d-a2ccf75ea6fd	ابى خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-23 06:16:31.348087+00	2025-02-27 22:08:14.077856+00
72afe6c1-f2a0-4d2c-8367-0940997629a3	ابى شخص يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 05:34:47.930002+00	2025-02-27 22:08:14.077856+00
eceb4ce7-9dd6-45aa-bdc8-95cc9ced8ae1	ابي أحد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 05:43:33.870883+00	2025-02-27 22:08:14.077856+00
b4610f3f-dc07-4fe6-bcd2-573c615277ea	ابي احد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-17 15:28:18.263891+00	2025-02-27 22:08:14.077856+00
d9ff09f5-38a6-4bb9-a9ee-079a113a1a88	ابي احد يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-30 23:15:20.202843+00	2025-02-27 22:08:14.077856+00
3730177a-3ea6-4792-ac93-eb68cc9fc455	ابي احد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 05:43:18.626788+00	2025-02-27 22:08:14.077856+00
087929e2-117a-4510-a6cf-c277ab18f00c	ابي حد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 19:46:33.67384+00	2025-02-27 22:08:14.077856+00
6ab7826a-4a57-4aa3-a0fa-bdf0d1a62be0	ابي خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 22:57:24.105493+00	2025-02-27 22:08:14.077856+00
9717cf7e-4960-4243-be24-5fa797be3c6e	ابي خصوصيّ	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-18 13:46:01.50545+00	2025-02-27 22:08:14.077856+00
f203ebee-8fcf-4266-9188-360305959b4e	ابي شخص يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 05:34:22.13371+00	2025-02-27 22:08:14.077856+00
e6dbf20b-3f92-44d6-9db5-4cf4ccb3ba27	ابي مدرسين	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-23 06:15:50.07492+00	2025-02-27 22:08:14.077856+00
a251133c-3f31-4268-a59a-3f509043fc45	ابي واحد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:03:03.380326+00	2025-02-27 22:08:14.077856+00
f545447f-f296-43bc-8e9e-9f8adfaba822	ابي وحدة	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-09 20:41:48.984954+00	2025-02-27 22:08:14.077856+00
9158ca8c-df07-4395-ac4f-cc414ad16521	احتاج احد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:14:33.534826+00	2025-02-27 22:08:14.077856+00
57fe5f6f-be52-4a89-884b-46d495c04fd2	احتاج احد 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-11-27 16:53:28.451369+00	2025-02-27 22:08:14.077856+00
187b8420-671d-4b73-986f-a39e79b81c4a	احتاج حدا	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:14:43.633932+00	2025-02-27 22:08:14.077856+00
92c4217f-56cb-4622-aedd-27448ff3f709	احتاج خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-09 20:18:38.357965+00	2025-02-27 22:08:14.077856+00
46071657-e2f9-4499-b4de-43381711a254	احتاج واحد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:14:20.043024+00	2025-02-27 22:08:14.077856+00
0f78cf93-b754-481b-8068-73a3e78cad0a	احد يجي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:37:14.617149+00	2025-02-27 22:08:14.077856+00
8d182eb1-fe01-40a3-b4d5-a00d3f5bac0a	احد يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:36:19.403482+00	2025-02-27 22:08:14.077856+00
f470a05e-a67d-4966-997d-d89454aec73c	احد يساعدني	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-15 19:16:45.645837+00	2025-02-27 22:08:14.077856+00
7701ca7c-b8fa-45ce-a576-e77c51b23389	احد يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 19:46:10.66136+00	2025-02-27 22:08:14.077856+00
de915222-2c7b-4346-83c6-0b3b3ec13aeb	احد يشرح	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-30 22:54:05.838059+00	2025-02-27 22:08:14.077856+00
edc13593-d362-4bcc-9b58-95ff93c981dd	احد يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-16 21:19:22.096066+00	2025-02-27 22:08:14.077856+00
4be82b58-c196-4eaf-b084-8d53ea723421	احد يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:55:26.538815+00	2025-02-27 22:08:14.077856+00
d925db77-e8ed-4b31-9eef-060c5a35f22e	احد يقدر	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:21:36.711441+00	2025-02-27 22:08:14.077856+00
ff814844-4723-4138-895d-3a1a76bc0048	احد ييحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:36:52.644273+00	2025-02-27 22:08:14.077856+00
d98f64f6-ab88-4b63-966f-992ba2a8a73e	اريد بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 16:21:37.245058+00	2025-02-27 22:08:14.077856+00
cc331474-e2bc-48e8-948f-2a323c3cac09	اللى يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-31 23:29:46.881791+00	2025-02-27 22:08:14.077856+00
72717838-e595-4c02-a6b1-ca403b544d04	اللي عنده دكتور	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 22:32:27.652369+00	2025-02-27 22:08:14.077856+00
5331b245-3a46-43c7-843d-077fdd697f7c	اللي فاهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-31 23:28:08.508298+00	2025-02-27 22:08:14.077856+00
8c8cadb2-9594-4480-898e-b9a56f286b46	اللي يشرح	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-31 23:29:29.455991+00	2025-02-27 22:08:14.077856+00
ccdf6c3f-471e-499c-ba65-71fc3a3e8abb	اللي يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-31 23:29:19.010684+00	2025-02-27 22:08:14.077856+00
a4e7991a-64c9-4d56-a5d3-200d2a8ee839	اللي يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:12:49.95358+00	2025-02-27 22:08:14.077856+00
245fe8e3-f2dd-41c6-aa0a-4a1153523b3e	اللي يفهمون	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:13:01.41957+00	2025-02-27 22:08:14.077856+00
dce14b26-8361-45da-9749-153aa7360a48	الي فاهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-28 21:01:40.988953+00	2025-02-27 22:08:14.077856+00
058d09b0-f98d-42ad-bab2-969e88344ccf	الي يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 18:43:55.430603+00	2025-02-27 22:08:14.077856+00
05f0aeb6-0e6e-427b-a8d1-537b6d09890c	الي يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:39:20.700052+00	2025-02-27 22:08:14.077856+00
3bffcd2f-9813-4ae8-a956-92b2a2564de3	برزنتيشن 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-19 22:17:23.855054+00	2025-02-27 22:08:14.077856+00
f7c68e8e-0f9b-4a25-9ce6-c49480688ea3	بغيت	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-17 14:12:08.403923+00	2025-02-27 22:08:14.077856+00
8b95bfe1-c3d1-423b-867c-afacb689b1dd	بغيت حدا يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:25:32.268776+00	2025-02-27 22:08:14.077856+00
e456fed4-0c5b-439b-8a9b-8ec24a186dde	بغيت خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-17 14:11:34.444823+00	2025-02-27 22:08:14.077856+00
e2f5ef73-c40e-42b5-bcdd-7d39034b9aac	تصميم موقع 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-20 14:41:55.91176+00	2025-02-27 22:08:14.077856+00
38d25b57-cd9d-411e-a82c-e94738a89f7a	اختبار 	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-07-01 00:07:26.645923+00	2025-03-14 19:27:34.057766+00
e20591e4-fb8a-4e77-b12d-d71e7fa572a8	ابحاث	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-09-19 22:16:41.638629+00	2025-03-21 19:46:32.700194+00
21f0e71c-681d-4c75-88a5-9ab7bf9282bf	ابغا دكتور	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-15 18:50:29.91427+00	2025-03-18 20:23:08.970882+00
bc4e2f3e-7d50-4ed1-aa18-baa502c96617	بوربوينت 	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-09-19 22:17:31.445638+00	2025-03-21 19:47:36.488216+00
c2a11a40-df3c-44d6-9d85-75e982b4a350	assignment	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-03-17 03:27:15.995515+00	2025-03-21 19:48:29.004572+00
19951dde-67bb-421f-be54-6b30b9a45628	تعرفون احد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:36:49.372645+00	2025-02-27 22:08:14.077856+00
4fdfcf18-6163-40f0-8d84-d9d4f000c605	تعرفون حدا	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:37:03.893122+00	2025-02-27 22:08:14.077856+00
39318d68-3580-4e6f-8d2b-b00eb540ce3a	تعرفون خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 19:41:09.02369+00	2025-02-27 22:08:14.077856+00
f848910b-7214-441f-b156-f61d7c816f5f	حد فاهم 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:28:43.09495+00	2025-02-27 22:08:14.077856+00
13f142b8-e25d-4293-bb94-aa1880edbab7	حد يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-27 19:21:06.606054+00	2025-02-27 22:08:14.077856+00
df10c25d-a1a6-4686-af84-4a654aff8ac7	حد يعرف 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:34:54.571411+00	2025-02-27 22:08:14.077856+00
6124dec9-8097-4a43-b245-ba70d605a005	خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-19 22:16:47.524581+00	2025-02-27 22:08:14.077856+00
25064629-5d57-4703-a716-026c29eeaca5	عندى بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:00:31.886505+00	2025-02-27 22:08:14.077856+00
d1eef762-576b-4163-b80e-67e5c16c2a5c	عندى مشروع	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 23:00:01.320683+00	2025-02-27 22:08:14.077856+00
11c0b96e-1475-49ea-ab5b-aad49a009efe	عندى واجب	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-27 20:14:33.272597+00	2025-02-27 22:08:14.077856+00
48246a24-7c7d-4a43-9001-801ba9a15fdb	عندى واجب 	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 22:59:53.216674+00	2025-02-27 22:08:14.077856+00
02ff4a04-d1da-4630-af2f-1c92f2bd63a2	عندي بحث	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 22:59:43.159407+00	2025-02-27 22:08:14.077856+00
ab382a35-9226-4ed2-acab-03d064061ff8	عندي تكليف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-24 20:31:08.759161+00	2025-02-27 22:08:14.077856+00
03853345-cf4f-4731-981a-0977e6abd930	عندي مشروع	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 22:59:35.448108+00	2025-02-27 22:08:14.077856+00
0a79f30a-2f53-4c17-a176-019ac231bcff	عندي مشروع تخرج	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-27 20:14:56.774415+00	2025-02-27 22:08:14.077856+00
d9f2fe52-8aa9-4034-b5c6-e6afd79ba64a	عندي واجب	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-17 22:59:26.650502+00	2025-02-27 22:08:14.077856+00
5336dcea-a525-4ef6-9689-eba61501ddc9	فاهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-17 03:26:44.64165+00	2025-02-27 22:08:14.077856+00
d708257c-22c9-4b36-babb-2827a039f718	في أحد يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:31:30.862764+00	2025-02-27 22:08:14.077856+00
58b26bce-c60f-40d4-b553-4391fb5f5c93	في احد يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-15 16:31:43.23119+00	2025-02-27 22:08:14.077856+00
defcdaa6-e470-4192-a94e-e48c5382874d	في حدا يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:25:01.326857+00	2025-02-27 22:08:14.077856+00
9887dc30-9c41-405b-9451-0e5e436a5f5c	في حد يسوي مشروع	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-02-14 21:28:29.141854+00	2025-02-27 22:08:14.077856+00
cde17e7d-8ffc-4384-ada1-af047f2add25	في خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-13 21:19:49.048029+00	2025-02-27 22:08:14.077856+00
a94c59e0-85ac-468f-8b83-1004f46cf742	مجربينه	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:15:04.841561+00	2025-02-27 22:08:14.077856+00
f841d3da-5fa6-4e5a-98cf-1e04eed234c5	محتاج مساعدة	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-15 18:14:55.970509+00	2025-02-27 22:08:14.077856+00
f213b8ac-3ecd-43c8-802f-6f365578b199	مشروع تخرج	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-27 20:15:05.051716+00	2025-02-27 22:08:14.077856+00
4c58ea52-1d0f-45a3-b165-ebf4df11eac1	معي واجب	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-15 23:21:56.427163+00	2025-02-27 22:08:14.077856+00
1fec4a85-b3f6-4a17-b1cd-b683af7109e1	من يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-25 03:36:16.132336+00	2025-02-27 22:08:14.077856+00
0efee821-5847-4e42-9ae6-657c82fd7167	من يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:39:35.479632+00	2025-02-27 22:08:14.077856+00
c027b2e6-f64c-42c1-86e4-c21b81bd5a69	مين شاطر	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:34:34.101153+00	2025-02-27 22:08:14.077856+00
f48c7ee2-fafe-4088-ba3b-1a95a27b7c98	مين عنده خصوصي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-03 18:17:42.912683+00	2025-02-27 22:08:14.077856+00
8c356b8e-289d-467c-bdfa-289096507ae7	مين فاهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-18 13:42:34.858252+00	2025-02-27 22:08:14.077856+00
cfb7def8-389c-4df7-bd22-4b4143f504f3	مين يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-20 21:04:53.75235+00	2025-02-27 22:08:14.077856+00
1f16026e-3361-4b99-9431-b1df3b7b474e	مين يساعد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:38:16.981903+00	2025-02-27 22:08:14.077856+00
e5970daf-9a04-4f44-a629-eda235231a0d	مين يساعدني	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-06 18:38:06.792539+00	2025-02-27 22:08:14.077856+00
6c3a1545-f084-4478-b044-ad7282adbb42	مين يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-14 19:48:03.742435+00	2025-02-27 22:08:14.077856+00
45a9bef7-4e8d-4a2e-a34d-7c53de8a4604	مين يعرف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-27 20:17:59.954264+00	2025-02-27 22:08:14.077856+00
8449059a-d35a-48b0-82db-4f4b8ac4e934	مين يفهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-18 13:42:56.476643+00	2025-02-27 22:08:14.077856+00
665098a4-88ca-44bd-94eb-f2b8787b43da	مين يقدر يساعدني	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-30 20:06:14.318222+00	2025-02-27 22:08:14.077856+00
b6bc14f7-1a12-42d8-9c00-fbf12ac8182d	ميين يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-20 21:05:11.757819+00	2025-02-27 22:08:14.077856+00
3a8c80f6-11f1-4402-8f06-1890e427d776	يحل	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-19 22:17:04.453867+00	2025-02-27 22:08:14.077856+00
046e95e0-a4f7-46d7-92d8-4e301b39e7ed	يشرح	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-19 22:16:58.749226+00	2025-02-27 22:08:14.077856+00
b733e2fe-8ef1-477c-874e-e5859ac9a877	يصمم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-09-19 22:18:31.712993+00	2025-02-27 22:08:14.077856+00
26bc1587-ea0f-4aa1-8e7e-84854afdccd2	يعرف يسوي	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-04-04 21:51:53.669737+00	2025-02-27 22:08:14.077856+00
f8e181be-5a46-4957-8cc7-46ec2d08dced	يكون ثقة	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-05 18:00:20.450152+00	2025-02-27 22:08:14.077856+00
a09a1439-d773-4555-aa86-5db6386c77f0	يكون فاهم	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-05-16 18:14:54.387549+00	2025-02-27 22:08:14.077856+00
0088532b-7624-42c3-8423-3be236b9fea3	عندى تكليف	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2024-03-27 20:18:32.017431+00	2025-03-02 22:03:27.336776+00
af028a08-669a-4b6e-97c1-0dd1332b9c04	شرح	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2025-03-14 19:27:43.023+00	2025-03-14 19:27:43.023+00
219826ed-bbee-4de6-b338-664e253144b6	رسم 	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-09-19 22:18:43.115856+00	2025-03-21 19:47:30.721121+00
7788c7a8-7bdf-49e3-bc12-5d96287adca2	مشروع	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-09-19 22:17:40.668008+00	2025-03-21 19:48:24.319139+00
8140de2a-bafa-442b-8a18-6145f560f38e	هندسي	7ae51109-17d1-4c42-aa60-b222a36fc76a	f	2024-09-19 22:18:50.729939+00	2025-03-21 19:48:39.759898+00
2fe0da20-96cc-4b9d-81e0-968170ac04ee	ابغى حد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2025-03-23 21:20:26.502+00	2025-03-23 21:20:26.503+00
dfc58020-11ad-477a-9082-fdaf323f1d53	ابغى واحد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2025-03-23 21:20:40.644+00	2025-03-23 21:20:40.644+00
38c2de1c-76be-4bc5-8693-249dd0fa5e94	ابغى أحد	7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2025-03-23 21:20:56.707+00	2025-03-23 21:20:56.707+00
\.


--
-- Data for Name: list_url_receiver; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.list_url_receiver (id, personal_accounts_telegram_id, url, is_active, type, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: payments; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.payments (id, user_id, amount, payment_method, status, payment_id, wallet_address, admin_notes, created_at, updated_at, completed_at, metadata) FROM stdin;
7d1cb537-0fc4-4f8d-8066-35411455871c	3	5.00	CRYPTO	PENDING	\N	\N	\N	2025-05-23 22:53:15.311176+00	2025-05-23 22:53:15.311176+00	\N	\N
779521e1-0bdb-4984-bf76-1918206e4289	3	5.00	CRYPTO	PENDING	\N	\N	\N	2025-05-23 22:59:29.691123+00	2025-05-23 22:59:29.691123+00	\N	\N
3c4e8c69-b2a9-480f-8f7e-b229d2b546af	3	5.00	PAYPAL	PENDING	\N	\N	\N	2025-05-23 23:15:14.413823+00	2025-05-23 23:15:14.413823+00	\N	\N
ce953081-45a6-4b8f-a388-55d8bc5189d9	3	5.00	CRYPTO	PENDING	\N	\N	\N	2025-05-23 23:15:19.672351+00	2025-05-23 23:15:19.672351+00	\N	\N
0a380952-7a4f-4fac-bb04-665cc0e50b26	3	98.00	PAYPAL	PENDING	\N	\N	\N	2025-05-24 21:31:45.3373+00	2025-05-24 21:31:45.3373+00	\N	\N
48b6791f-a7b3-4bd0-a610-04d8eeb9cbd9	3	5.00	CRYPTO	PENDING	\N	\N	\N	2025-05-25 20:27:03.153607+00	2025-05-25 20:27:03.153607+00	\N	\N
a70891b9-08f2-4cc4-b4b0-e1831f54cfe5	3	5.00	PAYPAL	PENDING	0JK52763CM368850P	\N	\N	2025-05-25 21:44:45.220624+00	2025-05-25 21:44:46.483223+00	\N	\N
7fc97cb2-6937-42ad-9ba3-8fcf04b5b3db	3	10.00	PAYPAL	PENDING	7SE27990436433627	\N	\N	2025-05-25 21:50:18.189942+00	2025-05-25 21:50:26.581645+00	\N	\N
499815b2-c72e-4a3c-868f-7e8f11c21b15	3	5.00	PAYPAL	PENDING	04U25528N8411680L	\N	\N	2025-05-25 21:52:25.175377+00	2025-05-25 21:52:28.250278+00	\N	\N
85724085-bf65-42e9-a160-15792bd79d69	7	100.00	PAYPAL	PENDING	9T420777GN4861802	\N	\N	2025-06-04 04:15:47.652491+00	2025-06-04 04:15:48.751464+00	\N	\N
a92d4f51-589a-4fa2-8a79-8d96833d7a0a	6	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-05 00:33:48.579637+00	2025-06-05 00:33:48.579637+00	\N	\N
027acc9d-5b88-4231-a191-a8dac4ddc1be	8	100.00	PAYPAL	PENDING	55X91564LA288094Y	\N	\N	2025-06-06 05:06:28.363994+00	2025-06-06 05:06:29.644366+00	\N	\N
796111df-b05a-4f72-ab53-e257d82c0ea5	8	100.00	PAYPAL	PENDING	6C805713H27115330	\N	\N	2025-06-06 16:12:24.784999+00	2025-06-06 16:12:26.172951+00	\N	\N
0114b8fb-2337-4f82-b3c9-67679be74d65	8	100.00	PAYPAL	PENDING	63A18301V5340923G	\N	\N	2025-06-06 19:35:54.72084+00	2025-06-06 19:35:55.91506+00	\N	\N
3e109d68-051c-4ed4-80a6-cc7692078648	3	5.00	PAYPAL	PENDING	62A81679X60246412	\N	\N	2025-06-06 19:59:00.987965+00	2025-06-06 19:59:02.142638+00	\N	\N
4fc55cb3-bfe7-4022-8209-f6df523ab74a	7	1999.00	CRYPTO	PENDING	\N	\N	\N	2025-06-07 03:19:59.069641+00	2025-06-07 03:19:59.069641+00	\N	\N
93fa3075-c7e6-44c3-a220-27703b821eaa	6	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-07 06:05:53.556992+00	2025-06-07 06:05:53.556992+00	\N	\N
7a52977a-811c-4769-afd1-a23eed5a1026	15	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-07 06:20:21.240783+00	2025-06-07 06:20:21.240783+00	\N	\N
6056e420-0234-4f30-abfa-10534a201fac	14	10.00	CRYPTO	PENDING	\N	\N	\N	2025-06-07 06:20:56.685872+00	2025-06-07 06:20:56.685872+00	\N	\N
e302ea42-4215-4e11-81f5-e16e59e7a5be	8	20.00	CRYPTO	PENDING	\N	\N	\N	2025-06-07 18:31:53.408334+00	2025-06-07 18:31:53.408334+00	\N	\N
5c33fea3-8c90-423d-bd81-5e5f73da92ba	17	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-08 18:55:06.400457+00	2025-06-08 18:55:06.400457+00	\N	\N
905de54d-2627-423c-88ab-a5b8c1b44744	17	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-11 01:09:05.446635+00	2025-06-11 01:09:05.446635+00	\N	\N
dfaf7735-4268-4334-bd75-2631f203cb52	21	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-13 05:05:55.147151+00	2025-06-13 05:05:55.147151+00	\N	\N
44df3b90-dfdd-406e-bb90-bb57683b6ee7	21	20.00	CRYPTO	PENDING	\N	\N	\N	2025-06-13 05:08:12.720246+00	2025-06-13 05:08:12.720246+00	\N	\N
f0714750-1cc9-4121-8876-5eacb79c5ce9	17	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-14 15:12:49.936372+00	2025-06-14 15:12:49.936372+00	\N	\N
a97b4803-5860-4552-9ddd-245cf623db5d	17	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-14 18:00:21.287204+00	2025-06-14 18:00:21.287204+00	\N	\N
82086c50-bd79-454f-adee-36ef94f3030a	21	100.00	CRYPTO	PENDING	\N	\N	\N	2025-06-16 03:34:01.225799+00	2025-06-16 03:34:01.225799+00	\N	\N
\.


--
-- Data for Name: personal_accounts_telegram; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.personal_accounts_telegram (id, user_id, api_key, hash, session, session_file, phone_number, state, login_time, is_active, created_at, updated_at, name) FROM stdin;
\.


--
-- Data for Name: phone_numbers; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.phone_numbers (id, user_id, country_code, service, number, price, status, fivesim_id, created_at, updated_at, expires_at) FROM stdin;
\.


--
-- Data for Name: purchases; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.purchases (id, user_id, telegram_id, service, country_id, operator, phone_number, order_id, cost, state, verification_code, verification_message, created_at, updated_at) FROM stdin;
1	3	6246129018	imo	canada	virtual8	+13542224967	791743438	1.50	timeout	\N	\N	2025-05-21 23:20:08.577948+00	2025-05-21 23:35:08.95727+00
2	3	6246129018	imo	canada	virtual40	+14504254545	791745218	2.00	timeout	\N	\N	2025-05-21 23:24:39.665332+00	2025-05-21 23:39:39.966412+00
3	3	6246129018	imo	canada	virtual40	+18257452702	791754403	2.00	success	7729 (<#> Your imo verification code is 7729. DO NOT share with anyone else to prevent account being compromised. LGIS0nvV16S)	📲 *تم استلام رمز التحقق!*\n\n📱 الرقم: +18257452702\n🔐 الرمز: 7729 (<#> Your imo verification code is 7729. DO NOT share with anyone else to prevent account being compromised. LGIS0nvV16S)\n⏰ وقت الاستلام: ١١:٥٠:١٤ م\n\n✅ يمكنك الآن استخدام هذا الرمز لإكمال عملية التحقق.	2025-05-21 23:49:14.833444+00	2025-05-21 23:50:15.008357+00
12	3	6246129018	google	austria	virtual38	\N	\N	2.60	failed	\N	\N	2025-06-06 03:25:50.388898+00	2025-06-06 03:25:50.388898+00
13	3	6246129018	snapchat	canada	virtual12	+13438908854	800348291	0.07	timeout	\N	\N	2025-06-06 03:26:19.620566+00	2025-06-06 03:41:19.941522+00
14	3	6246129018	snapchat	canada	virtual12	+17539613539	800719663	0.08	timeout	\N	\N	2025-06-06 19:57:10.509806+00	2025-06-06 20:12:10.881368+00
15	8	7297709050	imo	canada	virtual40	+15815868039	800846989	0.03	timeout	\N	\N	2025-06-07 04:40:59.227434+00	2025-06-07 04:55:59.685671+00
16	8	7297709050	twitter	canada	virtual8	+18732821372	800860903	0.02	timeout	\N	\N	2025-06-07 05:40:45.582545+00	2025-06-07 05:55:46.049388+00
17	8	7297709050	imo	canada	virtual40	+15813448434	801129141	0.03	timeout	\N	\N	2025-06-07 18:32:58.997406+00	2025-06-07 18:47:59.480631+00
18	7	5804592092	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-08 00:24:21.001148+00	2025-06-08 00:24:21.001148+00
19	7	5804592092	imo	cambodia	virtual4	\N	\N	0.18	failed	\N	\N	2025-06-08 00:24:36.838213+00	2025-06-08 00:24:36.838213+00
20	7	5804592092	google	honduras	virtual4	\N	\N	0.18	failed	\N	\N	2025-06-08 00:25:13.623441+00	2025-06-08 00:25:13.623441+00
21	15	7297709050	tiktok	brazil	virtual4	\N	\N	0.30	failed	\N	\N	2025-06-08 00:28:51.068917+00	2025-06-08 00:28:51.068917+00
22	15	7297709050	whatsapp	canada	virtual40	\N	\N	0.57	failed	\N	\N	2025-06-08 00:44:19.204269+00	2025-06-08 00:44:19.204269+00
24	15	7297709050	telegram	canada	virtual40	\N	\N	0.47	failed	\N	\N	2025-06-08 00:47:46.979618+00	2025-06-08 00:47:46.979618+00
23	15	7297709050	imo	canada	virtual40	+18258529053	801223554	0.03	timeout	\N	\N	2025-06-08 00:44:34.581286+00	2025-06-08 00:59:35.206831+00
25	15	7297709050	twitter	canada	virtual8	+12894624619	801224746	0.02	timeout	\N	\N	2025-06-08 00:47:58.57891+00	2025-06-08 01:02:59.056202+00
26	8	7297709050	imo	canada	virtual8	\N	\N	0.02	failed	\N	\N	2025-06-08 06:29:02.165214+00	2025-06-08 06:29:02.165214+00
27	8	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-08 06:29:11.645759+00	2025-06-08 06:29:11.645759+00
28	8	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-08 06:31:48.994815+00	2025-06-08 06:31:48.994815+00
29	15	7297709050	whatsapp	canada	virtual40	\N	\N	0.57	failed	\N	\N	2025-06-08 14:26:51.330748+00	2025-06-08 14:26:51.330748+00
30	15	7297709050	imo	india	virtual4	+918092580451	801471406	0.13	timeout	\N	\N	2025-06-08 14:27:14.916745+00	2025-06-08 14:42:15.456717+00
31	17	7297709050	whatsapp	canada	virtual40	\N	\N	0.57	failed	\N	\N	2025-06-08 18:33:32.012322+00	2025-06-08 18:33:32.012322+00
32	17	7297709050	whatsapp	denmark	virtual38	\N	\N	2.74	failed	\N	\N	2025-06-08 18:33:59.042225+00	2025-06-08 18:33:59.042225+00
33	17	7297709050	twitter	costarica	virtual4	\N	\N	0.36	failed	\N	\N	2025-06-08 18:34:25.266172+00	2025-06-08 18:34:25.266172+00
34	17	7297709050	whatsapp	burundi	virtual4	\N	\N	0.32	failed	\N	\N	2025-06-08 18:34:55.265349+00	2025-06-08 18:34:55.265349+00
35	17	7297709050	twitter	gambia	virtual4	\N	\N	0.40	failed	\N	\N	2025-06-08 18:35:23.706248+00	2025-06-08 18:35:23.706248+00
36	17	7297709050	imo	canada	virtual8	+12895283697	801555756	0.02	timeout	\N	\N	2025-06-08 18:37:59.606905+00	2025-06-08 18:53:00.390281+00
37	3	6246129018	snapchat	canada	virtual8	+12895283732	801580762	0.05	timeout	\N	\N	2025-06-08 20:04:40.792202+00	2025-06-08 20:19:41.360982+00
38	20	6463129252	imo	canada	virtual8	+12895283349	801598273	0.02	timeout	\N	\N	2025-06-08 21:16:43.608138+00	2025-06-08 21:31:44.222049+00
39	17	7297709050	imo	canada	virtual40	+15812750196	801633547	0.03	timeout	\N	\N	2025-06-08 23:50:25.678257+00	2025-06-09 00:05:26.19573+00
40	17	7297709050	twitter	canada	virtual8	+12895283732	801634298	0.02	timeout	\N	\N	2025-06-08 23:54:02.746411+00	2025-06-09 00:09:03.319223+00
41	17	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-09 01:04:19.868751+00	2025-06-09 01:04:19.868751+00
42	17	7297709050	imo	canada	virtual8	+12895283164	801651767	0.02	timeout	\N	\N	2025-06-09 01:04:31.71802+00	2025-06-09 01:19:32.293034+00
43	17	7297709050	whatsapp	cameroon	virtual4	\N	\N	0.25	failed	\N	\N	2025-06-09 01:36:17.904249+00	2025-06-09 01:36:17.904249+00
44	17	7297709050	google	morocco	virtual26	\N	\N	0.64	failed	\N	\N	2025-06-09 02:50:41.632002+00	2025-06-09 02:50:41.632002+00
45	17	7297709050	google	barbados	virtual4	\N	\N	0.32	failed	\N	\N	2025-06-09 02:50:53.492089+00	2025-06-09 02:50:53.492089+00
46	17	7297709050	imo	bangladesh	virtual4	\N	\N	0.18	failed	\N	\N	2025-06-09 02:51:03.31284+00	2025-06-09 02:51:03.31284+00
47	17	7297709050	whatsapp	vietnam	virtual4	\N	\N	0.47	failed	\N	\N	2025-06-09 09:32:07.059123+00	2025-06-09 09:32:07.059123+00
48	17	7297709050	snapchat	easttimor	virtual4	\N	\N	0.34	failed	\N	\N	2025-06-09 09:32:24.577134+00	2025-06-09 09:32:24.577134+00
49	17	7297709050	imo	canada	virtual40	+18733062463	802074754	0.03	timeout	\N	\N	2025-06-09 21:34:14.700593+00	2025-06-09 21:49:15.164328+00
50	17	7297709050	tiktok	austria	virtual38	\N	\N	0.45	failed	\N	\N	2025-06-10 01:12:43.45632+00	2025-06-10 01:12:43.45632+00
51	17	7297709050	tiktok	austria	virtual38	\N	\N	0.45	failed	\N	\N	2025-06-10 01:12:51.629773+00	2025-06-10 01:12:51.629773+00
52	17	7297709050	tiktok	austria	virtual38	\N	\N	0.45	failed	\N	\N	2025-06-10 01:12:58.309285+00	2025-06-10 01:12:58.309285+00
53	17	7297709050	tiktok	austria	virtual38	\N	\N	0.45	failed	\N	\N	2025-06-10 01:13:08.3015+00	2025-06-10 01:13:08.3015+00
54	17	7297709050	tiktok	austria	virtual38	\N	\N	0.45	failed	\N	\N	2025-06-10 01:13:25.634851+00	2025-06-10 01:13:25.634851+00
55	17	7297709050	instagram	cambodia	virtual49	+855718505637	802140477	0.09	pending	\N	\N	2025-06-10 01:14:27.409246+00	2025-06-10 01:14:27.409246+00
56	8	7297709050	keeta	indonesia	virtual38	+6285857858158	803656405	0.09	pending	\N	\N	2025-06-12 23:42:11.236837+00	2025-06-12 23:42:11.236837+00
57	8	7297709050	aliexpress	indonesia	virtual38	\N	\N	0.02	failed	\N	\N	2025-06-12 23:47:07.740713+00	2025-06-12 23:47:07.740713+00
58	17	7297709050	2dehands	romania	virtual26	\N	\N	0.18	failed	\N	\N	2025-06-13 09:01:38.638933+00	2025-06-13 09:01:38.638933+00
59	17	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-13 09:03:39.417559+00	2025-06-13 09:03:39.417559+00
60	17	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-13 10:01:48.075692+00	2025-06-13 10:01:48.075692+00
61	17	7297709050	imo	canada	virtual40	\N	\N	0.03	failed	\N	\N	2025-06-13 10:03:31.553439+00	2025-06-13 10:03:31.553439+00
62	17	7297709050	imo	canada	virtual8	+13652550427	803864270	0.02	timeout	\N	\N	2025-06-13 10:04:02.463826+00	2025-06-13 10:19:02.942357+00
63	17	7297709050	imo	canada	virtual8	+13652551189	803864656	0.02	timeout	\N	\N	2025-06-13 10:04:59.180187+00	2025-06-13 10:19:59.561051+00
64	17	7297709050	arlens	malaysia	virtual38	+601112116805	804114611	0.05	timeout	\N	\N	2025-06-13 22:32:13.935475+00	2025-06-13 22:47:14.446231+00
65	17	7297709050	crumblcookies	usa	virtual40	+16814920979	804127269	0.11	timeout	\N	\N	2025-06-13 23:26:07.37466+00	2025-06-13 23:41:07.865414+00
67	17	7297709050	telegram	india	virtual4	\N	\N	0.13	failed	\N	\N	2025-06-14 07:02:10.987997+00	2025-06-14 07:02:10.987997+00
66	17	7297709050	amasia	indonesia	virtual38	+6285165641494	804242663	0.02	timeout	\N	\N	2025-06-14 07:00:39.491846+00	2025-06-14 07:15:39.988691+00
68	17	7297709050	imo	canada	virtual8	+15484089693	804250948	0.02	timeout	\N	\N	2025-06-14 07:29:54.145613+00	2025-06-14 07:44:54.587618+00
69	17	7297709050	agroinform	england	virtual51	+447848851014	804410873	0.08	timeout	\N	\N	2025-06-14 15:10:30.540236+00	2025-06-14 15:25:31.054052+00
70	17	7297709050	imo	canada	virtual8	+14384248950	804428211	0.02	timeout	\N	\N	2025-06-14 15:59:46.381409+00	2025-06-14 16:14:46.908006+00
71	17	7297709050	imo	canada	virtual8	+12637007819	804475060	0.02	timeout	\N	\N	2025-06-14 18:28:50.462629+00	2025-06-14 18:43:50.972817+00
72	17	7297709050	24u	russia	megafon	+79292642440	804518919	0.02	timeout	\N	\N	2025-06-14 21:26:36.654932+00	2025-06-14 21:41:37.299286+00
73	17	7297709050	24u	russia	megafon	+79292649078	804606183	0.02	timeout	\N	\N	2025-06-15 02:33:53.170419+00	2025-06-15 02:48:53.638288+00
74	17	7297709050	96in	india	virtual21	\N	\N	0.09	failed	\N	\N	2025-06-15 03:03:42.995894+00	2025-06-15 03:03:42.995894+00
76	17	7297709050	888casino	england	ee	\N	\N	0.08	failed	\N	\N	2025-06-15 03:04:39.614887+00	2025-06-15 03:04:39.614887+00
75	17	7297709050	888casino	england	ee	+447487575682	804615916	0.08	timeout	\N	\N	2025-06-15 03:04:15.758305+00	2025-06-15 03:19:16.196648+00
77	17	7297709050	ulybkaradugi	russia	megafon	+79292632890	804644280	0.05	timeout	\N	\N	2025-06-15 04:42:16.767194+00	2025-06-15 04:57:17.229916+00
78	17	7297709050	amazon	russia	mts	+79185612957	804782529	0.02	timeout	\N	\N	2025-06-15 11:33:16.730394+00	2025-06-15 11:48:17.203528+00
79	17	7297709050	apollo	indonesia	virtual58	+6289525116517	804783117	0.08	timeout	\N	\N	2025-06-15 11:34:40.393114+00	2025-06-15 11:49:40.837785+00
80	17	7297709050	aitu	indonesia	virtual38	+6285712311858	804953025	0.07	timeout	\N	\N	2025-06-15 19:37:53.707314+00	2025-06-15 19:52:54.171686+00
81	17	7297709050	appen	england	ee	+447487575682	804985853	0.09	timeout	\N	\N	2025-06-15 21:31:03.404492+00	2025-06-15 21:46:03.906376+00
82	17	7297709050	betvet	argentina	virtual58	+543812221849	805167169	0.09	timeout	\N	\N	2025-06-16 07:53:03.813985+00	2025-06-16 08:08:04.243352+00
83	17	7297709050	betvet	argentina	virtual58	+543813589405	805172691	0.09	timeout	\N	\N	2025-06-16 08:07:37.844838+00	2025-06-16 08:22:38.375118+00
84	17	7297709050	bip	georgia	virtual58	+995592137317	805207123	0.08	timeout	\N	\N	2025-06-16 09:34:07.56769+00	2025-06-16 09:49:08.051834+00
85	3	6246129018	whatsapp	uzbekistan	virtual51	+998957609011	806194769	0.12	timeout	\N	\N	2025-06-18 08:05:00.873676+00	2025-06-18 08:20:01.363419+00
86	3	6246129018	whatsapp	uzbekistan	virtual51	+998991848848	806203937	0.12	timeout	\N	\N	2025-06-18 08:26:21.03668+00	2025-06-18 08:41:21.556947+00
\.


--
-- Data for Name: recharge_cards; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.recharge_cards (id, code, amount, is_used, is_reusable, created_by, used_by, used_at, created_at, expires_at) FROM stdin;
\.


--
-- Data for Name: resume_file; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.resume_file (id, user_id, file_id, is_default, is_active, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: settings; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.settings (id, key, value, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: sms_messages; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.sms_messages (id, phone_number_id, code, text, received_at, is_delivered, delivered_at) FROM stdin;
\.


--
-- Data for Name: storage_bucket; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.storage_bucket (id, user_id, name, is_public, created_at, updated_at) FROM stdin;
7	7ae51109-17d1-4c42-aa60-b222a36fc76a	user-7ae51109-17d1-4c42-aa60-b222a36fc76a	t	2025-03-30 21:32:52.917795+00	2025-03-30 21:32:52.917795+00
\.


--
-- Data for Name: storage_file; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.storage_file (id, bucket_id, folder_id, user_id, name, path, mime_type, size, metadata, is_public, created_at, updated_at) FROM stdin;
3	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	Screenshot from 2025-03-31 00-11-21.png	Screenshot from 2025-03-31 00-11-21.png	image/png	14545	\N	f	2025-03-30 21:34:11.190102+00	2025-03-30 21:34:11.190102+00
4	7	3	7ae51109-17d1-4c42-aa60-b222a36fc76a	Screenshot from 2025-03-31 00-11-21.png	tah/Screenshot from 2025-03-31 00-11-21.png	image/png	14545	\N	f	2025-03-30 21:45:16.531726+00	2025-03-30 21:45:16.531726+00
5	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	nor.pdf	nor.pdf	application/pdf	228012	\N	f	2025-03-30 22:08:35.0914+00	2025-03-30 22:08:35.0914+00
6	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	lab77.pdf	lab77.pdf	application/pdf	207427	\N	f	2025-03-30 22:11:52.937008+00	2025-03-30 22:11:52.937008+00
7	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	uber-apk-signer.jar	uber-apk-signer.jar	application/java-archive	1861628	\N	f	2025-03-30 22:12:25.412343+00	2025-03-30 22:12:25.412343+00
8	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	CustomTkinter_shapes_font.otf	CustomTkinter_shapes_font.otf	application/vnd.oasis.opendocument.formula-template	3528	\N	f	2025-03-30 22:16:18.654127+00	2025-03-30 22:16:18.654127+00
9	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	woonuxt-master (2).zip	woonuxt-master (2).zip	application/zip	1110154	\N	f	2025-03-30 22:17:16.894419+00	2025-03-30 22:17:16.894419+00
10	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	Marketing Campaign.pdf	Marketing Campaign.pdf	application/pdf	7767	\N	f	2025-03-30 22:18:39.387703+00	2025-03-30 22:18:39.387703+00
11	7	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a	Screenshot_20250331-203038.png	Screenshot_20250331-203038.png	image/png	331281	\N	f	2025-03-31 17:43:36.807745+00	2025-03-31 17:43:36.807745+00
\.


--
-- Data for Name: storage_folder; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.storage_folder (id, bucket_id, parent_folder_id, name, path, created_at, updated_at) FROM stdin;
2	7	\N	{"title":"common.createFolder","content":"common.enterFolderName","type":"warning","key":"56b90420"}	{"title":"common.createFolder","content":"common.enterFolderName","type":"warning","key":"56b90420"}	2025-03-30 21:35:39.47894+00	2025-03-30 21:35:39.47894+00
3	7	\N	tah	tah	2025-03-30 21:42:39.331738+00	2025-03-30 21:42:39.331738+00
4	7	\N	lkl	lkl	2025-03-30 22:08:57.437596+00	2025-03-30 22:08:57.437596+00
5	7	\N	ss	ss	2025-03-30 22:18:52.156418+00	2025-03-30 22:18:52.156418+00
\.


--
-- Data for Name: student_entity_telegram; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.student_entity_telegram (id, name, link, type, is_valid, entity_id, member_count, message_count, message_test, last_time_test, phone_number_test, source_entity, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: tasks; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.tasks (id, personal_account_id, task_type, task_data, state, is_active, last_run_at, created_at, updated_at) FROM stdin;
\.


--
-- Data for Name: transactions; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.transactions (id, user_id, agent_id, type, amount, reference_id, description, created_at) FROM stdin;
\.


--
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.users (id, first_name, last_name, avatar_url, date_of_birth, state, gender, user_type, country, is_active, created_at, updated_at) FROM stdin;
adc9feec-993d-41b9-9629-b1beccda90d8	MOUSA	ALAZZANI		\N	t	male	admin	YE	t	2025-06-04 02:44:48.768962+00	2025-06-04 02:44:48.768962+00
c7483d99-d823-4ab9-bf74-80f04d463f3d	Emperor	Emperor		\N	t	male	client	YE	t	2025-06-04 06:34:25.096305+00	2025-06-04 06:34:25.096305+00
7ae51109-17d1-4c42-aa60-b222a36fc76a	Mohammed	Foud	\N	\N	t	male	super_admin	\N	t	2025-02-27 22:06:39.573637+00	2025-06-08 17:49:11.407461+00
7958f41d-6be5-43f9-a449-19861464b4db	Mohammed	Foud2		\N	t	male	super_admin	USA	t	2025-06-08 17:59:29.734667+00	2025-06-08 17:59:29.734667+00
c69e29d4-7a19-4f6a-a75b-7b8dc1579f61	Y	yy		\N	t	male	admin	USA	t	2025-06-08 19:59:58.059278+00	2025-06-08 19:59:58.059278+00
3d8acd4e-f3d5-4b5d-a269-f43ed6022ffd	Mousa	Emperor		\N	t	male	editor	USA	t	2025-06-09 16:04:01.261327+00	2025-06-09 16:04:01.261327+00
\.


--
-- Data for Name: users_bot_telegram; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.users_bot_telegram (id, telegram_id, username, first_name, last_name, email, password_hash, language, role, balance, is_banned, last_login, bot_id, created_at, updated_at) FROM stdin;
5	7398250298	\N	Amjad	\N	user_7398250298@saerosms.com	d39e630b1d43d4adc7d49bc882f444111d386fca71b9003c52c98380ec4c524d	en	user	0.00	f	\N	049a92c4-7654-43f6-8e6f-7ff5cce78995	2025-05-22 00:05:47.072192+00	2025-05-22 00:05:47.072192+00
3	6246129018	\N	Mohammed	\N	user_6246129018@saerosms.com	747a3ec5ac81d4b9b5aab8e42f1a75822f652bbf7d7d921ddf161e0ff843a9c0	ar	user	40.34	f	2025-06-07 00:09:15.815+00	049a92c4-7654-43f6-8e6f-7ff5cce78995	2025-05-21 02:28:35.786493+00	2025-06-18 08:41:21.816427+00
20	6463129252	\N	شوقي	\N	user_6463129252@emperor.com	b6e40c39bd5f94fa71e7881b64b0ee80b85d8c1bf1a0ed356e9becf6df6d4c61	ar	user	0.00	f	\N	382a0ebd-8af4-4721-8ad3-30e2416c0e8d	2025-06-08 21:11:31.760695+00	2025-06-09 15:53:36.170718+00
6	7884755244	\N	mo	\N	user_7884755244@saerosms.com	be20e30701d455e355534364990878a0fb6dc46f445e60e2c910d337a905ca8b	ar	user	0.00	f	\N	049a92c4-7654-43f6-8e6f-7ff5cce78995	2025-06-04 03:51:21.766992+00	2025-06-15 02:28:44.579649+00
7	5804592092	\N	【﻿Mo】	\N	user_5804592092@saerosms.com	adf2cff5990050dde113d653acb82fb91111d23924c61f30acad4b3d0a2c4f8e	ar	user	55.00	f	\N	049a92c4-7654-43f6-8e6f-7ff5cce78995	2025-06-04 04:14:51.211366+00	2025-06-18 21:16:59.092965+00
16	5804592092	\N	【﻿Mo】	\N	Mousa123@Emperor.com	c803afb19a3d71396f5e85b14e41e04a25035886386f0e246b38bcd0fcf51a26	ar	user	7.00	f	\N	\N	2025-06-07 05:48:34.691297+00	2025-06-18 21:16:59.092965+00
21	5804592092	\N	【﻿Mo】	\N	user_5804592092@emperor.com	5a3231c79fa018b3d51929921edb8d0fccce91a6c38e6083a2baef36faf4909b	ar	user	30.00	f	\N	382a0ebd-8af4-4721-8ad3-30e2416c0e8d	2025-06-13 01:07:17.280605+00	2025-06-18 21:16:59.092965+00
15	7297709050	\N	Emperor	\N	user_7297709050@Emperor.com	c6c174480b8cc2eea93a26b7d3d75f8550733177d87804240439b6ec677c2e13	ar	user	90.03	f	\N	\N	2025-06-07 05:45:28.844196+00	2025-06-15 22:55:03.775018+00
14	7297709050	\N	Emperor	\N	user_7297709050@replix.com	de7b950136b84a5edd0fd64d31d80c9ca7c359f51badab79aa26418c0977e1d2	ar	user	23.00	f	\N	\N	2025-06-07 05:38:30.573677+00	2025-06-15 22:55:03.775018+00
19	7297709050	\N	Emperor	\N	user_7297709050@reblix.com	e73e5a956dd5cc470eb1c989677ca17349849567303f066c27947338b61b8fb3	ar	user	0.00	f	\N	46e386ea-5691-4403-9d4e-cf3c3ff74d3e	2025-06-08 20:17:58.572992+00	2025-06-15 22:55:03.775018+00
8	7297709050	\N	Emperor	\N	user_7297709050@saerosms.com	fee4acdd903479567c5c190325ba1448c7961b330114103aafff84461f3a17de	ar	user	8.99	f	2025-06-07 00:10:08.086+00	049a92c4-7654-43f6-8e6f-7ff5cce78995	2025-06-06 03:25:16.191792+00	2025-06-15 22:55:03.775018+00
18	6246129018	\N	Mohammed	\N	user_6246129018@reblix.com	55e7235efa30959c2f08714e23a633f11d9248deffe35d325a6eaa977f68509d	ar	user	0.00	f	\N	46e386ea-5691-4403-9d4e-cf3c3ff74d3e	2025-06-08 20:03:23.080819+00	2025-06-18 08:14:15.744828+00
13	6246129018	\N	Mohammed	\N	user_6246129018@replix.com	8ab244bfcf0df62efc71a503304d57dbecb7bea7cd20cc179004cf90385175a7	ar	user	5.44	f	\N	\N	2025-06-07 02:04:50.038697+00	2025-06-18 08:14:15.744828+00
23	7884755244	EMPEROR1003	EMPEROR	001	mousadev0@gmail.com	mousadev0@gmail.com	ar	user	2.00	f	\N	\N	2025-06-15 02:21:38.496+00	2025-06-15 02:28:44.579649+00
26	7884755244	EMPEROR1003	MO	KO	NOFJ@GMAIL.COM	mousadev0@gmail.com	ar	user	8.00	f	\N	\N	2025-06-15 02:29:01.643+00	2025-06-15 02:29:01.643+00
17	7297709050	\N	Emperor	\N	user_7297709050@emperor.com	b2a0cc2f3adf8ddb2a602bea23ec186b2ad8440b9f5ca52ff0303a265307b8b6	ar	user	9.35	f	\N	382a0ebd-8af4-4721-8ad3-30e2416c0e8d	2025-06-08 17:11:01.388877+00	2025-06-16 09:49:08.318328+00
\.


--
-- Data for Name: messages_2025_06_09; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_09 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_10; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_10 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_11; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_11 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_12; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_12 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_13; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_13 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_14; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_14 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: messages_2025_06_15; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.messages_2025_06_15 (topic, extension, payload, event, private, updated_at, inserted_at, id) FROM stdin;
\.


--
-- Data for Name: schema_migrations; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.schema_migrations (version, inserted_at) FROM stdin;
20211116024918	2025-06-04 01:12:36
20211116045059	2025-06-04 01:12:39
20211116050929	2025-06-04 01:12:40
20211116051442	2025-06-04 01:12:42
20211116212300	2025-06-04 01:12:44
20211116213355	2025-06-04 01:12:46
20211116213934	2025-06-04 01:12:48
20211116214523	2025-06-04 01:12:50
20211122062447	2025-06-04 01:12:52
20211124070109	2025-06-04 01:12:53
20211202204204	2025-06-04 01:12:55
20211202204605	2025-06-04 01:12:57
20211210212804	2025-06-04 01:13:02
20211228014915	2025-06-04 01:13:04
20220107221237	2025-06-04 01:13:05
20220228202821	2025-06-04 01:13:07
20220312004840	2025-06-04 01:13:09
20220603231003	2025-06-04 01:13:12
20220603232444	2025-06-04 01:13:13
20220615214548	2025-06-04 01:13:15
20220712093339	2025-06-04 01:13:17
20220908172859	2025-06-04 01:13:19
20220916233421	2025-06-04 01:13:20
20230119133233	2025-06-04 01:13:22
20230128025114	2025-06-04 01:13:24
20230128025212	2025-06-04 01:13:26
20230227211149	2025-06-04 01:13:28
20230228184745	2025-06-04 01:13:29
20230308225145	2025-06-04 01:13:31
20230328144023	2025-06-04 01:13:33
20231018144023	2025-06-04 01:13:35
20231204144023	2025-06-04 01:13:38
20231204144024	2025-06-04 01:13:39
20231204144025	2025-06-04 01:13:41
20240108234812	2025-06-04 01:13:43
20240109165339	2025-06-04 01:13:44
20240227174441	2025-06-04 01:13:47
20240311171622	2025-06-04 01:13:50
20240321100241	2025-06-04 01:13:53
20240401105812	2025-06-04 01:13:58
20240418121054	2025-06-04 01:14:01
20240523004032	2025-06-04 01:14:07
20240618124746	2025-06-04 01:14:08
20240801235015	2025-06-04 01:14:10
20240805133720	2025-06-04 01:14:12
20240827160934	2025-06-04 01:14:13
20240919163303	2025-06-04 01:14:16
20240919163305	2025-06-04 01:14:17
20241019105805	2025-06-04 01:14:19
20241030150047	2025-06-04 01:14:26
20241108114728	2025-06-04 01:14:28
20241121104152	2025-06-04 01:14:30
20241130184212	2025-06-04 01:14:32
20241220035512	2025-06-04 01:14:33
20241220123912	2025-06-04 01:14:35
20241224161212	2025-06-04 01:14:37
20250107150512	2025-06-04 01:14:38
20250110162412	2025-06-04 01:14:40
20250123174212	2025-06-04 01:14:42
20250128220012	2025-06-04 01:14:43
20250506224012	2025-06-04 01:14:45
20250523164012	2025-06-04 01:14:47
\.


--
-- Data for Name: subscription; Type: TABLE DATA; Schema: realtime; Owner: -
--

COPY realtime.subscription (id, subscription_id, entity, filters, claims, created_at) FROM stdin;
\.


--
-- Data for Name: buckets; Type: TABLE DATA; Schema: storage; Owner: -
--

COPY storage.buckets (id, name, owner, created_at, updated_at, public, avif_autodetection, file_size_limit, allowed_mime_types, owner_id) FROM stdin;
profiles	profiles	\N	2025-03-08 03:23:00.505293+00	2025-03-08 03:23:00.505293+00	t	f	\N	\N	\N
user-7ae51109-17d1-4c42-aa60-b222a36fc76a	user-7ae51109-17d1-4c42-aa60-b222a36fc76a	7ae51109-17d1-4c42-aa60-b222a36fc76a	2025-03-30 21:32:54.999099+00	2025-03-30 21:32:54.999099+00	t	f	52428800	\N	7ae51109-17d1-4c42-aa60-b222a36fc76a
\.


--
-- Data for Name: migrations; Type: TABLE DATA; Schema: storage; Owner: -
--

COPY storage.migrations (id, name, hash, executed_at) FROM stdin;
0	create-migrations-table	e18db593bcde2aca2a408c4d1100f6abba2195df	2025-06-04 01:12:36.813875
1	initialmigration	6ab16121fbaa08bbd11b712d05f358f9b555d777	2025-06-04 01:12:36.821998
2	storage-schema	5c7968fd083fcea04050c1b7f6253c9771b99011	2025-06-04 01:12:36.828243
3	pathtoken-column	2cb1b0004b817b29d5b0a971af16bafeede4b70d	2025-06-04 01:12:36.847086
4	add-migrations-rls	427c5b63fe1c5937495d9c635c263ee7a5905058	2025-06-04 01:12:36.859002
5	add-size-functions	79e081a1455b63666c1294a440f8ad4b1e6a7f84	2025-06-04 01:12:36.865413
6	change-column-name-in-get-size	f93f62afdf6613ee5e7e815b30d02dc990201044	2025-06-04 01:12:36.872526
7	add-rls-to-buckets	e7e7f86adbc51049f341dfe8d30256c1abca17aa	2025-06-04 01:12:36.878643
8	add-public-to-buckets	fd670db39ed65f9d08b01db09d6202503ca2bab3	2025-06-04 01:12:36.884544
9	fix-search-function	3a0af29f42e35a4d101c259ed955b67e1bee6825	2025-06-04 01:12:36.890618
10	search-files-search-function	68dc14822daad0ffac3746a502234f486182ef6e	2025-06-04 01:12:36.898024
11	add-trigger-to-auto-update-updated_at-column	7425bdb14366d1739fa8a18c83100636d74dcaa2	2025-06-04 01:12:36.904313
12	add-automatic-avif-detection-flag	8e92e1266eb29518b6a4c5313ab8f29dd0d08df9	2025-06-04 01:12:36.91268
13	add-bucket-custom-limits	cce962054138135cd9a8c4bcd531598684b25e7d	2025-06-04 01:12:36.920809
14	use-bytes-for-max-size	941c41b346f9802b411f06f30e972ad4744dad27	2025-06-04 01:12:36.92796
15	add-can-insert-object-function	934146bc38ead475f4ef4b555c524ee5d66799e5	2025-06-04 01:12:36.951651
16	add-version	76debf38d3fd07dcfc747ca49096457d95b1221b	2025-06-04 01:12:36.95818
17	drop-owner-foreign-key	f1cbb288f1b7a4c1eb8c38504b80ae2a0153d101	2025-06-04 01:12:36.964661
18	add_owner_id_column_deprecate_owner	e7a511b379110b08e2f214be852c35414749fe66	2025-06-04 01:12:36.977343
19	alter-default-value-objects-id	02e5e22a78626187e00d173dc45f58fa66a4f043	2025-06-04 01:12:36.985988
20	list-objects-with-delimiter	cd694ae708e51ba82bf012bba00caf4f3b6393b7	2025-06-04 01:12:36.992872
21	s3-multipart-uploads	8c804d4a566c40cd1e4cc5b3725a664a9303657f	2025-06-04 01:12:37.001558
22	s3-multipart-uploads-big-ints	9737dc258d2397953c9953d9b86920b8be0cdb73	2025-06-04 01:12:37.01766
23	optimize-search-function	9d7e604cddc4b56a5422dc68c9313f4a1b6f132c	2025-06-04 01:12:37.030994
24	operation-function	8312e37c2bf9e76bbe841aa5fda889206d2bf8aa	2025-06-04 01:12:37.039191
25	custom-metadata	d974c6057c3db1c1f847afa0e291e6165693b990	2025-06-04 01:12:37.045529
\.


--
-- Data for Name: objects; Type: TABLE DATA; Schema: storage; Owner: -
--

COPY storage.objects (id, bucket_id, name, owner, created_at, updated_at, last_accessed_at, metadata, version, owner_id, user_metadata) FROM stdin;
2003b8e1-c14d-40a2-b3a4-a7dfd402c05f	profiles	1000022913.jpg	c7483d99-d823-4ab9-bf74-80f04d463f3d	2025-06-04 23:35:42.046517+00	2025-06-04 23:35:42.046517+00	2025-06-04 23:35:42.046517+00	{"eTag": "\\"7801f3120150059a8340493299c38a69\\"", "size": 96625, "mimetype": "image/jpeg", "cacheControl": "max-age=3600", "lastModified": "2025-06-04T23:35:42.000Z", "contentLength": 96625, "httpStatusCode": 200}	536086b1-9d7f-4f00-877a-897317155788	c7483d99-d823-4ab9-bf74-80f04d463f3d	{}
11025cd5-763a-417b-817f-85619402106c	profiles	University/1749231604359.jpg	adc9feec-993d-41b9-9629-b1beccda90d8	2025-06-06 17:40:05.259777+00	2025-06-06 17:40:05.259777+00	2025-06-06 17:40:05.259777+00	{"eTag": "\\"92bd4842d8e427ee107dd24a7c81afa6\\"", "size": 101807, "mimetype": "image/jpeg", "cacheControl": "max-age=3600", "lastModified": "2025-06-06T17:40:06.000Z", "contentLength": 101807, "httpStatusCode": 200}	d24b88b2-6472-4572-a3c2-79f9662755fb	adc9feec-993d-41b9-9629-b1beccda90d8	{}
f3bba310-b1cc-457f-b23b-24f04c870202	profiles	University/1749273614643.jpg	c7483d99-d823-4ab9-bf74-80f04d463f3d	2025-06-07 05:20:16.381179+00	2025-06-07 05:20:16.381179+00	2025-06-07 05:20:16.381179+00	{"eTag": "\\"28fa5fff259642c2459f00c4752de2e1\\"", "size": 72841, "mimetype": "image/jpeg", "cacheControl": "max-age=3600", "lastModified": "2025-06-07T05:20:17.000Z", "contentLength": 72841, "httpStatusCode": 200}	85490f66-4b3c-4631-978e-1e5a94123c35	c7483d99-d823-4ab9-bf74-80f04d463f3d	{}
\.


--
-- Data for Name: s3_multipart_uploads; Type: TABLE DATA; Schema: storage; Owner: -
--

COPY storage.s3_multipart_uploads (id, in_progress_size, upload_signature, bucket_id, key, version, owner_id, created_at, user_metadata) FROM stdin;
\.


--
-- Data for Name: s3_multipart_uploads_parts; Type: TABLE DATA; Schema: storage; Owner: -
--

COPY storage.s3_multipart_uploads_parts (id, upload_id, size, part_number, bucket_id, key, etag, owner_id, version, created_at) FROM stdin;
\.


--
-- Data for Name: schema_migrations; Type: TABLE DATA; Schema: supabase_migrations; Owner: -
--

COPY supabase_migrations.schema_migrations (version, statements, name) FROM stdin;
\.


--
-- Data for Name: seed_files; Type: TABLE DATA; Schema: supabase_migrations; Owner: -
--

COPY supabase_migrations.seed_files (path, hash) FROM stdin;
\.


--
-- Data for Name: secrets; Type: TABLE DATA; Schema: vault; Owner: -
--

COPY vault.secrets (id, name, description, secret, key_id, nonce, created_at, updated_at) FROM stdin;
\.


--
-- Name: refresh_tokens_id_seq; Type: SEQUENCE SET; Schema: auth; Owner: -
--

SELECT pg_catalog.setval('auth.refresh_tokens_id_seq', 247, true);


--
-- Name: key_key_id_seq; Type: SEQUENCE SET; Schema: pgsodium; Owner: -
--

SELECT pg_catalog.setval('pgsodium.key_key_id_seq', 1, false);


--
-- Name: file_version_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.file_version_id_seq', 1, false);


--
-- Name: phone_numbers_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.phone_numbers_id_seq', 1, false);


--
-- Name: purchases_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.purchases_id_seq', 86, true);


--
-- Name: recharge_cards_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.recharge_cards_id_seq', 1, false);


--
-- Name: resume_file_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.resume_file_id_seq', 1, false);


--
-- Name: settings_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.settings_id_seq', 1, false);


--
-- Name: sms_messages_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.sms_messages_id_seq', 1, false);


--
-- Name: storage_bucket_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.storage_bucket_id_seq', 7, true);


--
-- Name: storage_file_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.storage_file_id_seq', 11, true);


--
-- Name: storage_folder_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.storage_folder_id_seq', 5, true);


--
-- Name: transactions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.transactions_id_seq', 1, false);


--
-- Name: users_bot_telegram_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('public.users_bot_telegram_id_seq', 26, true);


--
-- Name: subscription_id_seq; Type: SEQUENCE SET; Schema: realtime; Owner: -
--

SELECT pg_catalog.setval('realtime.subscription_id_seq', 545214, true);


--
-- Name: mfa_amr_claims amr_id_pk; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_amr_claims
    ADD CONSTRAINT amr_id_pk PRIMARY KEY (id);


--
-- Name: audit_log_entries audit_log_entries_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.audit_log_entries
    ADD CONSTRAINT audit_log_entries_pkey PRIMARY KEY (id);


--
-- Name: flow_state flow_state_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.flow_state
    ADD CONSTRAINT flow_state_pkey PRIMARY KEY (id);


--
-- Name: identities identities_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.identities
    ADD CONSTRAINT identities_pkey PRIMARY KEY (id);


--
-- Name: identities identities_provider_id_provider_unique; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.identities
    ADD CONSTRAINT identities_provider_id_provider_unique UNIQUE (provider_id, provider);


--
-- Name: instances instances_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.instances
    ADD CONSTRAINT instances_pkey PRIMARY KEY (id);


--
-- Name: mfa_amr_claims mfa_amr_claims_session_id_authentication_method_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_amr_claims
    ADD CONSTRAINT mfa_amr_claims_session_id_authentication_method_pkey UNIQUE (session_id, authentication_method);


--
-- Name: mfa_challenges mfa_challenges_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_challenges
    ADD CONSTRAINT mfa_challenges_pkey PRIMARY KEY (id);


--
-- Name: mfa_factors mfa_factors_last_challenged_at_key; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_factors
    ADD CONSTRAINT mfa_factors_last_challenged_at_key UNIQUE (last_challenged_at);


--
-- Name: mfa_factors mfa_factors_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_factors
    ADD CONSTRAINT mfa_factors_pkey PRIMARY KEY (id);


--
-- Name: one_time_tokens one_time_tokens_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.one_time_tokens
    ADD CONSTRAINT one_time_tokens_pkey PRIMARY KEY (id);


--
-- Name: refresh_tokens refresh_tokens_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.refresh_tokens
    ADD CONSTRAINT refresh_tokens_pkey PRIMARY KEY (id);


--
-- Name: refresh_tokens refresh_tokens_token_unique; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.refresh_tokens
    ADD CONSTRAINT refresh_tokens_token_unique UNIQUE (token);


--
-- Name: saml_providers saml_providers_entity_id_key; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_providers
    ADD CONSTRAINT saml_providers_entity_id_key UNIQUE (entity_id);


--
-- Name: saml_providers saml_providers_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_providers
    ADD CONSTRAINT saml_providers_pkey PRIMARY KEY (id);


--
-- Name: saml_relay_states saml_relay_states_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_relay_states
    ADD CONSTRAINT saml_relay_states_pkey PRIMARY KEY (id);


--
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.schema_migrations
    ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);


--
-- Name: sessions sessions_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.sessions
    ADD CONSTRAINT sessions_pkey PRIMARY KEY (id);


--
-- Name: sso_domains sso_domains_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.sso_domains
    ADD CONSTRAINT sso_domains_pkey PRIMARY KEY (id);


--
-- Name: sso_providers sso_providers_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.sso_providers
    ADD CONSTRAINT sso_providers_pkey PRIMARY KEY (id);


--
-- Name: users users_phone_key; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.users
    ADD CONSTRAINT users_phone_key UNIQUE (phone);


--
-- Name: users users_pkey; Type: CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.users
    ADD CONSTRAINT users_pkey PRIMARY KEY (id);


--
-- Name: api_virtual_number [REDACTED] Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.api_virtual_number
    ADD CONSTRAINT [REDACTED]PRIMARY KEY (id);


--
-- Name: bot_messages bot_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.bot_messages
    ADD CONSTRAINT bot_messages_pkey PRIMARY KEY (id);


--
-- Name: bots bots_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.bots
    ADD CONSTRAINT bots_pkey PRIMARY KEY (id);


--
-- Name: country_api_virtual_number country_api_virtual_number_key_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.country_api_virtual_number
    ADD CONSTRAINT country_api_virtual_number_key_key UNIQUE (key);


--
-- Name: country_api_virtual_number country_api_virtual_number_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.country_api_virtual_number
    ADD CONSTRAINT country_api_virtual_number_pkey PRIMARY KEY (id);


--
-- Name: file_version file_version_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.file_version
    ADD CONSTRAINT file_version_pkey PRIMARY KEY (id);


--
-- Name: keyword keyword_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.keyword
    ADD CONSTRAINT keyword_pkey PRIMARY KEY (id);


--
-- Name: keyword keyword_text_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.keyword
    ADD CONSTRAINT keyword_text_key UNIQUE (text);


--
-- Name: list_url_receiver list_url_receiver_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.list_url_receiver
    ADD CONSTRAINT list_url_receiver_pkey PRIMARY KEY (id);


--
-- Name: payments payments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.payments
    ADD CONSTRAINT payments_pkey PRIMARY KEY (id);


--
-- Name: personal_accounts_telegram personal_accounts_telegram_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.personal_accounts_telegram
    ADD CONSTRAINT personal_accounts_telegram_pkey PRIMARY KEY (id);


--
-- Name: phone_numbers phone_numbers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.phone_numbers
    ADD CONSTRAINT phone_numbers_pkey PRIMARY KEY (id);


--
-- Name: purchases purchases_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.purchases
    ADD CONSTRAINT purchases_pkey PRIMARY KEY (id);


--
-- Name: recharge_cards recharge_cards_code_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.recharge_cards
    ADD CONSTRAINT recharge_cards_code_key UNIQUE (code);


--
-- Name: recharge_cards recharge_cards_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.recharge_cards
    ADD CONSTRAINT recharge_cards_pkey PRIMARY KEY (id);


--
-- Name: resume_file resume_file_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.resume_file
    ADD CONSTRAINT resume_file_pkey PRIMARY KEY (id);


--
-- Name: settings settings_key_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.settings
    ADD CONSTRAINT settings_key_key UNIQUE (key);


--
-- Name: settings settings_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.settings
    ADD CONSTRAINT settings_pkey PRIMARY KEY (id);


--
-- Name: sms_messages sms_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.sms_messages
    ADD CONSTRAINT sms_messages_pkey PRIMARY KEY (id);


--
-- Name: storage_bucket storage_bucket_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_bucket
    ADD CONSTRAINT storage_bucket_pkey PRIMARY KEY (id);


--
-- Name: storage_file storage_file_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_file
    ADD CONSTRAINT storage_file_pkey PRIMARY KEY (id);


--
-- Name: storage_folder storage_folder_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_folder
    ADD CONSTRAINT storage_folder_pkey PRIMARY KEY (id);


--
-- Name: student_entity_telegram student_entity_telegram_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.student_entity_telegram
    ADD CONSTRAINT student_entity_telegram_pkey PRIMARY KEY (id);


--
-- Name: tasks tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.tasks
    ADD CONSTRAINT tasks_pkey PRIMARY KEY (id);


--
-- Name: transactions transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.transactions
    ADD CONSTRAINT transactions_pkey PRIMARY KEY (id);


--
-- Name: users_bot_telegram users_bot_telegram_email_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users_bot_telegram
    ADD CONSTRAINT users_bot_telegram_email_key UNIQUE (email);


--
-- Name: users_bot_telegram users_bot_telegram_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users_bot_telegram
    ADD CONSTRAINT users_bot_telegram_pkey PRIMARY KEY (id);


--
-- Name: users_bot_telegram users_bot_telegram_telegram_id_bot_id_key; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users_bot_telegram
    ADD CONSTRAINT users_bot_telegram_telegram_id_bot_id_key UNIQUE (telegram_id, bot_id);


--
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users
    ADD CONSTRAINT users_pkey PRIMARY KEY (id);


--
-- Name: messages messages_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages
    ADD CONSTRAINT messages_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_09 messages_2025_06_09_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_09
    ADD CONSTRAINT messages_2025_06_09_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_10 messages_2025_06_10_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_10
    ADD CONSTRAINT messages_2025_06_10_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_11 messages_2025_06_11_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_11
    ADD CONSTRAINT messages_2025_06_11_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_12 messages_2025_06_12_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_12
    ADD CONSTRAINT messages_2025_06_12_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_13 messages_2025_06_13_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_13
    ADD CONSTRAINT messages_2025_06_13_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_14 messages_2025_06_14_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_14
    ADD CONSTRAINT messages_2025_06_14_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: messages_2025_06_15 messages_2025_06_15_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.messages_2025_06_15
    ADD CONSTRAINT messages_2025_06_15_pkey PRIMARY KEY (id, inserted_at);


--
-- Name: subscription pk_subscription; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.subscription
    ADD CONSTRAINT pk_subscription PRIMARY KEY (id);


--
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: realtime; Owner: -
--

ALTER TABLE ONLY realtime.schema_migrations
    ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);


--
-- Name: buckets buckets_pkey; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.buckets
    ADD CONSTRAINT buckets_pkey PRIMARY KEY (id);


--
-- Name: migrations migrations_name_key; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.migrations
    ADD CONSTRAINT migrations_name_key UNIQUE (name);


--
-- Name: migrations migrations_pkey; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.migrations
    ADD CONSTRAINT migrations_pkey PRIMARY KEY (id);


--
-- Name: objects objects_pkey; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.objects
    ADD CONSTRAINT objects_pkey PRIMARY KEY (id);


--
-- Name: s3_multipart_uploads_parts s3_multipart_uploads_parts_pkey; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.s3_multipart_uploads_parts
    ADD CONSTRAINT s3_multipart_uploads_parts_pkey PRIMARY KEY (id);


--
-- Name: s3_multipart_uploads s3_multipart_uploads_pkey; Type: CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.s3_multipart_uploads
    ADD CONSTRAINT s3_multipart_uploads_pkey PRIMARY KEY (id);


--
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: supabase_migrations; Owner: -
--

ALTER TABLE ONLY supabase_migrations.schema_migrations
    ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);


--
-- Name: seed_files seed_files_pkey; Type: CONSTRAINT; Schema: supabase_migrations; Owner: -
--

ALTER TABLE ONLY supabase_migrations.seed_files
    ADD CONSTRAINT seed_files_pkey PRIMARY KEY (path);


--
-- Name: audit_logs_instance_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX audit_logs_instance_id_idx ON auth.audit_log_entries USING btree (instance_id);


--
-- Name: confirmation_token_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX confirmation_token_idx ON auth.users USING btree (confirmation_token) WHERE ((confirmation_token)::text !~ '^[0-9 ]*$'::text);


--
-- Name: email_change_token_current_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX email_change_token_current_idx ON auth.users USING btree (email_change_token_current) WHERE ((email_change_token_current)::text !~ '^[0-9 ]*$'::text);


--
-- Name: email_change_token_new_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX email_change_token_new_idx ON auth.users USING btree (email_change_token_new) WHERE ((email_change_token_new)::text !~ '^[0-9 ]*$'::text);


--
-- Name: factor_id_created_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX factor_id_created_at_idx ON auth.mfa_factors USING btree (user_id, created_at);


--
-- Name: flow_state_created_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX flow_state_created_at_idx ON auth.flow_state USING btree (created_at DESC);


--
-- Name: identities_email_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX identities_email_idx ON auth.identities USING btree (email text_pattern_ops);


--
-- Name: INDEX identities_email_idx; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON INDEX auth.identities_email_idx IS 'Auth: Ensures indexed queries on the email column';


--
-- Name: identities_user_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX identities_user_id_idx ON auth.identities USING btree (user_id);


--
-- Name: idx_auth_code; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX idx_auth_code ON auth.flow_state USING btree (auth_code);


--
-- Name: idx_user_id_auth_method; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX idx_user_id_auth_method ON auth.flow_state USING btree (user_id, authentication_method);


--
-- Name: mfa_challenge_created_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX mfa_challenge_created_at_idx ON auth.mfa_challenges USING btree (created_at DESC);


--
-- Name: mfa_factors_user_friendly_name_unique; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX mfa_factors_user_friendly_name_unique ON auth.mfa_factors USING btree (friendly_name, user_id) WHERE (TRIM(BOTH FROM friendly_name) <> ''::text);


--
-- Name: mfa_factors_user_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX mfa_factors_user_id_idx ON auth.mfa_factors USING btree (user_id);


--
-- Name: one_time_tokens_relates_to_hash_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX one_time_tokens_relates_to_hash_idx ON auth.one_time_tokens USING hash (relates_to);


--
-- Name: one_time_tokens_token_hash_hash_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX one_time_tokens_token_hash_hash_idx ON auth.one_time_tokens USING hash (token_hash);


--
-- Name: one_time_tokens_user_id_token_type_key; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX one_time_tokens_user_id_token_type_key ON auth.one_time_tokens USING btree (user_id, token_type);


--
-- Name: reauthentication_token_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX reauthentication_token_idx ON auth.users USING btree (reauthentication_token) WHERE ((reauthentication_token)::text !~ '^[0-9 ]*$'::text);


--
-- Name: recovery_token_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX recovery_token_idx ON auth.users USING btree (recovery_token) WHERE ((recovery_token)::text !~ '^[0-9 ]*$'::text);


--
-- Name: refresh_tokens_instance_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX refresh_tokens_instance_id_idx ON auth.refresh_tokens USING btree (instance_id);


--
-- Name: refresh_tokens_instance_id_user_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX refresh_tokens_instance_id_user_id_idx ON auth.refresh_tokens USING btree (instance_id, user_id);


--
-- Name: refresh_tokens_parent_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX refresh_tokens_parent_idx ON auth.refresh_tokens USING btree (parent);


--
-- Name: refresh_tokens_session_id_revoked_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX refresh_tokens_session_id_revoked_idx ON auth.refresh_tokens USING btree (session_id, revoked);


--
-- Name: refresh_tokens_updated_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX refresh_tokens_updated_at_idx ON auth.refresh_tokens USING btree (updated_at DESC);


--
-- Name: saml_providers_sso_provider_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX saml_providers_sso_provider_id_idx ON auth.saml_providers USING btree (sso_provider_id);


--
-- Name: saml_relay_states_created_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX saml_relay_states_created_at_idx ON auth.saml_relay_states USING btree (created_at DESC);


--
-- Name: saml_relay_states_for_email_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX saml_relay_states_for_email_idx ON auth.saml_relay_states USING btree (for_email);


--
-- Name: saml_relay_states_sso_provider_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX saml_relay_states_sso_provider_id_idx ON auth.saml_relay_states USING btree (sso_provider_id);


--
-- Name: sessions_not_after_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX sessions_not_after_idx ON auth.sessions USING btree (not_after DESC);


--
-- Name: sessions_user_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX sessions_user_id_idx ON auth.sessions USING btree (user_id);


--
-- Name: sso_domains_domain_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX sso_domains_domain_idx ON auth.sso_domains USING btree (lower(domain));


--
-- Name: sso_domains_sso_provider_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX sso_domains_sso_provider_id_idx ON auth.sso_domains USING btree (sso_provider_id);


--
-- Name: sso_providers_resource_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX sso_providers_resource_id_idx ON auth.sso_providers USING btree (lower(resource_id));


--
-- Name: unique_phone_factor_per_user; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX unique_phone_factor_per_user ON auth.mfa_factors USING btree (user_id, phone);


--
-- Name: user_id_created_at_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX user_id_created_at_idx ON auth.sessions USING btree (user_id, created_at);


--
-- Name: users_email_partial_key; Type: INDEX; Schema: auth; Owner: -
--

CREATE UNIQUE INDEX users_email_partial_key ON auth.users USING btree (email) WHERE (is_sso_user = false);


--
-- Name: INDEX users_email_partial_key; Type: COMMENT; Schema: auth; Owner: -
--

COMMENT ON INDEX auth.users_email_partial_key IS 'Auth: A partial unique index that applies only when is_sso_user is false';


--
-- Name: users_instance_id_email_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX users_instance_id_email_idx ON auth.users USING btree (instance_id, lower((email)::text));


--
-- Name: users_instance_id_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX users_instance_id_idx ON auth.users USING btree (instance_id);


--
-- Name: users_is_anonymous_idx; Type: INDEX; Schema: auth; Owner: -
--

CREATE INDEX users_is_anonymous_idx ON auth.users USING btree (is_anonymous);


--
-- Name: idx_bot_messages_key; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_bot_messages_key ON public.bot_messages USING btree (key);


--
-- Name: idx_payments_created_at; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_payments_created_at ON public.payments USING btree (created_at);


--
-- Name: idx_payments_status; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_payments_status ON public.payments USING btree (status);


--
-- Name: idx_payments_user_id; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_payments_user_id ON public.payments USING btree (user_id);


--
-- Name: idx_purchases_created_at; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_purchases_created_at ON public.purchases USING btree (created_at);


--
-- Name: idx_purchases_order_id; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_purchases_order_id ON public.purchases USING btree (order_id);


--
-- Name: idx_purchases_state; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_purchases_state ON public.purchases USING btree (state);


--
-- Name: idx_purchases_telegram_id; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_purchases_telegram_id ON public.purchases USING btree (telegram_id);


--
-- Name: idx_purchases_user_id; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_purchases_user_id ON public.purchases USING btree (user_id);


--
-- Name: idx_tasks_personal_account; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_tasks_personal_account ON public.tasks USING btree (personal_account_id);


--
-- Name: idx_tasks_state; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_tasks_state ON public.tasks USING btree (state);


--
-- Name: idx_tasks_type; Type: INDEX; Schema: public; Owner: -
--

CREATE INDEX idx_tasks_type ON public.tasks USING btree (task_type);


--
-- Name: ix_realtime_subscription_entity; Type: INDEX; Schema: realtime; Owner: -
--

CREATE INDEX ix_realtime_subscription_entity ON realtime.subscription USING btree (entity);


--
-- Name: subscription_subscription_id_entity_filters_key; Type: INDEX; Schema: realtime; Owner: -
--

CREATE UNIQUE INDEX subscription_subscription_id_entity_filters_key ON realtime.subscription USING btree (subscription_id, entity, filters);


--
-- Name: bname; Type: INDEX; Schema: storage; Owner: -
--

CREATE UNIQUE INDEX bname ON storage.buckets USING btree (name);


--
-- Name: bucketid_objname; Type: INDEX; Schema: storage; Owner: -
--

CREATE UNIQUE INDEX bucketid_objname ON storage.objects USING btree (bucket_id, name);


--
-- Name: idx_multipart_uploads_list; Type: INDEX; Schema: storage; Owner: -
--

CREATE INDEX idx_multipart_uploads_list ON storage.s3_multipart_uploads USING btree (bucket_id, key, created_at);


--
-- Name: idx_objects_bucket_id_name; Type: INDEX; Schema: storage; Owner: -
--

CREATE INDEX idx_objects_bucket_id_name ON storage.objects USING btree (bucket_id, name COLLATE "C");


--
-- Name: name_prefix_search; Type: INDEX; Schema: storage; Owner: -
--

CREATE INDEX name_prefix_search ON storage.objects USING btree (name text_pattern_ops);


--
-- Name: messages_2025_06_09_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_09_pkey;


--
-- Name: messages_2025_06_10_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_10_pkey;


--
-- Name: messages_2025_06_11_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_11_pkey;


--
-- Name: messages_2025_06_12_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_12_pkey;


--
-- Name: messages_2025_06_13_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_13_pkey;


--
-- Name: messages_2025_06_14_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_14_pkey;


--
-- Name: messages_2025_06_15_pkey; Type: INDEX ATTACH; Schema: realtime; Owner: -
--

ALTER INDEX realtime.messages_pkey ATTACH PARTITION realtime.messages_2025_06_15_pkey;


--
-- Name: users on_auth_user_created; Type: TRIGGER; Schema: auth; Owner: -
--

CREATE TRIGGER on_auth_user_created AFTER INSERT ON auth.users FOR EACH ROW EXECUTE FUNCTION public.handle_new_user();


--
-- Name: api_virtual_number update_api_virtual_number_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_api_virtual_number_timestamp BEFORE UPDATE ON public.api_virtual_number FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: bot_messages update_bot_messages_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_bot_messages_timestamp BEFORE UPDATE ON public.bot_messages FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: bots update_bots_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_bots_timestamp BEFORE UPDATE ON public.bots FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: country_api_virtual_number update_country_api_virtual_number_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_country_api_virtual_number_timestamp BEFORE UPDATE ON public.country_api_virtual_number FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: keyword update_keyword_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_keyword_timestamp BEFORE UPDATE ON public.keyword FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: list_url_receiver update_list_url_receiver_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_list_url_receiver_timestamp BEFORE UPDATE ON public.list_url_receiver FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: payments update_payments_updated_at; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_payments_updated_at BEFORE UPDATE ON public.payments FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();


--
-- Name: personal_accounts_telegram update_personalaccounts_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_personalaccounts_timestamp BEFORE UPDATE ON public.personal_accounts_telegram FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: phone_numbers update_phone_numbers_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_phone_numbers_timestamp BEFORE UPDATE ON public.phone_numbers FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: purchases update_purchases_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_purchases_timestamp BEFORE UPDATE ON public.purchases FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: resume_file update_resume_file_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_resume_file_timestamp BEFORE UPDATE ON public.resume_file FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: settings update_settings_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_settings_timestamp BEFORE UPDATE ON public.settings FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: storage_bucket update_storage_bucket_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_storage_bucket_timestamp BEFORE UPDATE ON public.storage_bucket FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: storage_file update_storage_file_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_storage_file_timestamp BEFORE UPDATE ON public.storage_file FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: storage_folder update_storage_folder_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_storage_folder_timestamp BEFORE UPDATE ON public.storage_folder FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: student_entity_telegram update_student_entity_telegram_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_student_entity_telegram_timestamp BEFORE UPDATE ON public.student_entity_telegram FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: tasks update_tasks_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_tasks_timestamp BEFORE UPDATE ON public.tasks FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: users update_user_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_user_timestamp BEFORE UPDATE ON public.users FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: users_bot_telegram update_users_bot_telegram_timestamp; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER update_users_bot_telegram_timestamp BEFORE UPDATE ON public.users_bot_telegram FOR EACH ROW EXECUTE FUNCTION public.update_timestamp();


--
-- Name: subscription tr_check_filters; Type: TRIGGER; Schema: realtime; Owner: -
--

CREATE TRIGGER tr_check_filters BEFORE INSERT OR UPDATE ON realtime.subscription FOR EACH ROW EXECUTE FUNCTION realtime.subscription_check_filters();


--
-- Name: objects update_objects_updated_at; Type: TRIGGER; Schema: storage; Owner: -
--

CREATE TRIGGER update_objects_updated_at BEFORE UPDATE ON storage.objects FOR EACH ROW EXECUTE FUNCTION storage.update_updated_at_column();


--
-- Name: identities identities_user_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.identities
    ADD CONSTRAINT identities_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id) ON DELETE CASCADE;


--
-- Name: mfa_amr_claims mfa_amr_claims_session_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_amr_claims
    ADD CONSTRAINT mfa_amr_claims_session_id_fkey FOREIGN KEY (session_id) REFERENCES auth.sessions(id) ON DELETE CASCADE;


--
-- Name: mfa_challenges mfa_challenges_auth_factor_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_challenges
    ADD CONSTRAINT mfa_challenges_auth_factor_id_fkey FOREIGN KEY (factor_id) REFERENCES auth.mfa_factors(id) ON DELETE CASCADE;


--
-- Name: mfa_factors mfa_factors_user_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.mfa_factors
    ADD CONSTRAINT mfa_factors_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id) ON DELETE CASCADE;


--
-- Name: one_time_tokens one_time_tokens_user_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.one_time_tokens
    ADD CONSTRAINT one_time_tokens_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id) ON DELETE CASCADE;


--
-- Name: refresh_tokens refresh_tokens_session_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.refresh_tokens
    ADD CONSTRAINT refresh_tokens_session_id_fkey FOREIGN KEY (session_id) REFERENCES auth.sessions(id) ON DELETE CASCADE;


--
-- Name: saml_providers saml_providers_sso_provider_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_providers
    ADD CONSTRAINT saml_providers_sso_provider_id_fkey FOREIGN KEY (sso_provider_id) REFERENCES auth.sso_providers(id) ON DELETE CASCADE;


--
-- Name: saml_relay_states saml_relay_states_flow_state_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_relay_states
    ADD CONSTRAINT saml_relay_states_flow_state_id_fkey FOREIGN KEY (flow_state_id) REFERENCES auth.flow_state(id) ON DELETE CASCADE;


--
-- Name: saml_relay_states saml_relay_states_sso_provider_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.saml_relay_states
    ADD CONSTRAINT saml_relay_states_sso_provider_id_fkey FOREIGN KEY (sso_provider_id) REFERENCES auth.sso_providers(id) ON DELETE CASCADE;


--
-- Name: sessions sessions_user_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.sessions
    ADD CONSTRAINT sessions_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id) ON DELETE CASCADE;


--
-- Name: sso_domains sso_domains_sso_provider_id_fkey; Type: FK CONSTRAINT; Schema: auth; Owner: -
--

ALTER TABLE ONLY auth.sso_domains
    ADD CONSTRAINT sso_domains_sso_provider_id_fkey FOREIGN KEY (sso_provider_id) REFERENCES auth.sso_providers(id) ON DELETE CASCADE;


--
-- Name: api_virtual_number [REDACTED] Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.api_virtual_number
    ADD CONSTRAINT [REDACTED]FOREIGN KEY (bot_id) REFERENCES public.bots(id) ON DELETE SET NULL;


--
-- Name: bots bots_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.bots
    ADD CONSTRAINT bots_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;


--
-- Name: country_api_virtual_number country_api_virtual_number_api_virtual_number_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.country_api_virtual_number
    ADD CONSTRAINT country_api_virtual_number_api_virtual_number_id_fkey FOREIGN KEY (api_virtual_number_id) REFERENCES public.api_virtual_number(id) ON DELETE CASCADE;


--
-- Name: file_version file_version_file_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.file_version
    ADD CONSTRAINT file_version_file_id_fkey FOREIGN KEY (file_id) REFERENCES public.storage_file(id) ON DELETE CASCADE;


--
-- Name: keyword keyword_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.keyword
    ADD CONSTRAINT keyword_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;


--
-- Name: list_url_receiver list_url_receiver_personal_accounts_telegram_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.list_url_receiver
    ADD CONSTRAINT list_url_receiver_personal_accounts_telegram_id_fkey FOREIGN KEY (personal_accounts_telegram_id) REFERENCES public.personal_accounts_telegram(id) ON DELETE CASCADE;


--
-- Name: payments payments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.payments
    ADD CONSTRAINT payments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users_bot_telegram(id) ON DELETE CASCADE;


--
-- Name: personal_accounts_telegram personal_accounts_telegram_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.personal_accounts_telegram
    ADD CONSTRAINT personal_accounts_telegram_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;


--
-- Name: phone_numbers phone_numbers_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.phone_numbers
    ADD CONSTRAINT phone_numbers_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users_bot_telegram(id) ON DELETE CASCADE;


--
-- Name: purchases purchases_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.purchases
    ADD CONSTRAINT purchases_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users_bot_telegram(id);


--
-- Name: recharge_cards recharge_cards_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.recharge_cards
    ADD CONSTRAINT recharge_cards_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users_bot_telegram(id) ON DELETE CASCADE;


--
-- Name: recharge_cards recharge_cards_used_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.recharge_cards
    ADD CONSTRAINT recharge_cards_used_by_fkey FOREIGN KEY (used_by) REFERENCES public.users_bot_telegram(id) ON DELETE SET NULL;


--
-- Name: resume_file resume_file_file_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.resume_file
    ADD CONSTRAINT resume_file_file_id_fkey FOREIGN KEY (file_id) REFERENCES public.storage_file(id) ON DELETE CASCADE;


--
-- Name: resume_file resume_file_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.resume_file
    ADD CONSTRAINT resume_file_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id);


--
-- Name: sms_messages sms_messages_phone_number_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.sms_messages
    ADD CONSTRAINT sms_messages_phone_number_id_fkey FOREIGN KEY (phone_number_id) REFERENCES public.phone_numbers(id) ON DELETE CASCADE;


--
-- Name: storage_bucket storage_bucket_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_bucket
    ADD CONSTRAINT storage_bucket_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id);


--
-- Name: storage_file storage_file_bucket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_file
    ADD CONSTRAINT storage_file_bucket_id_fkey FOREIGN KEY (bucket_id) REFERENCES public.storage_bucket(id) ON DELETE CASCADE;


--
-- Name: storage_file storage_file_folder_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_file
    ADD CONSTRAINT storage_file_folder_id_fkey FOREIGN KEY (folder_id) REFERENCES public.storage_folder(id) ON DELETE SET NULL;


--
-- Name: storage_file storage_file_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_file
    ADD CONSTRAINT storage_file_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users(id);


--
-- Name: storage_folder storage_folder_bucket_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_folder
    ADD CONSTRAINT storage_folder_bucket_id_fkey FOREIGN KEY (bucket_id) REFERENCES public.storage_bucket(id) ON DELETE CASCADE;


--
-- Name: storage_folder storage_folder_parent_folder_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.storage_folder
    ADD CONSTRAINT storage_folder_parent_folder_id_fkey FOREIGN KEY (parent_folder_id) REFERENCES public.storage_folder(id) ON DELETE SET NULL;


--
-- Name: tasks tasks_personal_account_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.tasks
    ADD CONSTRAINT tasks_personal_account_id_fkey FOREIGN KEY (personal_account_id) REFERENCES public.personal_accounts_telegram(id) ON DELETE CASCADE;


--
-- Name: transactions transactions_agent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.transactions
    ADD CONSTRAINT transactions_agent_id_fkey FOREIGN KEY (agent_id) REFERENCES public.users_bot_telegram(id) ON DELETE SET NULL;


--
-- Name: transactions transactions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.transactions
    ADD CONSTRAINT transactions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users_bot_telegram(id) ON DELETE CASCADE;


--
-- Name: users_bot_telegram users_bot_telegram_bot_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users_bot_telegram
    ADD CONSTRAINT users_bot_telegram_bot_id_fkey FOREIGN KEY (bot_id) REFERENCES public.bots(id) ON DELETE SET NULL;


--
-- Name: users users_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.users
    ADD CONSTRAINT users_id_fkey FOREIGN KEY (id) REFERENCES auth.users(id) ON DELETE CASCADE;


--
-- Name: objects objects_bucketId_fkey; Type: FK CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.objects
    ADD CONSTRAINT "objects_bucketId_fkey" FOREIGN KEY (bucket_id) REFERENCES storage.buckets(id);


--
-- Name: s3_multipart_uploads s3_multipart_uploads_bucket_id_fkey; Type: FK CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.s3_multipart_uploads
    ADD CONSTRAINT s3_multipart_uploads_bucket_id_fkey FOREIGN KEY (bucket_id) REFERENCES storage.buckets(id);


--
-- Name: s3_multipart_uploads_parts s3_multipart_uploads_parts_bucket_id_fkey; Type: FK CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.s3_multipart_uploads_parts
    ADD CONSTRAINT s3_multipart_uploads_parts_bucket_id_fkey FOREIGN KEY (bucket_id) REFERENCES storage.buckets(id);


--
-- Name: s3_multipart_uploads_parts s3_multipart_uploads_parts_upload_id_fkey; Type: FK CONSTRAINT; Schema: storage; Owner: -
--

ALTER TABLE ONLY storage.s3_multipart_uploads_parts
    ADD CONSTRAINT s3_multipart_uploads_parts_upload_id_fkey FOREIGN KEY (upload_id) REFERENCES storage.s3_multipart_uploads(id) ON DELETE CASCADE;


--
-- Name: audit_log_entries; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.audit_log_entries ENABLE ROW LEVEL SECURITY;

--
-- Name: flow_state; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.flow_state ENABLE ROW LEVEL SECURITY;

--
-- Name: identities; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.identities ENABLE ROW LEVEL SECURITY;

--
-- Name: instances; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.instances ENABLE ROW LEVEL SECURITY;

--
-- Name: mfa_amr_claims; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.mfa_amr_claims ENABLE ROW LEVEL SECURITY;

--
-- Name: mfa_challenges; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.mfa_challenges ENABLE ROW LEVEL SECURITY;

--
-- Name: mfa_factors; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.mfa_factors ENABLE ROW LEVEL SECURITY;

--
-- Name: one_time_tokens; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.one_time_tokens ENABLE ROW LEVEL SECURITY;

--
-- Name: refresh_tokens; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.refresh_tokens ENABLE ROW LEVEL SECURITY;

--
-- Name: saml_providers; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.saml_providers ENABLE ROW LEVEL SECURITY;

--
-- Name: saml_relay_states; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.saml_relay_states ENABLE ROW LEVEL SECURITY;

--
-- Name: schema_migrations; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.schema_migrations ENABLE ROW LEVEL SECURITY;

--
-- Name: sessions; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.sessions ENABLE ROW LEVEL SECURITY;

--
-- Name: sso_domains; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.sso_domains ENABLE ROW LEVEL SECURITY;

--
-- Name: sso_providers; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.sso_providers ENABLE ROW LEVEL SECURITY;

--
-- Name: users; Type: ROW SECURITY; Schema: auth; Owner: -
--

ALTER TABLE auth.users ENABLE ROW LEVEL SECURITY;

--
-- Name: bot_messages Admin can manage their own data.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Admin can manage their own data." ON public.bot_messages USING (true);


--
-- Name: student_entity_telegram Allow all access to student_entity_telegram.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Allow all access to student_entity_telegram." ON public.student_entity_telegram USING (true);


--
-- Name: users Public profiles are viewable by everyone.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Public profiles are viewable by everyone." ON public.users FOR SELECT USING (true);


--
-- Name: bots Users can manage bots.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage bots." ON public.bots USING (true);


--
-- Name: file_version Users can manage file versions.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage file versions." ON public.file_version USING (true);


--
-- Name: personal_accounts_telegram Users can manage personal accounts.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage personal accounts." ON public.personal_accounts_telegram USING (true);


--
-- Name: list_url_receiver Users can manage receiver URLs.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage receiver URLs." ON public.list_url_receiver USING (true);


--
-- Name: resume_file Users can manage resume files.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage resume files." ON public.resume_file USING (true);


--
-- Name: storage_bucket Users can manage storage buckets.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage storage buckets." ON public.storage_bucket USING (true);


--
-- Name: storage_file Users can manage storage files.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage storage files." ON public.storage_file USING (true);


--
-- Name: storage_folder Users can manage storage folders.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage storage folders." ON public.storage_folder USING (true);


--
-- Name: tasks Users can manage tasks; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage tasks" ON public.tasks USING (true);


--
-- Name: users_bot_telegram Users can manage their own data.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage their own data." ON public.users_bot_telegram USING (true);


--
-- Name: keyword Users can manage their own keywords.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage their own keywords." ON public.keyword USING (true);


--
-- Name: users Users can manage their own profile.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage their own profile." ON public.users USING ((auth.uid() = id)) WITH CHECK ((auth.uid() = id));


--
-- Name: purchases Users can manage their own purchases; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can manage their own purchases" ON public.purchases USING (true);


--
-- Name: payments Users can view their own payments.; Type: POLICY; Schema: public; Owner: -
--

CREATE POLICY "Users can view their own payments." ON public.payments USING (true);


--
-- Name: api_virtual_number; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.api_virtual_number ENABLE ROW LEVEL SECURITY;

--
-- Name: bot_messages; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.bot_messages ENABLE ROW LEVEL SECURITY;

--
-- Name: bots; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.bots ENABLE ROW LEVEL SECURITY;

--
-- Name: country_api_virtual_number; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.country_api_virtual_number ENABLE ROW LEVEL SECURITY;

--
-- Name: file_version; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.file_version ENABLE ROW LEVEL SECURITY;

--
-- Name: keyword; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.keyword ENABLE ROW LEVEL SECURITY;

--
-- Name: list_url_receiver; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.list_url_receiver ENABLE ROW LEVEL SECURITY;

--
-- Name: payments; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.payments ENABLE ROW LEVEL SECURITY;

--
-- Name: personal_accounts_telegram; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.personal_accounts_telegram ENABLE ROW LEVEL SECURITY;

--
-- Name: purchases; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.purchases ENABLE ROW LEVEL SECURITY;

--
-- Name: resume_file; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.resume_file ENABLE ROW LEVEL SECURITY;

--
-- Name: storage_bucket; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.storage_bucket ENABLE ROW LEVEL SECURITY;

--
-- Name: storage_file; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.storage_file ENABLE ROW LEVEL SECURITY;

--
-- Name: storage_folder; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.storage_folder ENABLE ROW LEVEL SECURITY;

--
-- Name: student_entity_telegram; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.student_entity_telegram ENABLE ROW LEVEL SECURITY;

--
-- Name: tasks; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.tasks ENABLE ROW LEVEL SECURITY;

--
-- Name: users; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.users ENABLE ROW LEVEL SECURITY;

--
-- Name: users_bot_telegram; Type: ROW SECURITY; Schema: public; Owner: -
--

ALTER TABLE public.users_bot_telegram ENABLE ROW LEVEL SECURITY;

--
-- Name: messages; Type: ROW SECURITY; Schema: realtime; Owner: -
--

ALTER TABLE realtime.messages ENABLE ROW LEVEL SECURITY;

--
-- Name: objects All 1ige2ga_0; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "All 1ige2ga_0" ON storage.objects FOR SELECT USING ((bucket_id = 'profiles'::text));


--
-- Name: objects All 1ige2ga_1; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "All 1ige2ga_1" ON storage.objects FOR INSERT WITH CHECK ((bucket_id = 'profiles'::text));


--
-- Name: objects All 1ige2ga_2; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "All 1ige2ga_2" ON storage.objects FOR UPDATE USING ((bucket_id = 'profiles'::text));


--
-- Name: objects All 1ige2ga_3; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "All 1ige2ga_3" ON storage.objects FOR DELETE USING ((bucket_id = 'profiles'::text));


--
-- Name: objects Enable all object operations for testing; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "Enable all object operations for testing" ON storage.objects USING (true);


--
-- Name: buckets Enable all operations for testing; Type: POLICY; Schema: storage; Owner: -
--

CREATE POLICY "Enable all operations for testing" ON storage.buckets USING (true);


--
-- Name: buckets; Type: ROW SECURITY; Schema: storage; Owner: -
--

ALTER TABLE storage.buckets ENABLE ROW LEVEL SECURITY;

--
-- Name: migrations; Type: ROW SECURITY; Schema: storage; Owner: -
--

ALTER TABLE storage.migrations ENABLE ROW LEVEL SECURITY;

--
-- Name: objects; Type: ROW SECURITY; Schema: storage; Owner: -
--

ALTER TABLE storage.objects ENABLE ROW LEVEL SECURITY;

--
-- Name: s3_multipart_uploads; Type: ROW SECURITY; Schema: storage; Owner: -
--

ALTER TABLE storage.s3_multipart_uploads ENABLE ROW LEVEL SECURITY;

--
-- Name: s3_multipart_uploads_parts; Type: ROW SECURITY; Schema: storage; Owner: -
--

ALTER TABLE storage.s3_multipart_uploads_parts ENABLE ROW LEVEL SECURITY;

--
-- Name: supabase_realtime; Type: PUBLICATION; Schema: -; Owner: -
--

CREATE PUBLICATION supabase_realtime WITH (publish = 'insert, update, delete, truncate');


--
-- Name: supabase_realtime_messages_publication; Type: PUBLICATION; Schema: -; Owner: -
--

CREATE PUBLICATION supabase_realtime_messages_publication WITH (publish = 'insert, update, delete, truncate');


--
-- Name: supabase_realtime bots; Type: PUBLICATION TABLE; Schema: public; Owner: -
--

ALTER PUBLICATION supabase_realtime ADD TABLE ONLY public.bots;


--
-- Name: supabase_realtime users_bot_telegram; Type: PUBLICATION TABLE; Schema: public; Owner: -
--

ALTER PUBLICATION supabase_realtime ADD TABLE ONLY public.users_bot_telegram;


--
-- Name: supabase_realtime_messages_publication messages; Type: PUBLICATION TABLE; Schema: realtime; Owner: -
--

ALTER PUBLICATION supabase_realtime_messages_publication ADD TABLE ONLY realtime.messages;


--
-- Name: SCHEMA auth; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA auth TO anon;
GRANT USAGE ON SCHEMA auth TO authenticated;
GRANT USAGE ON SCHEMA auth TO service_role;
GRANT ALL ON SCHEMA auth TO supabase_auth_admin;
GRANT ALL ON SCHEMA auth TO dashboard_user;
GRANT USAGE ON SCHEMA auth TO postgres;


--
-- Name: SCHEMA extensions; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA extensions TO anon;
GRANT USAGE ON SCHEMA extensions TO authenticated;
GRANT USAGE ON SCHEMA extensions TO service_role;
GRANT ALL ON SCHEMA extensions TO dashboard_user;


--
-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA public TO postgres;
GRANT USAGE ON SCHEMA public TO anon;
GRANT USAGE ON SCHEMA public TO authenticated;
GRANT USAGE ON SCHEMA public TO service_role;


--
-- Name: SCHEMA realtime; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA realtime TO postgres;
GRANT USAGE ON SCHEMA realtime TO anon;
GRANT USAGE ON SCHEMA realtime TO authenticated;
GRANT USAGE ON SCHEMA realtime TO service_role;
GRANT ALL ON SCHEMA realtime TO supabase_realtime_admin;


--
-- Name: SCHEMA storage; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA storage TO postgres;
GRANT USAGE ON SCHEMA storage TO anon;
GRANT USAGE ON SCHEMA storage TO authenticated;
GRANT USAGE ON SCHEMA storage TO service_role;
GRANT ALL ON SCHEMA storage TO supabase_storage_admin;
GRANT ALL ON SCHEMA storage TO dashboard_user;


--
-- Name: SCHEMA vault; Type: ACL; Schema: -; Owner: -
--

GRANT USAGE ON SCHEMA vault TO postgres WITH GRANT OPTION;
GRANT USAGE ON SCHEMA vault TO service_role;


--
-- Name: FUNCTION email(); Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON FUNCTION auth.email() TO dashboard_user;


--
-- Name: FUNCTION jwt(); Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON FUNCTION auth.jwt() TO postgres;
GRANT ALL ON FUNCTION auth.jwt() TO dashboard_user;


--
-- Name: FUNCTION role(); Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON FUNCTION auth.role() TO dashboard_user;


--
-- Name: FUNCTION uid(); Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON FUNCTION auth.uid() TO dashboard_user;


--
-- Name: FUNCTION algorithm_sign(signables text, secret text, algorithm text); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.algorithm_sign(signables text, secret text, algorithm text) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.algorithm_sign(signables text, secret text, algorithm text) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION armor(bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.armor(bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.armor(bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.armor(bytea) TO dashboard_user;


--
-- Name: FUNCTION armor(bytea, text[], text[]); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.armor(bytea, text[], text[]) FROM postgres;
GRANT ALL ON FUNCTION extensions.armor(bytea, text[], text[]) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.armor(bytea, text[], text[]) TO dashboard_user;


--
-- Name: FUNCTION crypt(text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.crypt(text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.crypt(text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.crypt(text, text) TO dashboard_user;


--
-- Name: FUNCTION dearmor(text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.dearmor(text) FROM postgres;
GRANT ALL ON FUNCTION extensions.dearmor(text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.dearmor(text) TO dashboard_user;


--
-- Name: FUNCTION decrypt(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.decrypt(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.decrypt(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.decrypt(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION decrypt_iv(bytea, bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.decrypt_iv(bytea, bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.decrypt_iv(bytea, bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.decrypt_iv(bytea, bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION digest(bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.digest(bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.digest(bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.digest(bytea, text) TO dashboard_user;


--
-- Name: FUNCTION digest(text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.digest(text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.digest(text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.digest(text, text) TO dashboard_user;


--
-- Name: FUNCTION encrypt(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.encrypt(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.encrypt(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.encrypt(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION encrypt_iv(bytea, bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.encrypt_iv(bytea, bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.encrypt_iv(bytea, bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.encrypt_iv(bytea, bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION gen_random_bytes(integer); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.gen_random_bytes(integer) FROM postgres;
GRANT ALL ON FUNCTION extensions.gen_random_bytes(integer) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.gen_random_bytes(integer) TO dashboard_user;


--
-- Name: FUNCTION gen_random_uuid(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.gen_random_uuid() FROM postgres;
GRANT ALL ON FUNCTION extensions.gen_random_uuid() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.gen_random_uuid() TO dashboard_user;


--
-- Name: FUNCTION gen_salt(text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.gen_salt(text) FROM postgres;
GRANT ALL ON FUNCTION extensions.gen_salt(text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.gen_salt(text) TO dashboard_user;


--
-- Name: FUNCTION gen_salt(text, integer); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.gen_salt(text, integer) FROM postgres;
GRANT ALL ON FUNCTION extensions.gen_salt(text, integer) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.gen_salt(text, integer) TO dashboard_user;


--
-- Name: FUNCTION grant_pg_cron_access(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.grant_pg_cron_access() FROM supabase_admin;
GRANT ALL ON FUNCTION extensions.grant_pg_cron_access() TO supabase_admin WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.grant_pg_cron_access() TO dashboard_user;


--
-- Name: FUNCTION grant_pg_graphql_access(); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.grant_pg_graphql_access() TO postgres WITH GRANT OPTION;


--
-- Name: FUNCTION grant_pg_net_access(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.grant_pg_net_access() FROM supabase_admin;
GRANT ALL ON FUNCTION extensions.grant_pg_net_access() TO supabase_admin WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.grant_pg_net_access() TO dashboard_user;


--
-- Name: FUNCTION hmac(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.hmac(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.hmac(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.hmac(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION hmac(text, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.hmac(text, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.hmac(text, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.hmac(text, text, text) TO dashboard_user;


--
-- Name: FUNCTION pg_stat_statements(showtext boolean, OUT userid oid, OUT dbid oid, OUT toplevel boolean, OUT queryid bigint, OUT query text, OUT plans bigint, OUT total_plan_time double precision, OUT min_plan_time double precision, OUT max_plan_time double precision, OUT mean_plan_time double precision, OUT stddev_plan_time double precision, OUT calls bigint, OUT total_exec_time double precision, OUT min_exec_time double precision, OUT max_exec_time double precision, OUT mean_exec_time double precision, OUT stddev_exec_time double precision, OUT rows bigint, OUT shared_blks_hit bigint, OUT shared_blks_read bigint, OUT shared_blks_dirtied bigint, OUT shared_blks_written bigint, OUT local_blks_hit bigint, OUT local_blks_read bigint, OUT local_blks_dirtied bigint, OUT local_blks_written bigint, OUT temp_blks_read bigint, OUT temp_blks_written bigint, OUT shared_blk_read_time double precision, OUT shared_blk_write_time double precision, OUT local_blk_read_time double precision, OUT local_blk_write_time double precision, OUT temp_blk_read_time double precision, OUT temp_blk_write_time double precision, OUT wal_records bigint, OUT wal_fpi bigint, OUT wal_bytes numeric, OUT jit_functions bigint, OUT jit_generation_time double precision, OUT jit_inlining_count bigint, OUT jit_inlining_time double precision, OUT jit_optimization_count bigint, OUT jit_optimization_time double precision, OUT jit_emission_count bigint, OUT jit_emission_time double precision, OUT jit_deform_count bigint, OUT jit_deform_time double precision, OUT stats_since timestamp with time zone, OUT minmax_stats_since timestamp with time zone); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pg_stat_statements(showtext boolean, OUT userid oid, OUT dbid oid, OUT toplevel boolean, OUT queryid bigint, OUT query text, OUT plans bigint, OUT total_plan_time double precision, OUT min_plan_time double precision, OUT max_plan_time double precision, OUT mean_plan_time double precision, OUT stddev_plan_time double precision, OUT calls bigint, OUT total_exec_time double precision, OUT min_exec_time double precision, OUT max_exec_time double precision, OUT mean_exec_time double precision, OUT stddev_exec_time double precision, OUT rows bigint, OUT shared_blks_hit bigint, OUT shared_blks_read bigint, OUT shared_blks_dirtied bigint, OUT shared_blks_written bigint, OUT local_blks_hit bigint, OUT local_blks_read bigint, OUT local_blks_dirtied bigint, OUT local_blks_written bigint, OUT temp_blks_read bigint, OUT temp_blks_written bigint, OUT shared_blk_read_time double precision, OUT shared_blk_write_time double precision, OUT local_blk_read_time double precision, OUT local_blk_write_time double precision, OUT temp_blk_read_time double precision, OUT temp_blk_write_time double precision, OUT wal_records bigint, OUT wal_fpi bigint, OUT wal_bytes numeric, OUT jit_functions bigint, OUT jit_generation_time double precision, OUT jit_inlining_count bigint, OUT jit_inlining_time double precision, OUT jit_optimization_count bigint, OUT jit_optimization_time double precision, OUT jit_emission_count bigint, OUT jit_emission_time double precision, OUT jit_deform_count bigint, OUT jit_deform_time double precision, OUT stats_since timestamp with time zone, OUT minmax_stats_since timestamp with time zone) FROM postgres;
GRANT ALL ON FUNCTION extensions.pg_stat_statements(showtext boolean, OUT userid oid, OUT dbid oid, OUT toplevel boolean, OUT queryid bigint, OUT query text, OUT plans bigint, OUT total_plan_time double precision, OUT min_plan_time double precision, OUT max_plan_time double precision, OUT mean_plan_time double precision, OUT stddev_plan_time double precision, OUT calls bigint, OUT total_exec_time double precision, OUT min_exec_time double precision, OUT max_exec_time double precision, OUT mean_exec_time double precision, OUT stddev_exec_time double precision, OUT rows bigint, OUT shared_blks_hit bigint, OUT shared_blks_read bigint, OUT shared_blks_dirtied bigint, OUT shared_blks_written bigint, OUT local_blks_hit bigint, OUT local_blks_read bigint, OUT local_blks_dirtied bigint, OUT local_blks_written bigint, OUT temp_blks_read bigint, OUT temp_blks_written bigint, OUT shared_blk_read_time double precision, OUT shared_blk_write_time double precision, OUT local_blk_read_time double precision, OUT local_blk_write_time double precision, OUT temp_blk_read_time double precision, OUT temp_blk_write_time double precision, OUT wal_records bigint, OUT wal_fpi bigint, OUT wal_bytes numeric, OUT jit_functions bigint, OUT jit_generation_time double precision, OUT jit_inlining_count bigint, OUT jit_inlining_time double precision, OUT jit_optimization_count bigint, OUT jit_optimization_time double precision, OUT jit_emission_count bigint, OUT jit_emission_time double precision, OUT jit_deform_count bigint, OUT jit_deform_time double precision, OUT stats_since timestamp with time zone, OUT minmax_stats_since timestamp with time zone) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pg_stat_statements(showtext boolean, OUT userid oid, OUT dbid oid, OUT toplevel boolean, OUT queryid bigint, OUT query text, OUT plans bigint, OUT total_plan_time double precision, OUT min_plan_time double precision, OUT max_plan_time double precision, OUT mean_plan_time double precision, OUT stddev_plan_time double precision, OUT calls bigint, OUT total_exec_time double precision, OUT min_exec_time double precision, OUT max_exec_time double precision, OUT mean_exec_time double precision, OUT stddev_exec_time double precision, OUT rows bigint, OUT shared_blks_hit bigint, OUT shared_blks_read bigint, OUT shared_blks_dirtied bigint, OUT shared_blks_written bigint, OUT local_blks_hit bigint, OUT local_blks_read bigint, OUT local_blks_dirtied bigint, OUT local_blks_written bigint, OUT temp_blks_read bigint, OUT temp_blks_written bigint, OUT shared_blk_read_time double precision, OUT shared_blk_write_time double precision, OUT local_blk_read_time double precision, OUT local_blk_write_time double precision, OUT temp_blk_read_time double precision, OUT temp_blk_write_time double precision, OUT wal_records bigint, OUT wal_fpi bigint, OUT wal_bytes numeric, OUT jit_functions bigint, OUT jit_generation_time double precision, OUT jit_inlining_count bigint, OUT jit_inlining_time double precision, OUT jit_optimization_count bigint, OUT jit_optimization_time double precision, OUT jit_emission_count bigint, OUT jit_emission_time double precision, OUT jit_deform_count bigint, OUT jit_deform_time double precision, OUT stats_since timestamp with time zone, OUT minmax_stats_since timestamp with time zone) TO dashboard_user;


--
-- Name: FUNCTION pg_stat_statements_info(OUT dealloc bigint, OUT stats_reset timestamp with time zone); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pg_stat_statements_info(OUT dealloc bigint, OUT stats_reset timestamp with time zone) FROM postgres;
GRANT ALL ON FUNCTION extensions.pg_stat_statements_info(OUT dealloc bigint, OUT stats_reset timestamp with time zone) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pg_stat_statements_info(OUT dealloc bigint, OUT stats_reset timestamp with time zone) TO dashboard_user;


--
-- Name: FUNCTION pg_stat_statements_reset(userid oid, dbid oid, queryid bigint, minmax_only boolean); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pg_stat_statements_reset(userid oid, dbid oid, queryid bigint, minmax_only boolean) FROM postgres;
GRANT ALL ON FUNCTION extensions.pg_stat_statements_reset(userid oid, dbid oid, queryid bigint, minmax_only boolean) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pg_stat_statements_reset(userid oid, dbid oid, queryid bigint, minmax_only boolean) TO dashboard_user;


--
-- Name: FUNCTION pgp_armor_headers(text, OUT key text, OUT value text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_armor_headers(text, OUT key text, OUT value text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_armor_headers(text, OUT key text, OUT value text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_armor_headers(text, OUT key text, OUT value text) TO dashboard_user;


--
-- Name: FUNCTION pgp_key_id(bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_key_id(bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_key_id(bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_key_id(bytea) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt(bytea, bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt(bytea, bytea, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt(bytea, bytea, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt_bytea(bytea, bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_decrypt_bytea(bytea, bytea, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_decrypt_bytea(bytea, bytea, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_encrypt(text, bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_encrypt(text, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt(text, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_encrypt_bytea(bytea, bytea); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea) TO dashboard_user;


--
-- Name: FUNCTION pgp_pub_encrypt_bytea(bytea, bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_pub_encrypt_bytea(bytea, bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_decrypt(bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_decrypt(bytea, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt(bytea, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_decrypt_bytea(bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_decrypt_bytea(bytea, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_decrypt_bytea(bytea, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_encrypt(text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_encrypt(text, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt(text, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_encrypt_bytea(bytea, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text) TO dashboard_user;


--
-- Name: FUNCTION pgp_sym_encrypt_bytea(bytea, text, text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text, text) FROM postgres;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text, text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.pgp_sym_encrypt_bytea(bytea, text, text) TO dashboard_user;


--
-- Name: FUNCTION pgrst_ddl_watch(); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.pgrst_ddl_watch() TO postgres WITH GRANT OPTION;


--
-- Name: FUNCTION pgrst_drop_watch(); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.pgrst_drop_watch() TO postgres WITH GRANT OPTION;


--
-- Name: FUNCTION set_graphql_placeholder(); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.set_graphql_placeholder() TO postgres WITH GRANT OPTION;


--
-- Name: FUNCTION sign(payload json, secret text, algorithm text); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.sign(payload json, secret text, algorithm text) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.sign(payload json, secret text, algorithm text) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION try_cast_double(inp text); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.try_cast_double(inp text) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.try_cast_double(inp text) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION url_decode(data text); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.url_decode(data text) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.url_decode(data text) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION url_encode(data bytea); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.url_encode(data bytea) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.url_encode(data bytea) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION uuid_generate_v1(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_generate_v1() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_generate_v1() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_generate_v1() TO dashboard_user;


--
-- Name: FUNCTION uuid_generate_v1mc(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_generate_v1mc() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_generate_v1mc() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_generate_v1mc() TO dashboard_user;


--
-- Name: FUNCTION uuid_generate_v3(namespace uuid, name text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_generate_v3(namespace uuid, name text) FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_generate_v3(namespace uuid, name text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_generate_v3(namespace uuid, name text) TO dashboard_user;


--
-- Name: FUNCTION uuid_generate_v4(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_generate_v4() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_generate_v4() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_generate_v4() TO dashboard_user;


--
-- Name: FUNCTION uuid_generate_v5(namespace uuid, name text); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_generate_v5(namespace uuid, name text) FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_generate_v5(namespace uuid, name text) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_generate_v5(namespace uuid, name text) TO dashboard_user;


--
-- Name: FUNCTION uuid_nil(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_nil() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_nil() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_nil() TO dashboard_user;


--
-- Name: FUNCTION uuid_ns_dns(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_ns_dns() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_ns_dns() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_ns_dns() TO dashboard_user;


--
-- Name: FUNCTION uuid_ns_oid(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_ns_oid() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_ns_oid() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_ns_oid() TO dashboard_user;


--
-- Name: FUNCTION uuid_ns_url(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_ns_url() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_ns_url() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_ns_url() TO dashboard_user;


--
-- Name: FUNCTION uuid_ns_x500(); Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON FUNCTION extensions.uuid_ns_x500() FROM postgres;
GRANT ALL ON FUNCTION extensions.uuid_ns_x500() TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION extensions.uuid_ns_x500() TO dashboard_user;


--
-- Name: FUNCTION verify(token text, secret text, algorithm text); Type: ACL; Schema: extensions; Owner: -
--

GRANT ALL ON FUNCTION extensions.verify(token text, secret text, algorithm text) TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT ALL ON FUNCTION extensions.verify(token text, secret text, algorithm text) TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: FUNCTION graphql("operationName" text, query text, variables jsonb, extensions jsonb); Type: ACL; Schema: graphql_public; Owner: -
--

GRANT ALL ON FUNCTION graphql_public.graphql("operationName" text, query text, variables jsonb, extensions jsonb) TO postgres;
GRANT ALL ON FUNCTION graphql_public.graphql("operationName" text, query text, variables jsonb, extensions jsonb) TO anon;
GRANT ALL ON FUNCTION graphql_public.graphql("operationName" text, query text, variables jsonb, extensions jsonb) TO authenticated;
GRANT ALL ON FUNCTION graphql_public.graphql("operationName" text, query text, variables jsonb, extensions jsonb) TO service_role;


--
-- Name: FUNCTION get_auth(p_usename text); Type: ACL; Schema: pgbouncer; Owner: -
--

REVOKE ALL ON FUNCTION pgbouncer.get_auth(p_usename text) FROM PUBLIC;
GRANT ALL ON FUNCTION pgbouncer.get_auth(p_usename text) TO pgbouncer;
GRANT ALL ON FUNCTION pgbouncer.get_auth(p_usename text) TO postgres;


--
-- Name: FUNCTION crypto_aead_det_decrypt(message bytea, additional bytea, key_uuid uuid, nonce bytea); Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON FUNCTION pgsodium.crypto_aead_det_decrypt(message bytea, additional bytea, key_uuid uuid, nonce bytea) TO service_role;


--
-- Name: FUNCTION crypto_aead_det_encrypt(message bytea, additional bytea, key_uuid uuid, nonce bytea); Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON FUNCTION pgsodium.crypto_aead_det_encrypt(message bytea, additional bytea, key_uuid uuid, nonce bytea) TO service_role;


--
-- Name: FUNCTION crypto_aead_det_keygen(); Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON FUNCTION pgsodium.crypto_aead_det_keygen() TO service_role;


--
-- Name: FUNCTION get_user_payment_history(user_id_param integer); Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON FUNCTION public.get_user_payment_history(user_id_param integer) TO anon;
GRANT ALL ON FUNCTION public.get_user_payment_history(user_id_param integer) TO authenticated;
GRANT ALL ON FUNCTION public.get_user_payment_history(user_id_param integer) TO service_role;


--
-- Name: FUNCTION handle_new_user(); Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON FUNCTION public.handle_new_user() TO anon;
GRANT ALL ON FUNCTION public.handle_new_user() TO authenticated;
GRANT ALL ON FUNCTION public.handle_new_user() TO service_role;


--
-- Name: FUNCTION update_payment_status(payment_id_param uuid, new_status public.payment_status, payment_id_value character varying, admin_notes_value text); Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON FUNCTION public.update_payment_status(payment_id_param uuid, new_status public.payment_status, payment_id_value character varying, admin_notes_value text) TO anon;
GRANT ALL ON FUNCTION public.update_payment_status(payment_id_param uuid, new_status public.payment_status, payment_id_value character varying, admin_notes_value text) TO authenticated;
GRANT ALL ON FUNCTION public.update_payment_status(payment_id_param uuid, new_status public.payment_status, payment_id_value character varying, admin_notes_value text) TO service_role;


--
-- Name: FUNCTION update_timestamp(); Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON FUNCTION public.update_timestamp() TO anon;
GRANT ALL ON FUNCTION public.update_timestamp() TO authenticated;
GRANT ALL ON FUNCTION public.update_timestamp() TO service_role;


--
-- Name: FUNCTION update_updated_at_column(); Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON FUNCTION public.update_updated_at_column() TO anon;
GRANT ALL ON FUNCTION public.update_updated_at_column() TO authenticated;
GRANT ALL ON FUNCTION public.update_updated_at_column() TO service_role;


--
-- Name: FUNCTION apply_rls(wal jsonb, max_record_bytes integer); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO postgres;
GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO anon;
GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO authenticated;
GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO service_role;
GRANT ALL ON FUNCTION realtime.apply_rls(wal jsonb, max_record_bytes integer) TO supabase_realtime_admin;


--
-- Name: FUNCTION broadcast_changes(topic_name text, event_name text, operation text, table_name text, table_schema text, new record, old record, level text); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.broadcast_changes(topic_name text, event_name text, operation text, table_name text, table_schema text, new record, old record, level text) TO postgres;
GRANT ALL ON FUNCTION realtime.broadcast_changes(topic_name text, event_name text, operation text, table_name text, table_schema text, new record, old record, level text) TO dashboard_user;


--
-- Name: FUNCTION build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO postgres;
GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO anon;
GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO authenticated;
GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO service_role;
GRANT ALL ON FUNCTION realtime.build_prepared_statement_sql(prepared_statement_name text, entity regclass, columns realtime.wal_column[]) TO supabase_realtime_admin;


--
-- Name: FUNCTION "cast"(val text, type_ regtype); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO postgres;
GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO dashboard_user;
GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO anon;
GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO authenticated;
GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO service_role;
GRANT ALL ON FUNCTION realtime."cast"(val text, type_ regtype) TO supabase_realtime_admin;


--
-- Name: FUNCTION check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO postgres;
GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO anon;
GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO authenticated;
GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO service_role;
GRANT ALL ON FUNCTION realtime.check_equality_op(op realtime.equality_op, type_ regtype, val_1 text, val_2 text) TO supabase_realtime_admin;


--
-- Name: FUNCTION is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO postgres;
GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO anon;
GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO authenticated;
GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO service_role;
GRANT ALL ON FUNCTION realtime.is_visible_through_filters(columns realtime.wal_column[], filters realtime.user_defined_filter[]) TO supabase_realtime_admin;


--
-- Name: FUNCTION list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO postgres;
GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO anon;
GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO authenticated;
GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO service_role;
GRANT ALL ON FUNCTION realtime.list_changes(publication name, slot_name name, max_changes integer, max_record_bytes integer) TO supabase_realtime_admin;


--
-- Name: FUNCTION quote_wal2json(entity regclass); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO postgres;
GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO anon;
GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO authenticated;
GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO service_role;
GRANT ALL ON FUNCTION realtime.quote_wal2json(entity regclass) TO supabase_realtime_admin;


--
-- Name: FUNCTION send(payload jsonb, event text, topic text, private boolean); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.send(payload jsonb, event text, topic text, private boolean) TO postgres;
GRANT ALL ON FUNCTION realtime.send(payload jsonb, event text, topic text, private boolean) TO dashboard_user;


--
-- Name: FUNCTION subscription_check_filters(); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO postgres;
GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO dashboard_user;
GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO anon;
GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO authenticated;
GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO service_role;
GRANT ALL ON FUNCTION realtime.subscription_check_filters() TO supabase_realtime_admin;


--
-- Name: FUNCTION to_regrole(role_name text); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO postgres;
GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO dashboard_user;
GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO anon;
GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO authenticated;
GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO service_role;
GRANT ALL ON FUNCTION realtime.to_regrole(role_name text) TO supabase_realtime_admin;


--
-- Name: FUNCTION topic(); Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON FUNCTION realtime.topic() TO postgres;
GRANT ALL ON FUNCTION realtime.topic() TO dashboard_user;


--
-- Name: FUNCTION _crypto_aead_det_decrypt(message bytea, additional bytea, key_id bigint, context bytea, nonce bytea); Type: ACL; Schema: vault; Owner: -
--

GRANT ALL ON FUNCTION vault._crypto_aead_det_decrypt(message bytea, additional bytea, key_id bigint, context bytea, nonce bytea) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION vault._crypto_aead_det_decrypt(message bytea, additional bytea, key_id bigint, context bytea, nonce bytea) TO service_role;


--
-- Name: FUNCTION create_secret(new_secret text, new_name text, new_description text, new_key_id uuid); Type: ACL; Schema: vault; Owner: -
--

GRANT ALL ON FUNCTION vault.create_secret(new_secret text, new_name text, new_description text, new_key_id uuid) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION vault.create_secret(new_secret text, new_name text, new_description text, new_key_id uuid) TO service_role;


--
-- Name: FUNCTION update_secret(secret_id uuid, new_secret text, new_name text, new_description text, new_key_id uuid); Type: ACL; Schema: vault; Owner: -
--

GRANT ALL ON FUNCTION vault.update_secret(secret_id uuid, new_secret text, new_name text, new_description text, new_key_id uuid) TO postgres WITH GRANT OPTION;
GRANT ALL ON FUNCTION vault.update_secret(secret_id uuid, new_secret text, new_name text, new_description text, new_key_id uuid) TO service_role;


--
-- Name: TABLE audit_log_entries; Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON TABLE auth.audit_log_entries TO dashboard_user;
GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.audit_log_entries TO postgres;
GRANT SELECT ON TABLE auth.audit_log_entries TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.audit_log_entries TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE flow_state; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.flow_state TO postgres;
GRANT SELECT ON TABLE auth.flow_state TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.flow_state TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.flow_state TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE identities; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.identities TO postgres;
GRANT SELECT ON TABLE auth.identities TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.identities TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.identities TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE instances; Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON TABLE auth.instances TO dashboard_user;
GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.instances TO postgres;
GRANT SELECT ON TABLE auth.instances TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.instances TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE mfa_amr_claims; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.mfa_amr_claims TO postgres;
GRANT SELECT ON TABLE auth.mfa_amr_claims TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.mfa_amr_claims TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.mfa_amr_claims TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE mfa_challenges; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.mfa_challenges TO postgres;
GRANT SELECT ON TABLE auth.mfa_challenges TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.mfa_challenges TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.mfa_challenges TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE mfa_factors; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.mfa_factors TO postgres;
GRANT SELECT ON TABLE auth.mfa_factors TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.mfa_factors TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.mfa_factors TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE one_time_tokens; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.one_time_tokens TO postgres;
GRANT SELECT ON TABLE auth.one_time_tokens TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.one_time_tokens TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.one_time_tokens TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE refresh_tokens; Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON TABLE auth.refresh_tokens TO dashboard_user;
GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.refresh_tokens TO postgres;
GRANT SELECT ON TABLE auth.refresh_tokens TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.refresh_tokens TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: SEQUENCE refresh_tokens_id_seq; Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON SEQUENCE auth.refresh_tokens_id_seq TO dashboard_user;
GRANT ALL ON SEQUENCE auth.refresh_tokens_id_seq TO postgres;


--
-- Name: TABLE saml_providers; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.saml_providers TO postgres;
GRANT SELECT ON TABLE auth.saml_providers TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.saml_providers TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.saml_providers TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE saml_relay_states; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.saml_relay_states TO postgres;
GRANT SELECT ON TABLE auth.saml_relay_states TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.saml_relay_states TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.saml_relay_states TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE schema_migrations; Type: ACL; Schema: auth; Owner: -
--

GRANT SELECT ON TABLE auth.schema_migrations TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.schema_migrations TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE sessions; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.sessions TO postgres;
GRANT SELECT ON TABLE auth.sessions TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.sessions TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.sessions TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE sso_domains; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.sso_domains TO postgres;
GRANT SELECT ON TABLE auth.sso_domains TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.sso_domains TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.sso_domains TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE sso_providers; Type: ACL; Schema: auth; Owner: -
--

GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.sso_providers TO postgres;
GRANT SELECT ON TABLE auth.sso_providers TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE auth.sso_providers TO dashboard_user;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.sso_providers TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE users; Type: ACL; Schema: auth; Owner: -
--

GRANT ALL ON TABLE auth.users TO dashboard_user;
GRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,MAINTAIN,UPDATE ON TABLE auth.users TO postgres;
GRANT SELECT ON TABLE auth.users TO postgres WITH GRANT OPTION;
SET SESSION AUTHORIZATION postgres;
GRANT SELECT ON TABLE auth.users TO dashboard_user;
RESET SESSION AUTHORIZATION;


--
-- Name: TABLE pg_stat_statements; Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON TABLE extensions.pg_stat_statements FROM postgres;
GRANT ALL ON TABLE extensions.pg_stat_statements TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE extensions.pg_stat_statements TO dashboard_user;


--
-- Name: TABLE pg_stat_statements_info; Type: ACL; Schema: extensions; Owner: -
--

REVOKE ALL ON TABLE extensions.pg_stat_statements_info FROM postgres;
GRANT ALL ON TABLE extensions.pg_stat_statements_info TO postgres WITH GRANT OPTION;
GRANT ALL ON TABLE extensions.pg_stat_statements_info TO dashboard_user;


--
-- Name: TABLE decrypted_key; Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON TABLE pgsodium.decrypted_key TO pgsodium_keyholder;


--
-- Name: TABLE masking_rule; Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON TABLE pgsodium.masking_rule TO pgsodium_keyholder;


--
-- Name: TABLE mask_columns; Type: ACL; Schema: pgsodium; Owner: -
--

GRANT ALL ON TABLE pgsodium.mask_columns TO pgsodium_keyholder;


--
-- Name: TABLE api_virtual_number; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.api_virtual_number TO anon;
GRANT ALL ON TABLE public.api_virtual_number TO authenticated;
GRANT ALL ON TABLE public.api_virtual_number TO service_role;


--
-- Name: TABLE bot_messages; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.bot_messages TO anon;
GRANT ALL ON TABLE public.bot_messages TO authenticated;
GRANT ALL ON TABLE public.bot_messages TO service_role;


--
-- Name: TABLE bots; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.bots TO anon;
GRANT ALL ON TABLE public.bots TO authenticated;
GRANT ALL ON TABLE public.bots TO service_role;


--
-- Name: TABLE country_api_virtual_number; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.country_api_virtual_number TO anon;
GRANT ALL ON TABLE public.country_api_virtual_number TO authenticated;
GRANT ALL ON TABLE public.country_api_virtual_number TO service_role;


--
-- Name: TABLE file_version; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.file_version TO anon;
GRANT ALL ON TABLE public.file_version TO authenticated;
GRANT ALL ON TABLE public.file_version TO service_role;


--
-- Name: SEQUENCE file_version_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.file_version_id_seq TO anon;
GRANT ALL ON SEQUENCE public.file_version_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.file_version_id_seq TO service_role;


--
-- Name: TABLE keyword; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.keyword TO anon;
GRANT ALL ON TABLE public.keyword TO authenticated;
GRANT ALL ON TABLE public.keyword TO service_role;


--
-- Name: TABLE list_url_receiver; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.list_url_receiver TO anon;
GRANT ALL ON TABLE public.list_url_receiver TO authenticated;
GRANT ALL ON TABLE public.list_url_receiver TO service_role;


--
-- Name: TABLE payments; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.payments TO anon;
GRANT ALL ON TABLE public.payments TO authenticated;
GRANT ALL ON TABLE public.payments TO service_role;


--
-- Name: TABLE payment_statistics; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.payment_statistics TO anon;
GRANT ALL ON TABLE public.payment_statistics TO authenticated;
GRANT ALL ON TABLE public.payment_statistics TO service_role;


--
-- Name: TABLE personal_accounts_telegram; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.personal_accounts_telegram TO anon;
GRANT ALL ON TABLE public.personal_accounts_telegram TO authenticated;
GRANT ALL ON TABLE public.personal_accounts_telegram TO service_role;


--
-- Name: TABLE phone_numbers; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.phone_numbers TO anon;
GRANT ALL ON TABLE public.phone_numbers TO authenticated;
GRANT ALL ON TABLE public.phone_numbers TO service_role;


--
-- Name: SEQUENCE phone_numbers_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.phone_numbers_id_seq TO anon;
GRANT ALL ON SEQUENCE public.phone_numbers_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.phone_numbers_id_seq TO service_role;


--
-- Name: TABLE purchases; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.purchases TO anon;
GRANT ALL ON TABLE public.purchases TO authenticated;
GRANT ALL ON TABLE public.purchases TO service_role;


--
-- Name: SEQUENCE purchases_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.purchases_id_seq TO anon;
GRANT ALL ON SEQUENCE public.purchases_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.purchases_id_seq TO service_role;


--
-- Name: TABLE recharge_cards; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.recharge_cards TO anon;
GRANT ALL ON TABLE public.recharge_cards TO authenticated;
GRANT ALL ON TABLE public.recharge_cards TO service_role;


--
-- Name: SEQUENCE recharge_cards_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.recharge_cards_id_seq TO anon;
GRANT ALL ON SEQUENCE public.recharge_cards_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.recharge_cards_id_seq TO service_role;


--
-- Name: TABLE resume_file; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.resume_file TO anon;
GRANT ALL ON TABLE public.resume_file TO authenticated;
GRANT ALL ON TABLE public.resume_file TO service_role;


--
-- Name: SEQUENCE resume_file_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.resume_file_id_seq TO anon;
GRANT ALL ON SEQUENCE public.resume_file_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.resume_file_id_seq TO service_role;


--
-- Name: TABLE settings; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.settings TO anon;
GRANT ALL ON TABLE public.settings TO authenticated;
GRANT ALL ON TABLE public.settings TO service_role;


--
-- Name: SEQUENCE settings_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.settings_id_seq TO anon;
GRANT ALL ON SEQUENCE public.settings_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.settings_id_seq TO service_role;


--
-- Name: TABLE sms_messages; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.sms_messages TO anon;
GRANT ALL ON TABLE public.sms_messages TO authenticated;
GRANT ALL ON TABLE public.sms_messages TO service_role;


--
-- Name: SEQUENCE sms_messages_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.sms_messages_id_seq TO anon;
GRANT ALL ON SEQUENCE public.sms_messages_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.sms_messages_id_seq TO service_role;


--
-- Name: TABLE storage_bucket; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.storage_bucket TO anon;
GRANT ALL ON TABLE public.storage_bucket TO authenticated;
GRANT ALL ON TABLE public.storage_bucket TO service_role;


--
-- Name: SEQUENCE storage_bucket_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.storage_bucket_id_seq TO anon;
GRANT ALL ON SEQUENCE public.storage_bucket_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.storage_bucket_id_seq TO service_role;


--
-- Name: TABLE storage_file; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.storage_file TO anon;
GRANT ALL ON TABLE public.storage_file TO authenticated;
GRANT ALL ON TABLE public.storage_file TO service_role;


--
-- Name: SEQUENCE storage_file_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.storage_file_id_seq TO anon;
GRANT ALL ON SEQUENCE public.storage_file_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.storage_file_id_seq TO service_role;


--
-- Name: TABLE storage_folder; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.storage_folder TO anon;
GRANT ALL ON TABLE public.storage_folder TO authenticated;
GRANT ALL ON TABLE public.storage_folder TO service_role;


--
-- Name: SEQUENCE storage_folder_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.storage_folder_id_seq TO anon;
GRANT ALL ON SEQUENCE public.storage_folder_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.storage_folder_id_seq TO service_role;


--
-- Name: TABLE student_entity_telegram; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.student_entity_telegram TO anon;
GRANT ALL ON TABLE public.student_entity_telegram TO authenticated;
GRANT ALL ON TABLE public.student_entity_telegram TO service_role;


--
-- Name: TABLE tasks; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.tasks TO anon;
GRANT ALL ON TABLE public.tasks TO authenticated;
GRANT ALL ON TABLE public.tasks TO service_role;


--
-- Name: TABLE transactions; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.transactions TO anon;
GRANT ALL ON TABLE public.transactions TO authenticated;
GRANT ALL ON TABLE public.transactions TO service_role;


--
-- Name: SEQUENCE transactions_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.transactions_id_seq TO anon;
GRANT ALL ON SEQUENCE public.transactions_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.transactions_id_seq TO service_role;


--
-- Name: TABLE users; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.users TO anon;
GRANT ALL ON TABLE public.users TO authenticated;
GRANT ALL ON TABLE public.users TO service_role;


--
-- Name: TABLE users_bot_telegram; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON TABLE public.users_bot_telegram TO anon;
GRANT ALL ON TABLE public.users_bot_telegram TO authenticated;
GRANT ALL ON TABLE public.users_bot_telegram TO service_role;


--
-- Name: SEQUENCE users_bot_telegram_id_seq; Type: ACL; Schema: public; Owner: -
--

GRANT ALL ON SEQUENCE public.users_bot_telegram_id_seq TO anon;
GRANT ALL ON SEQUENCE public.users_bot_telegram_id_seq TO authenticated;
GRANT ALL ON SEQUENCE public.users_bot_telegram_id_seq TO service_role;


--
-- Name: TABLE messages; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages TO postgres;
GRANT ALL ON TABLE realtime.messages TO dashboard_user;
GRANT SELECT,INSERT,UPDATE ON TABLE realtime.messages TO anon;
GRANT SELECT,INSERT,UPDATE ON TABLE realtime.messages TO authenticated;
GRANT SELECT,INSERT,UPDATE ON TABLE realtime.messages TO service_role;


--
-- Name: TABLE messages_2025_06_09; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_09 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_09 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_10; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_10 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_10 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_11; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_11 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_11 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_12; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_12 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_12 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_13; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_13 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_13 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_14; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_14 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_14 TO dashboard_user;


--
-- Name: TABLE messages_2025_06_15; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.messages_2025_06_15 TO postgres;
GRANT ALL ON TABLE realtime.messages_2025_06_15 TO dashboard_user;


--
-- Name: TABLE schema_migrations; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.schema_migrations TO postgres;
GRANT ALL ON TABLE realtime.schema_migrations TO dashboard_user;
GRANT SELECT ON TABLE realtime.schema_migrations TO anon;
GRANT SELECT ON TABLE realtime.schema_migrations TO authenticated;
GRANT SELECT ON TABLE realtime.schema_migrations TO service_role;
GRANT ALL ON TABLE realtime.schema_migrations TO supabase_realtime_admin;


--
-- Name: TABLE subscription; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON TABLE realtime.subscription TO postgres;
GRANT ALL ON TABLE realtime.subscription TO dashboard_user;
GRANT SELECT ON TABLE realtime.subscription TO anon;
GRANT SELECT ON TABLE realtime.subscription TO authenticated;
GRANT SELECT ON TABLE realtime.subscription TO service_role;
GRANT ALL ON TABLE realtime.subscription TO supabase_realtime_admin;


--
-- Name: SEQUENCE subscription_id_seq; Type: ACL; Schema: realtime; Owner: -
--

GRANT ALL ON SEQUENCE realtime.subscription_id_seq TO postgres;
GRANT ALL ON SEQUENCE realtime.subscription_id_seq TO dashboard_user;
GRANT USAGE ON SEQUENCE realtime.subscription_id_seq TO anon;
GRANT USAGE ON SEQUENCE realtime.subscription_id_seq TO authenticated;
GRANT USAGE ON SEQUENCE realtime.subscription_id_seq TO service_role;
GRANT ALL ON SEQUENCE realtime.subscription_id_seq TO supabase_realtime_admin;


--
-- Name: TABLE buckets; Type: ACL; Schema: storage; Owner: -
--

GRANT ALL ON TABLE storage.buckets TO anon;
GRANT ALL ON TABLE storage.buckets TO authenticated;
GRANT ALL ON TABLE storage.buckets TO service_role;
GRANT ALL ON TABLE storage.buckets TO postgres;


--
-- Name: TABLE objects; Type: ACL; Schema: storage; Owner: -
--

GRANT ALL ON TABLE storage.objects TO anon;
GRANT ALL ON TABLE storage.objects TO authenticated;
GRANT ALL ON TABLE storage.objects TO service_role;
GRANT ALL ON TABLE storage.objects TO postgres;


--
-- Name: TABLE s3_multipart_uploads; Type: ACL; Schema: storage; Owner: -
--

GRANT ALL ON TABLE storage.s3_multipart_uploads TO service_role;
GRANT SELECT ON TABLE storage.s3_multipart_uploads TO authenticated;
GRANT SELECT ON TABLE storage.s3_multipart_uploads TO anon;


--
-- Name: TABLE s3_multipart_uploads_parts; Type: ACL; Schema: storage; Owner: -
--

GRANT ALL ON TABLE storage.s3_multipart_uploads_parts TO service_role;
GRANT SELECT ON TABLE storage.s3_multipart_uploads_parts TO authenticated;
GRANT SELECT ON TABLE storage.s3_multipart_uploads_parts TO anon;


--
-- Name: TABLE secrets; Type: ACL; Schema: vault; Owner: -
--

GRANT SELECT,REFERENCES,DELETE,TRUNCATE ON TABLE vault.secrets TO postgres WITH GRANT OPTION;
GRANT SELECT,DELETE ON TABLE vault.secrets TO service_role;


--
-- Name: TABLE decrypted_secrets; Type: ACL; Schema: vault; Owner: -
--

GRANT SELECT,REFERENCES,DELETE,TRUNCATE ON TABLE vault.decrypted_secrets TO postgres WITH GRANT OPTION;
GRANT SELECT,DELETE ON TABLE vault.decrypted_secrets TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: auth; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON SEQUENCES TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: auth; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON FUNCTIONS TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: auth; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_auth_admin IN SCHEMA auth GRANT ALL ON TABLES TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: extensions; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA extensions GRANT ALL ON SEQUENCES TO postgres WITH GRANT OPTION;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: extensions; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA extensions GRANT ALL ON FUNCTIONS TO postgres WITH GRANT OPTION;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: extensions; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA extensions GRANT ALL ON TABLES TO postgres WITH GRANT OPTION;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: graphql; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON SEQUENCES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON SEQUENCES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON SEQUENCES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: graphql; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON FUNCTIONS TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON FUNCTIONS TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON FUNCTIONS TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: graphql; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON TABLES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON TABLES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql GRANT ALL ON TABLES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: graphql_public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON SEQUENCES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON SEQUENCES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON SEQUENCES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: graphql_public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON FUNCTIONS TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON FUNCTIONS TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON FUNCTIONS TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: graphql_public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON TABLES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON TABLES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA graphql_public GRANT ALL ON TABLES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: pgsodium; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA pgsodium GRANT ALL ON SEQUENCES TO pgsodium_keyholder;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: pgsodium; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA pgsodium GRANT ALL ON TABLES TO pgsodium_keyholder;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: pgsodium_masks; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA pgsodium_masks GRANT ALL ON SEQUENCES TO pgsodium_keyiduser;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: pgsodium_masks; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA pgsodium_masks GRANT ALL ON FUNCTIONS TO pgsodium_keyiduser;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: pgsodium_masks; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA pgsodium_masks GRANT ALL ON TABLES TO pgsodium_keyiduser;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON SEQUENCES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON SEQUENCES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON SEQUENCES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON SEQUENCES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON SEQUENCES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON SEQUENCES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON FUNCTIONS TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON FUNCTIONS TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON FUNCTIONS TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON FUNCTIONS TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON FUNCTIONS TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON FUNCTIONS TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON TABLES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON TABLES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON TABLES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: public; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON TABLES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON TABLES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA public GRANT ALL ON TABLES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: realtime; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON SEQUENCES TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: realtime; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON FUNCTIONS TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: realtime; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE supabase_admin IN SCHEMA realtime GRANT ALL ON TABLES TO dashboard_user;


--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: storage; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON SEQUENCES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON SEQUENCES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON SEQUENCES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON SEQUENCES TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: storage; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON FUNCTIONS TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON FUNCTIONS TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON FUNCTIONS TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON FUNCTIONS TO service_role;


--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: storage; Owner: -
--

ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON TABLES TO postgres;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON TABLES TO anon;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON TABLES TO authenticated;
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA storage GRANT ALL ON TABLES TO service_role;


--
-- Name: issue_graphql_placeholder; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER issue_graphql_placeholder ON sql_drop
         WHEN TAG IN ('DROP EXTENSION')
   EXECUTE FUNCTION extensions.set_graphql_placeholder();


--
-- Name: issue_pg_cron_access; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER issue_pg_cron_access ON ddl_command_end
         WHEN TAG IN ('CREATE EXTENSION')
   EXECUTE FUNCTION extensions.grant_pg_cron_access();


--
-- Name: issue_pg_graphql_access; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER issue_pg_graphql_access ON ddl_command_end
         WHEN TAG IN ('CREATE FUNCTION')
   EXECUTE FUNCTION extensions.grant_pg_graphql_access();


--
-- Name: issue_pg_net_access; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER issue_pg_net_access ON ddl_command_end
         WHEN TAG IN ('CREATE EXTENSION')
   EXECUTE FUNCTION extensions.grant_pg_net_access();


--
-- Name: pgrst_ddl_watch; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER pgrst_ddl_watch ON ddl_command_end
   EXECUTE FUNCTION extensions.pgrst_ddl_watch();


--
-- Name: pgrst_drop_watch; Type: EVENT TRIGGER; Schema: -; Owner: -
--

CREATE EVENT TRIGGER pgrst_drop_watch ON sql_drop
   EXECUTE FUNCTION extensions.pgrst_drop_watch();


--
-- PostgreSQL database dump complete
--

