nohup: ignoring input

🚀 Server running in production mode on port 5000
📍 API URL: http://localhost:5000
🏥 Health Check: http://localhost:5000/health
📚 Documentation: http://localhost:5000/

✨ Server ready to accept requests!

🔄 Attempting MongoDB connection...
🔗 Mongoose connected to MongoDB
✅ MongoDB Connected: undefined
📊 Database: desa-kiawa-dua
ValidationError: The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false (default). This could indicate a misconfiguration which would prevent express-rate-limit from accurately identifying users. See https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/ for more information.
    at Object.xForwardedForHeader (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:157:13)
    at wrappedValidations.<computed> [as xForwardedForHeader] (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:369:22)
    at Object.keyGenerator (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:630:20)
    at file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:682:32
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:663:5 {
  code: 'ERR_ERL_UNEXPECTED_X_FORWARDED_FOR',
  help: 'https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/'
}
ValidationError: The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false (default). This could indicate a misconfiguration which would prevent express-rate-limit from accurately identifying users. See https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/ for more information.
    at Object.xForwardedForHeader (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:157:13)
    at wrappedValidations.<computed> [as xForwardedForHeader] (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:369:22)
    at Object.keyGenerator (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:630:20)
    at file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:682:32
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:663:5 {
  code: 'ERR_ERL_UNEXPECTED_X_FORWARDED_FOR',
  help: 'https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/'
}
📸 Creating galeri...
Request body: [Object: null prototype] {
  title: 'POSYANDU & POSBINDU BULAN JANUARI 2026',
  description: 'Kegiatan Posyandu & Posbindu Bulan Januari 2026 yang digelar oleh Kader Kesehatan Desa Kiawa Dua bekerjasama dengan Petugas Kesehatan Puskesmas Kawangkoan',
  category: 'Kegiatan Desa',
  date: '2026-01-14',
  photographer: 'Admin'
}
Request file: {
  fieldname: 'image',
  originalname: '615789290_122174748176397005_4775232791242676372_n.jpg',
  encoding: '7bit',
  mimetype: 'image/jpeg',
  destination: '/home3/kia44996/backend/uploads/galeri/',
  filename: '615789290_122174748176397005_4775232791242676372_n-1768371230314-332445161.jpg',
  path: '/home3/kia44996/backend/uploads/galeri/615789290_122174748176397005_4775232791242676372_n-1768371230314-332445161.jpg',
  size: 464934
}
✅ Galeri created: {
  title: 'POSYANDU & POSBINDU BULAN JANUARI 2026',
  description: 'Kegiatan Posyandu & Posbindu Bulan Januari 2026 yang digelar oleh Kader Kesehatan Desa Kiawa Dua bekerjasama dengan Petugas Kesehatan Puskesmas Kawangkoan',
  image: '/uploads/galeri/615789290_122174748176397005_4775232791242676372_n-1768371230314-332445161.jpg',
  category: 'Kegiatan Desa',
  date: 2026-01-14T00:00:00.000Z,
  photographer: 'Admin',
  isPublished: true,
  _id: new ObjectId("6967341e3328689f9a6939f3"),
  createdAt: 2026-01-14T06:13:50.331Z,
  updatedAt: 2026-01-14T06:13:50.331Z,
  __v: 0
}
🔄 Updating perangkat: 6931443395aafe224548ab1f
Request body: [Object: null prototype] {
  nama: 'Oldy Jemmy Suak S.IP',
  jabatan: 'Kepala Desa',
  isActive: 'true'
}
Request file: {
  fieldname: 'foto',
  originalname: 'WhatsApp Image 2026-01-14 at 14.07.24.jpeg',
  encoding: '7bit',
  mimetype: 'image/jpeg',
  destination: '/home3/kia44996/backend/uploads/struktur/',
  filename: 'WhatsApp-Image-2026-01-14-at-14.07.24-1768371444064-75569075.jpeg',
  path: '/home3/kia44996/backend/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.07.24-1768371444064-75569075.jpeg',
  size: 109270
}
🗑️ Old photo deleted: /home3/kia44996/backend/uploads/struktur/Screenshot-2025-11-06-022931-1764844715639-20996467.png
✅ Perangkat updated: {
  _id: new ObjectId("6931443395aafe224548ab1f"),
  nama: 'Oldy Jemmy Suak S.IP',
  jabatan: 'Kepala Desa',
  foto: '/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.07.24-1768371444064-75569075.jpeg',
  nip: '',
  kontak: '',
  urutan: 0,
  isActive: true,
  createdAt: 2025-12-04T08:20:03.958Z,
  updatedAt: 2026-01-14T06:17:24.079Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'CAROLINA ANASTASIA BERNADETTE IGIR',
  jabatan: 'KASIE. PELAYANAN',
  isActive: 'true'
}
Request file: {
  fieldname: 'foto',
  originalname: 'WhatsApp Image 2026-01-14 at 14.17.15.jpeg',
  encoding: '7bit',
  mimetype: 'image/jpeg',
  destination: '/home3/kia44996/backend/uploads/struktur/',
  filename: 'WhatsApp-Image-2026-01-14-at-14.17.15-1768371557512-920188031.jpeg',
  path: '/home3/kia44996/backend/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.17.15-1768371557512-920188031.jpeg',
  size: 80813
}
✅ Perangkat created: {
  nama: 'CAROLINA ANASTASIA BERNADETTE IGIR',
  jabatan: 'KASIE. PELAYANAN',
  foto: '/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.17.15-1768371557512-920188031.jpeg',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696735653328689f9a693a03"),
  createdAt: 2026-01-14T06:19:17.519Z,
  updatedAt: 2026-01-14T06:19:17.519Z,
  __v: 0
}
🔄 Updating perangkat: 6931443395aafe224548ab1f
Request body: [Object: null prototype] {
  nama: 'OLDY JEMMY SUAK, S.IP',
  jabatan: 'HUKUM TUA',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat updated: {
  _id: new ObjectId("6931443395aafe224548ab1f"),
  nama: 'OLDY JEMMY SUAK, S.IP',
  jabatan: 'HUKUM TUA',
  foto: '/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.07.24-1768371444064-75569075.jpeg',
  nip: '',
  kontak: '',
  urutan: 0,
  isActive: true,
  createdAt: 2025-12-04T08:20:03.958Z,
  updatedAt: 2026-01-14T06:19:43.173Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'ALNI HENDRIK HENLI KEMBAU',
  jabatan: 'KASIE. PEMERINTAHAN',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'ALNI HENDRIK HENLI KEMBAU',
  jabatan: 'KASIE. PEMERINTAHAN',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696735cc3328689f9a693a0d"),
  createdAt: 2026-01-14T06:21:00.787Z,
  updatedAt: 2026-01-14T06:21:00.787Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'SILVANA PANAMBUNAN',
  jabatan: 'SEKRETARIS DESA',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'SILVANA PANAMBUNAN',
  jabatan: 'SEKRETARIS DESA',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696735f33328689f9a693a12"),
  createdAt: 2026-01-14T06:21:39.188Z,
  updatedAt: 2026-01-14T06:21:39.188Z,
  __v: 0
}
ValidationError: The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false (default). This could indicate a misconfiguration which would prevent express-rate-limit from accurately identifying users. See https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/ for more information.
    at Object.xForwardedForHeader (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:157:13)
    at wrappedValidations.<computed> [as xForwardedForHeader] (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:369:22)
    at Object.keyGenerator (file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:630:20)
    at file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:682:32
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///home3/kia44996/backend/node_modules/express-rate-limit/dist/index.mjs:663:5 {
  code: 'ERR_ERL_UNEXPECTED_X_FORWARDED_FOR',
  help: 'https://express-rate-limit.github.io/ERR_ERL_UNEXPECTED_X_FORWARDED_FOR/'
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'CONNY TINEKE MENGI',
  jabatan: 'KEPALA URUSAN KEUANGAN',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'CONNY TINEKE MENGI',
  jabatan: 'KEPALA URUSAN KEUANGAN',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696786e93328689f9a693ae4"),
  createdAt: 2026-01-14T12:07:05.460Z,
  updatedAt: 2026-01-14T12:07:05.460Z,
  __v: 0
}
🔄 Updating perangkat: 696735cc3328689f9a693a0d
Request body: [Object: null prototype] {
  nama: 'ALNI HENDRIK HENLI KEMBAU',
  jabatan: 'KEPALA SEKSI PEMERINTAHAN',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat updated: {
  _id: new ObjectId("696735cc3328689f9a693a0d"),
  nama: 'ALNI HENDRIK HENLI KEMBAU',
  jabatan: 'KEPALA SEKSI PEMERINTAHAN',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 1,
  isActive: true,
  createdAt: 2026-01-14T06:21:00.787Z,
  updatedAt: 2026-01-14T12:07:26.324Z,
  __v: 0
}
🔄 Updating perangkat: 696735653328689f9a693a03
Request body: [Object: null prototype] {
  nama: 'CAROLINA ANASTASIA BERNADETTE IGIR',
  jabatan: 'KEPALA SEKSI PELAYANAN',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat updated: {
  _id: new ObjectId("696735653328689f9a693a03"),
  nama: 'CAROLINA ANASTASIA BERNADETTE IGIR',
  jabatan: 'KEPALA SEKSI PELAYANAN',
  foto: '/uploads/struktur/WhatsApp-Image-2026-01-14-at-14.17.15-1768371557512-920188031.jpeg',
  urutan: 3,
  isActive: true,
  createdAt: 2026-01-14T06:19:17.519Z,
  updatedAt: 2026-01-14T12:07:54.073Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'PREISI JOHANIS SUMAKUL',
  jabatan: 'KEPALA JAGA I',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'PREISI JOHANIS SUMAKUL',
  jabatan: 'KEPALA JAGA I',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("6967873a3328689f9a693aff"),
  createdAt: 2026-01-14T12:08:26.749Z,
  updatedAt: 2026-01-14T12:08:26.749Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'RICHFAL MARVEL SENDUK',
  jabatan: 'MEWETENG JAGA I',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'RICHFAL MARVEL SENDUK',
  jabatan: 'MEWETENG JAGA I',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("6967875c3328689f9a693b04"),
  createdAt: 2026-01-14T12:09:00.947Z,
  updatedAt: 2026-01-14T12:09:00.947Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'DEDDY YUANTO RUMONDOR',
  jabatan: 'MEWETENG JAGA II',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'DEDDY YUANTO RUMONDOR',
  jabatan: 'MEWETENG JAGA II',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("6967876f3328689f9a693b09"),
  createdAt: 2026-01-14T12:09:19.289Z,
  updatedAt: 2026-01-14T12:09:19.289Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'DENLY CHINLY SULKI RUMONDOR',
  jabatan: 'MEWETENG JAGA III',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'DENLY CHINLY SULKI RUMONDOR',
  jabatan: 'MEWETENG JAGA III',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696787b43328689f9a693b0e"),
  createdAt: 2026-01-14T12:10:28.178Z,
  updatedAt: 2026-01-14T12:10:28.178Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'MEIGIN RAKIAN',
  jabatan: 'MEWETENG JAGA IV',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'MEIGIN RAKIAN',
  jabatan: 'MEWETENG JAGA IV',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696787c53328689f9a693b13"),
  createdAt: 2026-01-14T12:10:45.418Z,
  updatedAt: 2026-01-14T12:10:45.418Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'ENGLIN DEVIKE LANGI',
  jabatan: 'KEPALA JAGA II',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'ENGLIN DEVIKE LANGI',
  jabatan: 'KEPALA JAGA II',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696787d83328689f9a693b18"),
  createdAt: 2026-01-14T12:11:04.098Z,
  updatedAt: 2026-01-14T12:11:04.098Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'FRANSISKA NANSI MERSI WOROTITJAN',
  jabatan: 'KEPALA JAGA III',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'FRANSISKA NANSI MERSI WOROTITJAN',
  jabatan: 'KEPALA JAGA III',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696787e83328689f9a693b1d"),
  createdAt: 2026-01-14T12:11:20.951Z,
  updatedAt: 2026-01-14T12:11:20.951Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'ADRIAN JOIKE REGAR',
  jabatan: 'KEPALA JAGA IV',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'ADRIAN JOIKE REGAR',
  jabatan: 'KEPALA JAGA IV',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("696787fe3328689f9a693b22"),
  createdAt: 2026-01-14T12:11:42.123Z,
  updatedAt: 2026-01-14T12:11:42.123Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'VERA L. LUMANAW',
  jabatan: 'KAUR UMUM',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'VERA L. LUMANAW',
  jabatan: 'KAUR UMUM',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("6969f5c73328689f9a69403f"),
  createdAt: 2026-01-16T08:24:39.430Z,
  updatedAt: 2026-01-16T08:24:39.430Z,
  __v: 0
}
🔄 Updating perangkat: 6969f5c73328689f9a69403f
Request body: [Object: null prototype] {
  nama: 'VERA L. LUMANAW',
  jabatan: 'KEPALA URUSAN UMUM',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat updated: {
  _id: new ObjectId("6969f5c73328689f9a69403f"),
  nama: 'VERA L. LUMANAW',
  jabatan: 'KEPALA URUSAN UMUM',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 4,
  isActive: true,
  createdAt: 2026-01-16T08:24:39.430Z,
  updatedAt: 2026-01-16T08:25:29.702Z,
  __v: 0
}
👤 Creating perangkat...
Request body: [Object: null prototype] {
  nama: 'REFINDO K. PANAMBUNAN',
  jabatan: 'KEPALA SEKSI KESEJAHTERAAN',
  isActive: 'true'
}
Request file: undefined
✅ Perangkat created: {
  nama: 'REFINDO K. PANAMBUNAN',
  jabatan: 'KEPALA SEKSI KESEJAHTERAAN',
  foto: 'https://via.placeholder.com/300x400?text=Foto+Perangkat',
  urutan: 0,
  isActive: true,
  _id: new ObjectId("6969f61c3328689f9a694094"),
  createdAt: 2026-01-16T08:26:04.681Z,
  updatedAt: 2026-01-16T08:26:04.681Z,
  __v: 0
}
