CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- Users
INSERT INTO users (
        id,
        first_name,
        last_name,
        email,
        phone_number,
        password,
        role,
        email_verified,
        phone_verified,
        created_at,
        updated_at,
        suspended,
        company_id
    )
VALUES (
        1,
        'John',
        'Doe',
        'john.doe@example.com',
        NULL,
        crypt('password123', gen_salt('bf'))::bytea,
        'customer',
        TRUE,
        FALSE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        FALSE,
        NULL
    ),
    (
        2,
        'Test',
        'Admin',
        'test.admin@gmail.com',
        '0988554466',
        crypt('password123', gen_salt('bf'))::bytea,
        'admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        FALSE,
        1
    ),
    (
        3,
        'Samuel',
        'Tariku',
        'cybersamt@gmail.com',
        '0911111111',
        crypt('password@123', gen_salt('bf'))::bytea,
        'super_admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        FALSE,
        NULL
    ),
    (
        4,
        'Kirubel',
        'Kibru',
        'kirubel.jkl679@gmail.com',
        '0911554486',
        crypt('password@123', gen_salt('bf'))::bytea,
        'super_admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        FALSE,
        NULL
    ),
    (
        5,
        'Test',
        'Veli',
        'test.veli@example.com',
        NULL,
        crypt('password@123', gen_salt('bf'))::bytea,
        'customer',
        TRUE,
        FALSE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        FALSE,
        NULL
    );
-- Supported Operations
INSERT INTO supported_operations (id, name, description)
VALUES (1, 'SportBook', 'Sportbook operations'),
    (2, 'Virtual', 'Virtual operations');
-- Wallets
INSERT INTO wallets (
        id,
        balance,
        is_withdraw,
        is_bettable,
        is_transferable,
        user_id,
        type,
        currency,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        1,
        10000,
        TRUE,
        TRUE,
        TRUE,
        1,
        'regular',
        'ETB',
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    ),
    (
        2,
        5000,
        FALSE,
        TRUE,
        TRUE,
        1,
        'static',
        'ETB',
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    ),
    (
        3,
        20000,
        TRUE,
        TRUE,
        TRUE,
        2,
        'company_main',
        'ETB',
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    ),
    (
        4,
        15000,
        TRUE,
        TRUE,
        TRUE,
        2,
        'branch_main',
        'ETB',
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
-- Customer Wallets
INSERT INTO customer_wallets (
        id,
        customer_id,
        regular_wallet_id,
        static_wallet_id
    )
VALUES (1, 1, 1, 2);
-- Company
INSERT INTO companies (
        id,
        name,
        admin_id,
        wallet_id,
        deducted_percentage,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        1,
        'Test Company',
        2,
        3,
        0.10,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
-- Branch
INSERT INTO branches (
        id,
        name,
        location,
        wallet_id,
        branch_manager_id,
        company_id,
        is_self_owned,
        profit_percent,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        1,
        'Test Branch',
        'addis_ababa',
        4,
        2,
        1,
        TRUE,
        0.10,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );