# WBK Security

Security package sederhana untuk validasi user dan manajemen database bot dengan integrasi Supabase.

## 🚀 Fitur
- Validasi username dan password
- Pendaftaran user baru dan pendaftaran IP
- Manajemen akun (reset password, reset nomor, dan hapus akun)
- Log sistem dengan format yang lebih informatif
- Integrasi dengan Supabase sebagai database backend

## 📦 Instalasi
```bash
npm install @wbagazk/wbk-security
```

## 🔧 Penggunaan

### Validasi User
```javascript
const { login } = require('@wbagazk/wbk-security');

async function loginUser() {
  try {
    const number = await login('username', 'password');
    console.log(`Login berhasil untuk nomor: ${number}`);
  } catch (error) {
    console.error('Login gagal:', error.message);
  }
}

loginUser();
```

### Daftar User Baru
```javascript
const { register } = require('@wbagazk/wbk-security');

async function registerUser() {
  try {
    await register('newUser', 'password123', '6281234567890');
    console.log('User berhasil terdaftar!');
  } catch (error) {
    console.error('Registrasi gagal:', error.message);
  }
}

registerUser();
```

### Pendaftaran IP
```javascript
const { registerIP } = require('@wbagazk/wbk-security');

async function daftarIP() {
  try {
    await registerIP('192.168.1.1');
    console.log('IP berhasil terdaftar!');
  } catch (error) {
    console.error('Pendaftaran IP gagal:', error.message);
  }
}

daftarIP();
```

### Reset Password
```javascript
const { resetPassword } = require('@wbagazk/wbk-security');

async function ubahPassword() {
  try {
    await resetPassword('username', 'oldPassword', 'newPassword');
    console.log('Password berhasil diubah!');
  } catch (error) {
    console.error('Gagal mengubah password:', error.message);
  }
}

ubahPassword();
```

### Hapus User
```javascript
const { deleteUser } = require('@wbagazk/wbk-security');

async function hapusUser() {
  try {
    await deleteUser('username', 'password');
    console.log('User berhasil dihapus!');
  } catch (error) {
    console.error('Gagal menghapus user:', error.message);
  }
}

hapusUser();
```

### Pairing Kode
```javascript
const { pairings } = require('@wbagazk/wbk-security');

async function pairingUser() {
  try {
    const code = await pairings(wbkInstance, questionFunction);
    console.log(`Kode pairing: ${code}`);
  } catch (error) {
    console.error('Gagal mendapatkan kode pairing:', error.message);
  }
}

pairingUser();
```

## 🐞 Laporan Bug
Laporkan bug di [Issues](https://github.com/wbagazk/@wbagazk/wbk-security/issues).

