BEGIN;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
INSERT INTO users (
        id,
        first_name,
        last_name,
        email,
        phone_number,
        password,
        role,
        email_verified,
        phone_verified,
        created_at,
        updated_at,
        suspended_at,
        suspended
    )
VALUES (
        1,
        'John',
        'Doe',
        'john.doe@example.com',
        NULL,
        crypt('password123', gen_salt('bf'))::bytea,
        'customer',
        TRUE,
        FALSE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        NULL,
        FALSE
    );
INSERT INTO wallets (
        id,
        balance,
        is_withdraw,
        is_bettable,
        is_transferable,
        user_id,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        1,
        10000,
        TRUE,
        TRUE,
        TRUE,
        1,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
INSERT INTO wallets (
        id,
        balance,
        is_withdraw,
        is_bettable,
        is_transferable,
        user_id,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        2,
        10000,
        FALSE,
        TRUE,
        TRUE,
        1,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
INSERT INTO customer_wallets (
        id,
        customer_id,
        regular_wallet_id,
        static_wallet_id
    )
VALUES (1, 1, 1, 2);
INSERT INTO users (
        id,
        first_name,
        last_name,
        email,
        phone_number,
        password,
        role,
        email_verified,
        phone_verified,
        created_at,
        updated_at,
        suspended_at,
        suspended,
        company_id
    )
VALUES (
        2,
        'Test',
        'Admin',
        'test.admin@gmail.com',
        '0988554466',
        crypt('password123', gen_salt('bf'))::bytea,
        'admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        NULL,
        FALSE,
        1
    );
INSERT INTO users (
        id,
        first_name,
        last_name,
        email,
        phone_number,
        password,
        role,
        email_verified,
        phone_verified,
        created_at,
        updated_at,
        suspended_at,
        suspended
    )
VALUES (
        3,
        'Samuel',
        'Tariku',
        'cybersamt@gmail.com',
        '0911111111',
        crypt('password@123', gen_salt('bf'))::bytea,
        'super_admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        NULL,
        FALSE
    );
INSERT INTO users (
        id,
        first_name,
        last_name,
        email,
        phone_number,
        password,
        role,
        email_verified,
        phone_verified,
        created_at,
        updated_at,
        suspended_at,
        suspended
    )
VALUES (
        4,
        'Kirubel',
        'Kibru',
        'kirubeljkl679 @gmail.com',
        '0911554486',
        crypt('password@123', gen_salt('bf'))::bytea,
        'super_admin',
        TRUE,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP,
        NULL,
        FALSE
    );
INSERT INTO supported_operations (id, name, description)
VALUES (1, 'SportBook', 'Sportbook operations'),
    (2, 'Virtual', 'Virtual operations');
INSERT INTO wallets (
        id,
        balance,
        is_withdraw,
        is_bettable,
        is_transferable,
        user_id,
        is_active,
        created_at,
        updated_at
    )
VALUES (
        3,
        10000,
        TRUE,
        TRUE,
        TRUE,
        2,
        TRUE,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
INSERT INTO companies (
        id,
        name,
        admin_id,
        wallet_id,
        deducted_percentage
    )
values (
        1,
        'Test Company',
        2,
        3,
        0.1
    );
INSERT INTO wallets (
        id,
        balance,
        is_withdraw,
        is_bettable,
        is_transferable,
        user_id,
        is_active,
        type
        created_at,
        updated_at
    )
VALUES (
        4,
        10000,
        TRUE,
        TRUE,
        TRUE,
        2,
        TRUE,
        
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
INSERT INTO branches (
        id,
        name,
        location,
        wallet_id,
        branch_manager_id,
        company_id,
        is_self_owned,
        profit_percent,
        created_at,
        updated_at
    )
values (
        1,
        'Test Branch',
        'Addis Ababa',
        4,
        2,
        1,
        TRUE,
        0.1,
        CURRENT_TIMESTAMP,
        CURRENT_TIMESTAMP
    );
COMMIT;