> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Koleksi Users

`User` mewakili satu akun pengguna dalam sistem Overleaf. Koleksi ini menyimpan data autentikasi, feature flag, preferensi editor, izin akses, dan metadata aktivitas.

#### Identitas Inti & Autentikasi

* `_id`: ObjectId MongoDB unik milik pengguna.
* `email` / `emails`: Email utama dan catatan riwayat email.
* `hashedPassword`: Kata sandi yang di-hash dengan BCrypt dan digunakan untuk autentikasi lokal.
* `first_name` / `last_name`: Kolom nama profil pengguna.
* `role` / `isAdmin` / `adminRoles`: Flag peran dan hak istimewa administratif.
* `twoFactorAuthentication`: Konfigurasi autentikasi dua faktor (jika diaktifkan).
* `samlIdentifiers` / `thirdPartyIdentifiers`: Keterikatan dengan penyedia identitas eksternal.

#### Status & Siklus Hidup Akun

* `signUpDate`: Stempel waktu pembuatan akun.
* `holdingAccount`: Apakah akun sedang menunggu konfirmasi atau dibatasi.
* `must_reconfirm`: Menunjukkan apakah pengguna harus mengonfirmasi ulang email-nya.
* `lastPrimaryEmailCheck`: Waktu terakhir email utama divalidasi.

#### Pelacakan Login & Aktivitas

* `lastLoginIp`: Alamat IP dari login terakhir yang berhasil.
* `loginCount`: Jumlah total login yang berhasil.
* `loginEpoch`: Penghitung internal untuk sesi login.
* `lastLoggedIn`: Stempel waktu login terakhir.
* `lastActive`: Stempel waktu aktivitas terakhir yang tercatat.
* `lastFailedLogin`: Stempel waktu percobaan login gagal terakhir.

#### Preferensi Editor (`ace`)

Mendefinisikan preferensi pengguna untuk editor online:

* `theme` / `overallTheme`: Tema editor dan UI.
* `fontSize`: Ukuran font editor.
* `autoComplete`, `autoPairDelimiters`: Fitur bantuan penyuntingan.
* `spellCheckLanguage`: Bahasa yang digunakan untuk pemeriksaan ejaan.
* `pdfViewer`: Backend penampil PDF yang dipilih.
* `syntaxValidation`, `mathPreview`, `breadcrumbs`: Fitur UX editor.
* `enableNewEditor`: Apakah UI editor baru diaktifkan.

#### Feature Flag & Batasan (`features`)

Mengendalikan ketersediaan fungsi untuk pengguna:

* `collaborators`: Jumlah maksimum kolaborator (`-1` = tidak terbatas).
* `versioning`, `trackChanges`: Fitur riwayat dan pelacakan perubahan.
* `dropbox`, `github`, `gitBridge`: Ketersediaan integrasi eksternal.
* `compileTimeout`: Waktu kompilasi maksimum (detik).
* `compileGroup`: Grup sumber daya kompilasi yang ditetapkan.
* `aiErrorAssistant`: Flag asisten error kompilasi berbasis AI.

#### Kontrol Akses & Izin Staf (`staffAccess`)

Mendefinisikan hak akses staf atau penerbit secara terperinci:

* Izin metrik dan manajemen untuk penerbit, institusi, grup, admin, dan eksperimen.

#### Pendaftaran & Integrasi

* `enrollment.sso`: Pendaftaran SSO yang terhubung.
* `refProviders`: Integrasi penyedia referensi.
* `writefull`: Status akun asisten penulisan Writefull.
* `dsMobileApp`: Konfigurasi aplikasi seluler (jika ada).

#### Program & Eksperimen

* `alphaProgram` / `betaProgram` / `labsProgram`: Partisipasi dalam program akses awal.
* `labsExperiments`: Fitur eksperimental yang diaktifkan.
* `awareOfV2`: Apakah pengguna telah mengetahui editor V2.

#### Referral & Tutorial

* `referal_id`, `refered_users`, `refered_user_count`: Pelacakan referral.
* `completedTutorials`: Kemajuan tutorial orientasi dan fitur.

***

Berikut adalah contoh nyata User Overleaf.

<Accordion title="Contoh User">
  ```json5 theme={null}
  {
      _id: ObjectId('69661f10432ad80d8a7de39d'),
      enrollment: {
          sso: []
      },
      staffAccess: {
          publisherMetrics: false,
          publisherManagement: false,
          institutionMetrics: false,
          institutionManagement: false,
          groupMetrics: false,
          groupManagement: false,
          adminMetrics: false,
          splitTestMetrics: false,
          splitTestManagement: false
      },
      ace: {
          mode: 'none',
          theme: 'textmate',
          overallTheme: 'light-',
          fontSize: 12,
          autoComplete: true,
          autoPairDelimiters: true,
          spellCheckLanguage: 'en',
          pdfViewer: 'pdfjs',
          mathPreview: true,
          breadcrumbs: true,
          referencesSearchMode: 'advanced',
          syntaxValidation: true,
          enableNewEditor: false
      },
      features: {
          collaborators: -1,
          versioning: true,
          dropbox: true,
          github: true,
          gitBridge: true,
          compileTimeout: 180,
          compileGroup: 'standard',
          references: true,
          trackChanges: true,
          aiErrorAssistant: false
      },
      refProviders: {},
      writefull: {
          enabled: null,
          autoCreatedAccount: false,
          isPremium: false,
          premiumSource: null
      },
      aiErrorAssistant: {
          enabled: true
      },
      overleaf: {},
      twoFactorAuthentication: {},
      dsMobileApp: {},
      email: 'admin@overleaf.com',
      first_name: 'admin',
      role: '',
      institution: '',
      isAdmin: true,
      adminRoles: [],
      lastLoginIp: '172.19.0.2',
      loginCount: 14,
      holdingAccount: false,
      must_reconfirm: false,
      refered_users: [],
      refered_user_count: 0,
      alphaProgram: false,
      betaProgram: false,
      labsProgram: false,
      labsExperiments: [],
      awareOfV2: false,
      samlIdentifiers: [],
      thirdPartyIdentifiers: [],
      emails: [
          {
              email: 'admin@overleaf.com',
              createdAt: ISODate('2026-01-15T07:53:24.276Z'),
              reversedHostname: 'moc.faelrevo'
          }
      ],
      signUpDate: ISODate('2026-01-13T10:31:44.786Z'),
      featuresOverrides: [],
      referal_id: 'ncbyrxrr6rrfQzgp',
      __v: 0,
      hashedPassword: '$2a$12$bkfRN7zw27mwaFpUbnSsC.naeFoMAwoRxU0qk7dlPH2obhj8jx.lK',
      loginEpoch: 18,
      lastLoggedIn: ISODate('2026-01-19T05:09:01.075Z'),
      lastActive: ISODate('2026-01-19T05:06:43.145Z'),
      last_name: 'user',
      lastPrimaryEmailCheck: ISODate('2026-01-15T07:53:24.283Z'),
      featuresUpdatedAt: ISODate('2026-01-15T07:53:24.305Z'),
      completedTutorials: {
          'ide-redesign-beta-intro': {
              state: 'completed',
              updatedAt: ISODate('2026-01-18T10:55:18.095Z')
          }
      },
      lastFailedLogin: ISODate('2026-01-19T05:08:53.241Z')
  }
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.