unipo-ui 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/index.mjs +53 -4
- package/dist/admisi-YCOE3DMH.cjs +20 -0
- package/dist/admisi-YXCTBECZ.js +11 -0
- package/dist/akademik-PJGL6MSP.cjs +20 -0
- package/dist/akademik-TPDFEZGF.js +11 -0
- package/dist/akses-AUPQD6YN.cjs +20 -0
- package/dist/akses-V5XIMBWT.js +11 -0
- package/dist/arsip-2T7IEION.cjs +20 -0
- package/dist/arsip-LDRV7FYX.js +11 -0
- package/dist/cbt-4N6COVIN.js +11 -0
- package/dist/cbt-GMQSR7TP.cjs +20 -0
- package/dist/chunk-34OKV63Q.js +122 -0
- package/dist/chunk-34OKV63Q.js.map +1 -0
- package/dist/chunk-3O5ELKBH.cjs +18 -0
- package/dist/chunk-3O5ELKBH.cjs.map +1 -0
- package/dist/chunk-4BQOABRV.js +462 -0
- package/dist/chunk-4BQOABRV.js.map +1 -0
- package/dist/{chunk-DEF5CA7C.cjs → chunk-5VNCBW4R.cjs} +282 -1165
- package/dist/chunk-5VNCBW4R.cjs.map +1 -0
- package/dist/{chunk-SJ4DJOMZ.js → chunk-7AJ4LW5H.js} +163 -1019
- package/dist/chunk-7AJ4LW5H.js.map +1 -0
- package/dist/chunk-JASW45YF.cjs +510 -0
- package/dist/chunk-JASW45YF.cjs.map +1 -0
- package/dist/chunk-JSUHAYQ4.js +15 -0
- package/dist/chunk-JSUHAYQ4.js.map +1 -0
- package/dist/chunk-LN6HZMPI.js +1006 -0
- package/dist/chunk-LN6HZMPI.js.map +1 -0
- package/dist/chunk-LNJTDEQR.cjs +1937 -0
- package/dist/chunk-LNJTDEQR.cjs.map +1 -0
- package/dist/chunk-MKQEH7QS.cjs +1058 -0
- package/dist/chunk-MKQEH7QS.cjs.map +1 -0
- package/dist/chunk-TAKLMRU7.cjs +150 -0
- package/dist/chunk-TAKLMRU7.cjs.map +1 -0
- package/dist/chunk-TYCRRYCQ.js +1843 -0
- package/dist/chunk-TYCRRYCQ.js.map +1 -0
- package/dist/crm-C4XGSG6O.js +11 -0
- package/dist/crm-LTVCDNMK.cjs +20 -0
- package/dist/dasbor-OJLMSFTF.cjs +20 -0
- package/dist/dasbor-Y3UPFYFE.js +11 -0
- package/dist/edom-3GZUUB7H.cjs +20 -0
- package/dist/edom-K4Y2NV4K.js +11 -0
- package/dist/fakultas-DJRUVJBV.js +11 -0
- package/dist/fakultas-VVAQOPUX.cjs +20 -0
- package/dist/filter-D54KALbB.d.cts +436 -0
- package/dist/filter-D54KALbB.d.ts +436 -0
- package/dist/helpdesk-AWVC7BPE.cjs +20 -0
- package/dist/helpdesk-BAOXAU6G.js +11 -0
- package/dist/humas-7BMMJ3WF.js +11 -0
- package/dist/humas-H56JFUW6.cjs +20 -0
- package/dist/ikon.cjs +125 -0
- package/dist/ikon.cjs.map +1 -0
- package/dist/ikon.d.cts +140 -0
- package/dist/ikon.d.ts +140 -0
- package/dist/ikon.js +6 -0
- package/dist/ikon.js.map +1 -0
- package/dist/iku-7JLF2NIH.js +11 -0
- package/dist/iku-F47ZLMYJ.cjs +20 -0
- package/dist/index.cjs +544 -257
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +192 -2
- package/dist/index.d.ts +192 -2
- package/dist/index.js +126 -4
- package/dist/index.js.map +1 -1
- package/dist/induk-BGTGKRLL.js +11 -0
- package/dist/induk-DLYDMZAM.cjs +20 -0
- package/dist/integrasi-4VXNGA3V.cjs +20 -0
- package/dist/integrasi-IP3WWDO7.js +11 -0
- package/dist/kalender-DGQDGJCL.cjs +20 -0
- package/dist/kalender-FGGUBYKZ.js +11 -0
- package/dist/karier-H3HBFCQQ.js +11 -0
- package/dist/karier-QTU2P5YD.cjs +20 -0
- package/dist/katalog.cjs +1709 -0
- package/dist/katalog.cjs.map +1 -0
- package/dist/katalog.d.cts +645 -0
- package/dist/katalog.d.ts +645 -0
- package/dist/katalog.js +1626 -0
- package/dist/katalog.js.map +1 -0
- package/dist/kelulusan-BHFQM5N4.cjs +20 -0
- package/dist/kelulusan-ZR7CM6I5.js +11 -0
- package/dist/kemahasiswaan-EINWXAY7.cjs +20 -0
- package/dist/kemahasiswaan-NH2LEDH7.js +11 -0
- package/dist/kerjasama-FAOHZCML.js +11 -0
- package/dist/kerjasama-TXWJOU4Y.cjs +20 -0
- package/dist/keu-4TXF4FEP.cjs +20 -0
- package/dist/keu-SD7UOCDB.js +11 -0
- package/dist/kurikulum-SRO7TJYI.cjs +20 -0
- package/dist/kurikulum-XT7PZJOK.js +11 -0
- package/dist/layanan-RQ2AWCQ5.cjs +20 -0
- package/dist/layanan-Y6WUCSD2.js +11 -0
- package/dist/lms-5JYOSLBI.cjs +20 -0
- package/dist/lms-NTXMSHG2.js +11 -0
- package/dist/lppm-7DH7PRF3.cjs +20 -0
- package/dist/lppm-UXYGIOIF.js +11 -0
- package/dist/master-GKTTAKLF.cjs +20 -0
- package/dist/master-ZG4SPPDU.js +11 -0
- package/dist/mbkm-OGR72BTB.js +11 -0
- package/dist/mbkm-URKJHUIQ.cjs +20 -0
- package/dist/notifikasi-FMA26M4I.js +11 -0
- package/dist/notifikasi-QDCYIX7G.cjs +20 -0
- package/dist/pddikti-RJVYY2J4.cjs +20 -0
- package/dist/pddikti-VF2PXDKA.js +11 -0
- package/dist/{content-DaJPx5LX.d.cts → pemeliharaan-D5S-1lqW.d.ts} +38 -434
- package/dist/{content-DaJPx5LX.d.ts → pemeliharaan-Dr0HSxvZ.d.cts} +38 -434
- package/dist/perpustakaan-5RL33XG2.js +11 -0
- package/dist/perpustakaan-JXZW43MJ.cjs +20 -0
- package/dist/pilih-BEes_D3n.d.cts +205 -0
- package/dist/pilih-CEKqXMUS.d.ts +205 -0
- package/dist/pmb-EGTWW2ZH.cjs +20 -0
- package/dist/pmb-G7EAFJ3R.js +11 -0
- package/dist/portal-EI7TXN7H.cjs +20 -0
- package/dist/portal-MMUYX3RA.js +11 -0
- package/dist/portal-api-BJLO6AGI.js +11 -0
- package/dist/portal-api-Q6B3X6ZV.cjs +20 -0
- package/dist/profil-46FV46VH.cjs +20 -0
- package/dist/profil-4BIXIM6D.js +11 -0
- package/dist/referensi-HNYOJGNX.js +11 -0
- package/dist/referensi-VOT5BRCL.cjs +20 -0
- package/dist/registry.json +606 -4
- package/dist/repositori-2MJ43NXM.js +11 -0
- package/dist/repositori-KFXVJB7B.cjs +20 -0
- package/dist/rpl-2ZXHNSPF.js +11 -0
- package/dist/rpl-YF5MV2YA.cjs +20 -0
- package/dist/sarpras-CQ7QKVUN.js +11 -0
- package/dist/sarpras-XGPHHFCG.cjs +20 -0
- package/dist/scss/components/_animasi.scss +280 -0
- package/dist/scss/components/_ikon.scss +249 -0
- package/dist/scss/components/_katalog.scss +662 -0
- package/dist/scss/components/_platform.scss +364 -0
- package/dist/scss/index.scss +4 -0
- package/dist/sdm-N6LE66PP.cjs +20 -0
- package/dist/sdm-QKBXH3JF.js +11 -0
- package/dist/siakad.cjs +1389 -2915
- package/dist/siakad.cjs.map +1 -1
- package/dist/siakad.d.cts +31 -196
- package/dist/siakad.d.ts +31 -196
- package/dist/siakad.js +446 -2194
- package/dist/siakad.js.map +1 -1
- package/dist/spmi-J37NEYIU.js +11 -0
- package/dist/spmi-N6EU7KNC.cjs +20 -0
- package/dist/tracer-G6DDXVXC.cjs +20 -0
- package/dist/tracer-M3FTNWBG.js +11 -0
- package/dist/ui-unipo.css +1650 -0
- package/dist/ui-unipo.min.css +1 -1
- package/package.json +25 -3
- package/src/components/animasi.tsx +186 -0
- package/src/components/modal.tsx +113 -0
- package/src/components/overlays.tsx +6 -1
- package/src/components/pemeliharaan.tsx +152 -0
- package/src/components/platform.tsx +94 -0
- package/src/ikon/ilustrasi.tsx +283 -0
- package/src/ikon/index.ts +7 -0
- package/src/ikon/kotak.tsx +30 -0
- package/src/ikon/unipo.tsx +326 -0
- package/src/index.ts +8 -0
- package/src/katalog/aturan.ts +488 -0
- package/src/katalog/data/id.ts +749 -0
- package/src/katalog/data/indeks.json +1 -0
- package/src/katalog/data/muat.ts +47 -0
- package/src/katalog/ikon.tsx +11 -0
- package/src/katalog/index.ts +13 -0
- package/src/katalog/isian.tsx +372 -0
- package/src/katalog/katalog.tsx +138 -0
- package/src/katalog/kelola.tsx +620 -0
- package/src/katalog/modul.tsx +336 -0
- package/src/katalog/tampil.tsx +147 -0
- package/src/katalog/tipe.ts +141 -0
- package/src/katalog/wizard.tsx +155 -0
- package/src/lib/platform.ts +91 -0
- package/src/siakad/index.ts +1 -0
- package/src/siakad/pemeliharaan.tsx +118 -0
- package/src/siakad/provider.tsx +2 -0
- package/dist/chunk-DEF5CA7C.cjs.map +0 -1
- package/dist/chunk-SJ4DJOMZ.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
// src/katalog/data/modul/arsip.json
|
|
7
|
+
var key = "arsip";
|
|
8
|
+
var resources = [{ id: "/v1/arsip/bagikan", tag: "Arsip: Berbagi", title: "Berbagi", base: "/v1/arsip/bagikan", item: "/v1/arsip/bagikan/{id}", key: "id", del: "deleteArsipBagikanById", actions: [], children: [] }, { id: "/v1/arsip/berkas", tag: "Arsip: Berkas", title: "Berkas", base: "/v1/arsip/berkas", item: "/v1/arsip/berkas/{id}", key: "id", list: "getArsipBerkas", create: "postArsipBerkas", get: "getArsipBerkasById", update: "putArsipBerkasById", del: "deleteArsipBerkasById", actions: ["postArsipBerkasByIdTutup", "postArsipBerkasByIdBuka", "postArsipBerkasByIdMasukkan", "postArsipBerkasByIdKeluarkan"], children: ["/v1/arsip/berkas/{ref}/bagikan"] }, { id: "/v1/arsip/berkas/{ref}/bagikan", tag: "Arsip: Berbagi", title: "Berbagi berkas", base: "/v1/arsip/berkas/{ref}/bagikan", list: "getArsipBerkasByRefBagikan", create: "postArsipBerkasByRefBagikan", actions: [], children: [], parent: "/v1/arsip/berkas" }, { id: "/v1/arsip/disposisi", tag: "Arsip: Disposisi", title: "Kotak disposisi saya", base: "/v1/arsip/disposisi", item: "/v1/arsip/disposisi/{id}", key: "id", list: "getArsipDisposisi", get: "getArsipDisposisiById", actions: ["postArsipDisposisiByIdBaca", "postArsipDisposisiByIdProses", "postArsipDisposisiByIdSelesai", "postArsipDisposisiByIdKembalikan"], children: ["/v1/arsip/disposisi/{ref}/file"] }, { id: "/v1/arsip/disposisi/{ref}/file", tag: "Arsip: File", title: "File disposisi", base: "/v1/arsip/disposisi/{ref}/file", list: "getArsipDisposisiByRefFile", create: "postArsipDisposisiByRefFile", actions: [], children: [], parent: "/v1/arsip/disposisi" }, { id: "/v1/arsip/dokumen", tag: "Arsip: Dokumen", title: "Dokumen", base: "/v1/arsip/dokumen", item: "/v1/arsip/dokumen/{ref}", key: "ref", list: "getArsipDokumen", create: "postArsipDokumen", get: "getArsipDokumenByRef", update: "putArsipDokumenByRef", del: "deleteArsipDokumenByRef", actions: ["postArsipDokumenByRefVerifikasi"], children: ["/v1/arsip/dokumen/{ref}/bagikan", "/v1/arsip/dokumen/{ref}/file"] }, { id: "/v1/arsip/dokumen/{ref}/bagikan", tag: "Arsip: Berbagi", title: "Berbagi dokumen", base: "/v1/arsip/dokumen/{ref}/bagikan", list: "getArsipDokumenByRefBagikan", create: "postArsipDokumenByRefBagikan", actions: [], children: [], parent: "/v1/arsip/dokumen" }, { id: "/v1/arsip/dokumen/{ref}/file", tag: "Arsip: File", title: "File dokumen", base: "/v1/arsip/dokumen/{ref}/file", list: "getArsipDokumenByRefFile", create: "postArsipDokumenByRefFile", actions: [], children: [], parent: "/v1/arsip/dokumen" }, { id: "/v1/arsip/file", tag: "Arsip: File", title: "File", base: "/v1/arsip/file", item: "/v1/arsip/file/{uuid}", key: "uuid", get: "getArsipFileByUuid", del: "deleteArsipFileByUuid", actions: ["getArsipFileByUuidUnduh"], children: [] }, { id: "/v1/arsip/jenis", tag: "Arsip: Master", title: "Jenis naskah dan dokumen", base: "/v1/arsip/jenis", item: "/v1/arsip/jenis/{id}", key: "id", list: "getArsipJenis", create: "postArsipJenis", update: "putArsipJenisById", del: "deleteArsipJenisById", actions: [], children: [] }, { id: "/v1/arsip/klasifikasi", tag: "Arsip: Master", title: "Klasifikasi arsip dan JRA", base: "/v1/arsip/klasifikasi", item: "/v1/arsip/klasifikasi/{id}", key: "id", list: "getArsipKlasifikasi", create: "postArsipKlasifikasi", update: "putArsipKlasifikasiById", del: "deleteArsipKlasifikasiById", actions: [], children: [] }, { id: "/v1/arsip/laporan/agenda", tag: "Arsip: Laporan", title: "Buku agenda surat", base: "/v1/arsip/laporan/agenda", list: "getArsipLaporanAgenda", actions: [], children: [] }, { id: "/v1/arsip/laporan/daftar-arsip", tag: "Arsip: Laporan", title: "Arsip aktif/inaktif", base: "/v1/arsip/laporan/daftar-arsip", list: "getArsipLaporanDaftarArsip", actions: [], children: [] }, { id: "/v1/arsip/log", tag: "Arsip: Laporan", title: "Log audit", base: "/v1/arsip/log", list: "getArsipLog", actions: [], children: [] }, { id: "/v1/arsip/lokasi", tag: "Arsip: Master", title: "Lokasi simpan fisik", base: "/v1/arsip/lokasi", item: "/v1/arsip/lokasi/{id}", key: "id", list: "getArsipLokasi", create: "postArsipLokasi", get: "getArsipLokasiById", update: "putArsipLokasiById", del: "deleteArsipLokasiById", actions: [], children: [] }, { id: "/v1/arsip/peminjaman", tag: "Arsip: Peminjaman", title: "Peminjaman", base: "/v1/arsip/peminjaman", item: "/v1/arsip/peminjaman/{id}", key: "id", list: "getArsipPeminjaman", create: "postArsipPeminjaman", get: "getArsipPeminjamanById", actions: ["postArsipPeminjamanByIdSetujui", "postArsipPeminjamanByIdTolak", "postArsipPeminjamanByIdSerahkan", "postArsipPeminjamanByIdKembalikan", "postArsipPeminjamanByIdBatalkan"], children: ["/v1/arsip/peminjaman/{ref}/file"] }, { id: "/v1/arsip/peminjaman/{ref}/file", tag: "Arsip: File", title: "File peminjaman", base: "/v1/arsip/peminjaman/{ref}/file", list: "getArsipPeminjamanByRefFile", create: "postArsipPeminjamanByRefFile", actions: [], children: [], parent: "/v1/arsip/peminjaman" }, { id: "/v1/arsip/penomoran", tag: "Arsip: Master", title: "Format penomoran", base: "/v1/arsip/penomoran", item: "/v1/arsip/penomoran/{id}", key: "id", list: "getArsipPenomoran", create: "postArsipPenomoran", get: "getArsipPenomoranById", update: "putArsipPenomoranById", del: "deleteArsipPenomoranById", actions: [], children: [] }, { id: "/v1/arsip/penyusutan", tag: "Arsip: Penyusutan", title: "Usulan penyusutan", base: "/v1/arsip/penyusutan", item: "/v1/arsip/penyusutan/{id}", key: "id", list: "getArsipPenyusutan", create: "postArsipPenyusutan", get: "getArsipPenyusutanById", actions: ["postArsipPenyusutanByIdSetujui", "postArsipPenyusutanByIdTolak", "postArsipPenyusutanByIdLaksanakan", "postArsipPenyusutanByIdBatalkan"], children: ["/v1/arsip/penyusutan/{ref}/file"] }, { id: "/v1/arsip/penyusutan/kandidat", tag: "Arsip: Penyusutan", title: "Arsip jatuh tempo penyusutan", base: "/v1/arsip/penyusutan/kandidat", list: "getArsipPenyusutanKandidat", actions: [], children: [] }, { id: "/v1/arsip/penyusutan/{ref}/file", tag: "Arsip: File", title: "File penyusutan", base: "/v1/arsip/penyusutan/{ref}/file", list: "getArsipPenyusutanByRefFile", create: "postArsipPenyusutanByRefFile", actions: [], children: [], parent: "/v1/arsip/penyusutan" }, { id: "/v1/arsip/petugas", tag: "Arsip: Master", title: "Master", base: "/v1/arsip/petugas", item: "/v1/arsip/petugas/{id}", key: "id", update: "putArsipPetugasById", del: "deleteArsipPetugasById", actions: [], children: [] }, { id: "/v1/arsip/saya/dokumen", tag: "Arsip: Dokumen", title: "Arsip pribadi saya", base: "/v1/arsip/saya/dokumen", list: "getArsipSayaDokumen", actions: [], children: [] }, { id: "/v1/arsip/saya/notifikasi", tag: "Arsip: Saya", title: "Notifikasi", base: "/v1/arsip/saya/notifikasi", list: "getArsipSayaNotifikasi", actions: [], children: [] }, { id: "/v1/arsip/surat", tag: "Arsip: Surat", title: "Surat", base: "/v1/arsip/surat", item: "/v1/arsip/surat/{ref}", key: "ref", list: "getArsipSurat", get: "getArsipSuratByRef", update: "putArsipSuratByRef", del: "deleteArsipSuratByRef", actions: ["postArsipSuratByRefAjukan", "postArsipSuratByRefSetujui", "postArsipSuratByRefTolak", "postArsipSuratByRefNomor", "postArsipSuratByRefKirim", "postArsipSuratByRefSelesai", "postArsipSuratByRefArsipkan", "postArsipSuratByRefBatalkan"], children: ["/v1/arsip/surat/{ref}/bagikan", "/v1/arsip/surat/{ref}/disposisi", "/v1/arsip/surat/{ref}/file"] }, { id: "/v1/arsip/surat-keluar", tag: "Arsip: Surat", title: "Surat keluar", base: "/v1/arsip/surat-keluar", list: "getArsipSuratKeluar", create: "postArsipSuratKeluar", actions: [], children: [] }, { id: "/v1/arsip/surat-masuk", tag: "Arsip: Surat", title: "Surat masuk", base: "/v1/arsip/surat-masuk", list: "getArsipSuratMasuk", create: "postArsipSuratMasuk", actions: [], children: [] }, { id: "/v1/arsip/surat/{ref}/bagikan", tag: "Arsip: Berbagi", title: "Berbagi surat", base: "/v1/arsip/surat/{ref}/bagikan", list: "getArsipSuratByRefBagikan", create: "postArsipSuratByRefBagikan", actions: [], children: [], parent: "/v1/arsip/surat" }, { id: "/v1/arsip/surat/{ref}/disposisi", tag: "Arsip: Disposisi", title: "Pohon disposisi surat", base: "/v1/arsip/surat/{ref}/disposisi", list: "getArsipSuratByRefDisposisi", create: "postArsipSuratByRefDisposisi", actions: [], children: [], parent: "/v1/arsip/surat" }, { id: "/v1/arsip/surat/{ref}/file", tag: "Arsip: File", title: "File surat", base: "/v1/arsip/surat/{ref}/file", list: "getArsipSuratByRefFile", create: "postArsipSuratByRefFile", actions: [], children: [], parent: "/v1/arsip/surat" }, { id: "/v1/arsip/template", tag: "Arsip: Master", title: "Templat surat", base: "/v1/arsip/template", item: "/v1/arsip/template/{id}", key: "id", list: "getArsipTemplate", create: "postArsipTemplate", get: "getArsipTemplateById", update: "putArsipTemplateById", del: "deleteArsipTemplateById", actions: ["postArsipTemplateByIdRender"], children: [] }, { id: "/v1/arsip/unit", tag: "Arsip: Master", title: "Unit pemilik arsip", base: "/v1/arsip/unit", item: "/v1/arsip/unit/{id}", key: "id", list: "getArsipUnit", create: "postArsipUnit", get: "getArsipUnitById", update: "putArsipUnitById", del: "deleteArsipUnitById", actions: [], children: ["/v1/arsip/unit/{id}/petugas"] }, { id: "/v1/arsip/unit/{id}/petugas", tag: "Arsip: Master", title: "Petugas unit", base: "/v1/arsip/unit/{id}/petugas", list: "getArsipUnitByIdPetugas", create: "postArsipUnitByIdPetugas", actions: [], children: [], parent: "/v1/arsip/unit" }, { id: "/v1/arsip/verifikasi", tag: "Arsip: Publik", title: "Publik", base: "/v1/arsip/verifikasi", item: "/v1/arsip/verifikasi/{kode}", key: "kode", get: "getArsipVerifikasiByKode", actions: [], children: [] }];
|
|
9
|
+
var ops = { getArsipVerifikasiByKode: { id: "getArsipVerifikasiByKode", m: "GET", path: "/v1/arsip/verifikasi/{kode}", tag: "Arsip: Publik", sum: "Cek keaslian surat keluar", ds: "Tanpa token. Untuk QR code/tautan di surat: menampilkan nomor, tanggal, perihal (disamarkan bila rahasia), unit, penandatangan, dan SHA-256 file utama. `sah=false` bila surat dibatalkan/belum terbit.", pub: 1, pa: [{ nm: "kode", in: "path", s: { t: "string" }, rq: 1, ds: "kode_verifikasi surat" }], r: "object", it: "Objek" }, getArsipReferensi: { id: "getArsipReferensi", m: "GET", path: "/v1/arsip/referensi", tag: "Arsip: Master", sum: "Pilihan nilai (enum)", ds: "Sifat, keamanan, status surat/disposisi, instruksi disposisi, akses dokumen, penanda format nomor, jenis file yang diizinkan, dll.", sc: ["arsip:read"], r: "object", it: "Objek" }, getArsipUnit: { id: "getArsipUnit", m: "GET", path: "/v1/arsip/unit", tag: "Arsip: Master", sum: "Daftar unit pemilik arsip", ds: "Universitas, fakultas, prodi, unit kerja. `peran_saya` = peran pemilik token di unit itu (admin, pimpinan, sekretaris, arsiparis, staf, pengawas = admin/pimpinan unit induk).", sc: ["arsip:read"], pa: [{ nm: "jenis", in: "query", s: { t: "string" }, ds: "universitas | fakultas | prodi | unit" }, { nm: "induk_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit induk" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari nama/kode" }, { nm: "saya", in: "query", s: { t: "string" }, ds: "1 = hanya unit tempat saya berperan" }], r: "list", it: "ArsipUnit" }, postArsipUnit: { id: "postArsipUnit", m: "POST", path: "/v1/arsip/unit", tag: "Arsip: Master", sum: "Tambah unit", sc: ["arsip:admin"], b: { ct: "application/json", ref: "ArsipUnitInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, jenis: { t: "string", e: ["universitas", "fakultas", "prodi", "unit"] }, induk_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, kode_fakultas: { t: "string", n: 1, ds: "Kode fakultas SIAKAD (m_fakultas)", rf: { l: "/v1/master/fakultas", k: "kode_fakultas", q: 0 } }, kode_prodi: { t: "string", n: 1, ds: "Kode prodi SIAKAD (m_program_studi)", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, nama: { t: "string", max: 150 }, singkatan: { t: "string", max: 30 }, kode_surat: { t: "string", max: 30 }, email: { t: "string", f: "email" }, telepon: { t: "string", max: 30 }, alamat: { t: "string", max: 255 }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kode", "jenis", "nama"] }, rq: 1 }, r: "object", it: "ArsipUnit" }, postArsipUnitSinkronSiakad: { id: "postArsipUnitSinkronSiakad", m: "POST", path: "/v1/arsip/unit/sinkron-siakad", tag: "Arsip: Master", sum: "Buat unit dari data SIAKAD", ds: "Membuat unit universitas, fakultas (m_fakultas), dan prodi (m_program_studi) yang belum ada, serta mendaftarkan dekan (m_fakultas.pejabat) dan kaprodi (idd_ketua_prodi) sebagai pimpinan bila akunnya ada. Aman diulang.", sc: ["arsip:admin"], r: "object", it: "Objek" }, getArsipUnitById: { id: "getArsipUnitById", m: "GET", path: "/v1/arsip/unit/{id}", tag: "Arsip: Master", sum: "Detail unit", ds: "Termasuk unit turunan, dan daftar petugas bila Anda anggota unit.", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "ID unit" }], r: "object", it: "ArsipUnit" }, putArsipUnitById: { id: "putArsipUnitById", m: "PUT", path: "/v1/arsip/unit/{id}", tag: "Arsip: Master", sum: "Ubah unit", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "ID unit" }], b: { ct: "application/json", ref: "ArsipUnitInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, jenis: { t: "string", e: ["universitas", "fakultas", "prodi", "unit"] }, induk_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, kode_fakultas: { t: "string", n: 1, ds: "Kode fakultas SIAKAD (m_fakultas)", rf: { l: "/v1/master/fakultas", k: "kode_fakultas", q: 0 } }, kode_prodi: { t: "string", n: 1, ds: "Kode prodi SIAKAD (m_program_studi)", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, nama: { t: "string", max: 150 }, singkatan: { t: "string", max: 30 }, kode_surat: { t: "string", max: 30 }, email: { t: "string", f: "email" }, telepon: { t: "string", max: 30 }, alamat: { t: "string", max: 255 }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kode", "jenis", "nama"] }, rq: 1 }, r: "object", it: "ArsipUnit" }, deleteArsipUnitById: { id: "deleteArsipUnitById", m: "DELETE", path: "/v1/arsip/unit/{id}", tag: "Arsip: Master", sum: "Hapus unit", ds: "Ditolak bila unit masih punya arsip atau unit turunan; nonaktifkan saja.", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "ID unit" }], r: "none" }, getArsipUnitByIdPetugas: { id: "getArsipUnitByIdPetugas", m: "GET", path: "/v1/arsip/unit/{id}/petugas", tag: "Arsip: Master", sum: "Petugas unit", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "ID unit" }], r: "list", it: "ArsipPetugas" }, postArsipUnitByIdPetugas: { id: "postArsipUnitByIdPetugas", m: "POST", path: "/v1/arsip/unit/{id}/petugas", tag: "Arsip: Master", sum: "Tambah petugas unit", ds: "Oleh admin unit atau admin arsip. Peran: admin (kelola unit), pimpinan (lihat semua termasuk rahasia, disposisi, tanda tangan, setujui penyusutan), sekretaris (catat surat, nomor, kirim), arsiparis (dokumen, berkas, peminjaman, penyusutan), staf (konsep surat, terima disposisi).", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "ID unit" }], b: { ct: "application/json", ref: "ArsipPetugasInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, username: { t: "string", ds: "username SIAKAD", rf: { l: "pengguna", k: "username" } }, peran: { t: "string", e: ["admin", "pimpinan", "sekretaris", "arsiparis", "staf"] }, jabatan: { t: "string", max: 150 }, bisa_tandatangan: { t: "boolean" }, aktif: { t: "boolean" }, mulai: { t: "string", n: 1, f: "date" }, selesai: { t: "string", n: 1, f: "date" } }, rq: ["unit_id", "username", "peran"] }, rq: 1 }, r: "object", it: "ArsipPetugas" }, putArsipPetugasById: { id: "putArsipPetugasById", m: "PUT", path: "/v1/arsip/petugas/{id}", tag: "Arsip: Master", sum: "Ubah petugas", ds: "Peran, jabatan, hak tanda tangan, aktif, masa tugas (unit dan username tetap).", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string" }, rq: 1, ds: "ID petugas" }], b: { ct: "application/json", ref: "ArsipPetugasInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, username: { t: "string", ds: "username SIAKAD", rf: { l: "pengguna", k: "username" } }, peran: { t: "string", e: ["admin", "pimpinan", "sekretaris", "arsiparis", "staf"] }, jabatan: { t: "string", max: 150 }, bisa_tandatangan: { t: "boolean" }, aktif: { t: "boolean" }, mulai: { t: "string", n: 1, f: "date" }, selesai: { t: "string", n: 1, f: "date" } }, rq: ["unit_id", "username", "peran"] }, rq: 1 }, r: "object", it: "ArsipPetugas" }, deleteArsipPetugasById: { id: "deleteArsipPetugasById", m: "DELETE", path: "/v1/arsip/petugas/{id}", tag: "Arsip: Master", sum: "Hapus petugas", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string" }, rq: 1, ds: "ID petugas" }], r: "none" }, getArsipKlasifikasi: { id: "getArsipKlasifikasi", m: "GET", path: "/v1/arsip/klasifikasi", tag: "Arsip: Master", sum: "Klasifikasi arsip dan JRA: daftar", ds: "Kode klasifikasi bertingkat beserta retensi aktif/inaktif (tahun) dan nasib akhir. Dipakai menghitung jadwal retensi surat/dokumen/berkas.", sc: ["arsip:read"], pa: [{ nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }, { nm: "induk_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Induk" }], r: "list", it: "ArsipKlasifikasi" }, postArsipKlasifikasi: { id: "postArsipKlasifikasi", m: "POST", path: "/v1/arsip/klasifikasi", tag: "Arsip: Master", sum: "Klasifikasi arsip dan JRA: tambah", sc: ["arsip:admin"], b: { ct: "application/json", ref: "ArsipKlasifikasiInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { induk_id: { t: "integer", n: 1, ds: "ID arsip_klasifikasi", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 200 }, keterangan: { t: "string", max: 5e3 }, retensi_aktif: { t: "integer", min: 0, mx: 100 }, retensi_inaktif: { t: "integer", min: 0, mx: 100 }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, keterangan_retensi: { t: "string", max: 255 }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipKlasifikasi" }, putArsipKlasifikasiById: { id: "putArsipKlasifikasiById", m: "PUT", path: "/v1/arsip/klasifikasi/{id}", tag: "Arsip: Master", sum: "Klasifikasi arsip dan JRA: ubah", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "ArsipKlasifikasiInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { induk_id: { t: "integer", n: 1, ds: "ID arsip_klasifikasi", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 200 }, keterangan: { t: "string", max: 5e3 }, retensi_aktif: { t: "integer", min: 0, mx: 100 }, retensi_inaktif: { t: "integer", min: 0, mx: 100 }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, keterangan_retensi: { t: "string", max: 255 }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipKlasifikasi" }, deleteArsipKlasifikasiById: { id: "deleteArsipKlasifikasiById", m: "DELETE", path: "/v1/arsip/klasifikasi/{id}", tag: "Arsip: Master", sum: "Klasifikasi arsip dan JRA: hapus", ds: "Ditolak bila masih dipakai.", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, rq: 1, ds: "ID" }], r: "none" }, getArsipJenis: { id: "getArsipJenis", m: "GET", path: "/v1/arsip/jenis", tag: "Arsip: Master", sum: "Jenis naskah dan dokumen: daftar", ds: "kelompok=naskah untuk surat (kode dipakai di nomor surat), kelompok=dokumen untuk arsip dokumen (untuk_pemilik, masa berlaku, wajib verifikasi).", sc: ["arsip:read"], pa: [{ nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }, { nm: "kelompok", in: "query", s: { t: "string" }, ds: "naskah | dokumen" }, { nm: "pemilik", in: "query", s: { t: "string" }, ds: "Hanya jenis untuk pemilik ini" }], r: "list", it: "ArsipJenis" }, postArsipJenis: { id: "postArsipJenis", m: "POST", path: "/v1/arsip/jenis", tag: "Arsip: Master", sum: "Jenis naskah dan dokumen: tambah", sc: ["arsip:admin"], b: { ct: "application/json", ref: "ArsipJenisInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { kelompok: { t: "string", e: ["naskah", "dokumen"] }, kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 100 }, keterangan: { t: "string", max: 5e3 }, untuk_pemilik: { t: "array", ds: "Kosong = semua pemilik", i: { t: "string", e: ["universitas", "fakultas", "prodi", "unit", "dosen", "mahasiswa"] } }, klasifikasi_id: { t: "integer", n: 1, ds: "ID arsip_klasifikasi", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, punya_masa_berlaku: { t: "boolean" }, wajib_verifikasi: { t: "boolean" }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kelompok", "kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipJenis" }, putArsipJenisById: { id: "putArsipJenisById", m: "PUT", path: "/v1/arsip/jenis/{id}", tag: "Arsip: Master", sum: "Jenis naskah dan dokumen: ubah", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "ArsipJenisInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { kelompok: { t: "string", e: ["naskah", "dokumen"] }, kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 100 }, keterangan: { t: "string", max: 5e3 }, untuk_pemilik: { t: "array", ds: "Kosong = semua pemilik", i: { t: "string", e: ["universitas", "fakultas", "prodi", "unit", "dosen", "mahasiswa"] } }, klasifikasi_id: { t: "integer", n: 1, ds: "ID arsip_klasifikasi", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, punya_masa_berlaku: { t: "boolean" }, wajib_verifikasi: { t: "boolean" }, aktif: { t: "boolean" }, urut: { t: "integer", min: 0, mx: 65535 } }, rq: ["kelompok", "kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipJenis" }, deleteArsipJenisById: { id: "deleteArsipJenisById", m: "DELETE", path: "/v1/arsip/jenis/{id}", tag: "Arsip: Master", sum: "Jenis naskah dan dokumen: hapus", ds: "Ditolak bila masih dipakai.", sc: ["arsip:admin"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, rq: 1, ds: "ID" }], r: "none" }, getArsipPenomoranPratinjau: { id: "getArsipPenomoranPratinjau", m: "GET", path: "/v1/arsip/penomoran/pratinjau", tag: "Arsip: Master", sum: "Pratinjau nomor berikutnya", ds: "Tanpa memakai nomor. Format dipilih dari pengaturan paling spesifik (unit+jenis \u2192 unit \u2192 jenis \u2192 umum \u2192 bawaan).", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "integer", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "Unit" }, { nm: "untuk", in: "query", s: { t: "string" }, ds: "surat_keluar | agenda_masuk | agenda_keluar" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis naskah" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "tanggal", in: "query", s: { t: "string" }, ds: "YYYY-MM-DD" }], r: "object", it: "Objek" }, getArsipPenomoran: { id: "getArsipPenomoran", m: "GET", path: "/v1/arsip/penomoran", tag: "Arsip: Master", sum: "Format penomoran: daftar", ds: "Format nomor surat keluar dan nomor agenda, mis. `{nomor:3}/{kode_unit}/{klasifikasi}/{bulan_romawi}/{tahun}`. Penanda lihat /referensi (token_nomor). unit_id kosong = berlaku untuk semua unit (admin arsip). Hanya milik unit tempat Anda berperan dan yang bersama.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }], r: "list", it: "ArsipPenomoran" }, postArsipPenomoran: { id: "postArsipPenomoran", m: "POST", path: "/v1/arsip/penomoran", tag: "Arsip: Master", sum: "Format penomoran: tambah", ds: "Oleh admin/sekretaris/arsiparis unit; tanpa unit_id hanya admin arsip.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipPenomoranInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { untuk: { t: "string", e: ["surat_keluar", "agenda_masuk", "agenda_keluar"] }, unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, jenis_id: { t: "integer", n: 1, ds: "ID arsip_jenis", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, format: { t: "string", max: 150 }, reset: { t: "string", e: ["tahunan", "bulanan", "tidak"] }, keterangan: { t: "string", max: 255 }, aktif: { t: "boolean" } }, rq: ["untuk", "format"] }, rq: 1 }, r: "object", it: "ArsipPenomoran" }, getArsipPenomoranById: { id: "getArsipPenomoranById", m: "GET", path: "/v1/arsip/penomoran/{id}", tag: "Arsip: Master", sum: "Format penomoran: detail", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penomoran", k: "id", d: "/v1/arsip/penomoran/{id}" } }, rq: 1, ds: "ID" }], r: "object", it: "ArsipPenomoran" }, putArsipPenomoranById: { id: "putArsipPenomoranById", m: "PUT", path: "/v1/arsip/penomoran/{id}", tag: "Arsip: Master", sum: "Format penomoran: ubah", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penomoran", k: "id", d: "/v1/arsip/penomoran/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "ArsipPenomoranInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { untuk: { t: "string", e: ["surat_keluar", "agenda_masuk", "agenda_keluar"] }, unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, jenis_id: { t: "integer", n: 1, ds: "ID arsip_jenis", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, format: { t: "string", max: 150 }, reset: { t: "string", e: ["tahunan", "bulanan", "tidak"] }, keterangan: { t: "string", max: 255 }, aktif: { t: "boolean" } }, rq: ["untuk", "format"] }, rq: 1 }, r: "object", it: "ArsipPenomoran" }, deleteArsipPenomoranById: { id: "deleteArsipPenomoranById", m: "DELETE", path: "/v1/arsip/penomoran/{id}", tag: "Arsip: Master", sum: "Format penomoran: hapus", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penomoran", k: "id", d: "/v1/arsip/penomoran/{id}" } }, rq: 1, ds: "ID" }], r: "none" }, getArsipLokasi: { id: "getArsipLokasi", m: "GET", path: "/v1/arsip/lokasi", tag: "Arsip: Master", sum: "Lokasi simpan fisik: daftar", ds: "Gedung \u203A ruang \u203A lemari \u203A rak \u203A boks milik unit. Hanya milik unit tempat Anda berperan dan yang bersama.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }], r: "list", it: "ArsipLokasi" }, postArsipLokasi: { id: "postArsipLokasi", m: "POST", path: "/v1/arsip/lokasi", tag: "Arsip: Master", sum: "Lokasi simpan fisik: tambah", ds: "Oleh admin/sekretaris/arsiparis unit; tanpa unit_id hanya admin arsip.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipLokasiInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, induk_id: { t: "integer", n: 1, ds: "ID arsip_lokasi", rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, kode: { t: "string", max: 50, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 150 }, jenis: { t: "string", e: ["gedung", "ruang", "lemari", "rak", "boks", "folder", "lainnya"] }, keterangan: { t: "string", max: 255 }, kapasitas: { t: "integer", min: 0, mx: 1e7 }, aktif: { t: "boolean" } }, rq: ["unit_id", "kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipLokasi" }, getArsipLokasiById: { id: "getArsipLokasiById", m: "GET", path: "/v1/arsip/lokasi/{id}", tag: "Arsip: Master", sum: "Lokasi simpan fisik: detail", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, rq: 1, ds: "ID" }], r: "object", it: "ArsipLokasi" }, putArsipLokasiById: { id: "putArsipLokasiById", m: "PUT", path: "/v1/arsip/lokasi/{id}", tag: "Arsip: Master", sum: "Lokasi simpan fisik: ubah", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "ArsipLokasiInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, induk_id: { t: "integer", n: 1, ds: "ID arsip_lokasi", rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, kode: { t: "string", max: 50, p: "^[A-Za-z0-9._\\-]+$" }, nama: { t: "string", max: 150 }, jenis: { t: "string", e: ["gedung", "ruang", "lemari", "rak", "boks", "folder", "lainnya"] }, keterangan: { t: "string", max: 255 }, kapasitas: { t: "integer", min: 0, mx: 1e7 }, aktif: { t: "boolean" } }, rq: ["unit_id", "kode", "nama"] }, rq: 1 }, r: "object", it: "ArsipLokasi" }, deleteArsipLokasiById: { id: "deleteArsipLokasiById", m: "DELETE", path: "/v1/arsip/lokasi/{id}", tag: "Arsip: Master", sum: "Lokasi simpan fisik: hapus", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, rq: 1, ds: "ID" }], r: "none" }, getArsipTemplate: { id: "getArsipTemplate", m: "GET", path: "/v1/arsip/template", tag: "Arsip: Master", sum: "Templat surat: daftar", ds: "HTML dengan penanda {{nama}}; penanda bawaan: unit, unit_singkatan, tanggal, perihal, lampiran. unit_id kosong = templat bersama. Hanya milik unit tempat Anda berperan dan yang bersama.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 | 0" }], r: "list", it: "ArsipTemplate" }, postArsipTemplate: { id: "postArsipTemplate", m: "POST", path: "/v1/arsip/template", tag: "Arsip: Master", sum: "Templat surat: tambah", ds: "Oleh admin/sekretaris/arsiparis unit; tanpa unit_id hanya admin arsip.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipTemplateInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, jenis_id: { t: "integer", n: 1, ds: "ID arsip_jenis", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, nama: { t: "string", max: 150 }, perihal: { t: "string", max: 255 }, isi: { t: "string", ds: "HTML; tag/atribut berbahaya dibuang server" }, keterangan: { t: "string", max: 255 }, aktif: { t: "boolean" } }, rq: ["nama", "isi"] }, rq: 1 }, r: "object", it: "ArsipTemplate" }, getArsipTemplateById: { id: "getArsipTemplateById", m: "GET", path: "/v1/arsip/template/{id}", tag: "Arsip: Master", sum: "Templat surat: detail", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, rq: 1, ds: "ID" }], r: "object", it: "ArsipTemplate" }, putArsipTemplateById: { id: "putArsipTemplateById", m: "PUT", path: "/v1/arsip/template/{id}", tag: "Arsip: Master", sum: "Templat surat: ubah", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "ArsipTemplateInput", s: { t: "object", ds: "Saat ubah (PUT), kirim hanya kolom yang berubah.", pr: { unit_id: { t: "integer", n: 1, ds: "ID arsip_unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, jenis_id: { t: "integer", n: 1, ds: "ID arsip_jenis", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, nama: { t: "string", max: 150 }, perihal: { t: "string", max: 255 }, isi: { t: "string", ds: "HTML; tag/atribut berbahaya dibuang server" }, keterangan: { t: "string", max: 255 }, aktif: { t: "boolean" } }, rq: ["nama", "isi"] }, rq: 1 }, r: "object", it: "ArsipTemplate" }, deleteArsipTemplateById: { id: "deleteArsipTemplateById", m: "DELETE", path: "/v1/arsip/template/{id}", tag: "Arsip: Master", sum: "Templat surat: hapus", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, rq: 1, ds: "ID" }], r: "none" }, postArsipTemplateByIdRender: { id: "postArsipTemplateByIdRender", m: "POST", path: "/v1/arsip/template/{id}/render", tag: "Arsip: Master", sum: "Isi templat dengan data", ds: "Body: `unit_id`, `data` (objek penanda \u2192 nilai; nilai di-escape).", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, rq: 1, ds: "ID templat" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "Objek" }, getArsipSurat: { id: "getArsipSurat", m: "GET", path: "/v1/arsip/surat", tag: "Arsip: Surat", sum: "Daftar surat (masuk dan keluar)", ds: "Hanya surat yang boleh Anda lihat: arsip unit tempat Anda pengelola (rahasia hanya admin/pimpinan), surat yang Anda buat/ajukan/setujui, disposisi untuk Anda/unit Anda, surat yang ditujukan kepada Anda, dan yang dibagikan.", sc: ["arsip:read"], pa: [{ nm: "arah", in: "query", s: { t: "string" }, ds: "masuk | keluar" }, { nm: "status", in: "query", s: { t: "string" }, ds: "Dipisah koma, mis. baru,didisposisi" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1 = termasuk unit turunan" }, { nm: "sifat", in: "query", s: { t: "string" }, ds: "biasa,penting,segera,sangat_segera" }, { nm: "keamanan", in: "query", s: { t: "string" }, ds: "biasa,terbatas,rahasia,sangat_rahasia" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis naskah" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "berkas_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, ds: "Berkas" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal YYYY-MM-DD" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir" }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari perihal, nomor, pengirim" }, { nm: "lewat_batas", in: "query", s: { t: "string" }, ds: "1 = lewat batas waktu" }, { nm: "perlu_tindakan", in: "query", s: { t: "string" }, ds: "1 = menunggu persetujuan/disposisi saya" }, { nm: "urut", in: "query", s: { t: "string" }, ds: "terbaru | lama | agenda | batas" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipSuratRingkas" }, getArsipSuratMasuk: { id: "getArsipSuratMasuk", m: "GET", path: "/v1/arsip/surat-masuk", tag: "Arsip: Surat", sum: "Daftar surat masuk", sc: ["arsip:read"], pa: [{ nm: "status", in: "query", s: { t: "string" }, ds: "Dipisah koma, mis. baru,didisposisi" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1 = termasuk unit turunan" }, { nm: "sifat", in: "query", s: { t: "string" }, ds: "biasa,penting,segera,sangat_segera" }, { nm: "keamanan", in: "query", s: { t: "string" }, ds: "biasa,terbatas,rahasia,sangat_rahasia" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis naskah" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "berkas_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, ds: "Berkas" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal YYYY-MM-DD" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir" }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari perihal, nomor, pengirim" }, { nm: "lewat_batas", in: "query", s: { t: "string" }, ds: "1 = lewat batas waktu" }, { nm: "perlu_tindakan", in: "query", s: { t: "string" }, ds: "1 = menunggu persetujuan/disposisi saya" }, { nm: "urut", in: "query", s: { t: "string" }, ds: "terbaru | lama | agenda | batas" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipSuratRingkas" }, postArsipSuratMasuk: { id: "postArsipSuratMasuk", m: "POST", path: "/v1/arsip/surat-masuk", tag: "Arsip: Surat", sum: "Catat surat masuk", ds: "Oleh admin/pimpinan/sekretaris unit penerima. Nomor agenda dibuat otomatis; retensi dihitung dari klasifikasi (atau klasifikasi bawaan jenis). Unggah hasil pindai lewat POST /surat/{ref}/file.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipSuratMasukInput", s: { t: "object", pr: { jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok naskah", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, tanggal_surat: { t: "string", n: 1, f: "date" }, perihal: { t: "string", max: 255 }, ringkasan: { t: "string", n: 1 }, lampiran: { t: "string", n: 1, ds: "Mis. 1 (satu) berkas" }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, media: { t: "string", e: ["kertas", "elektronik", "email", "pos", "kurir", "langsung", "sistem"] }, batas_waktu: { t: "string", n: 1, f: "date" }, balasan_untuk_id: { t: "integer", n: 1, ds: "Surat yang dibalas" }, klasifikasi_id: { t: "integer", n: 1, ds: "Kosong = klasifikasi bawaan jenis", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, ds: "Berkas terbuka unit yang sama", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, unit_id: { t: "integer", ds: "Unit penerima", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nomor_surat: { t: "string", n: 1, ds: "Nomor dari pengirim" }, tanggal_diterima: { t: "string", n: 1, f: "date" }, pengirim_nama: { t: "string", n: 1 }, pengirim_instansi: { t: "string", n: 1 }, pengirim_alamat: { t: "string", n: 1 }, pengirim_email: { t: "string", n: 1 } }, rq: ["unit_id", "perihal"] }, rq: 1 }, r: "object", it: "ArsipSurat" }, getArsipSuratKeluar: { id: "getArsipSuratKeluar", m: "GET", path: "/v1/arsip/surat-keluar", tag: "Arsip: Surat", sum: "Daftar surat keluar", sc: ["arsip:read"], pa: [{ nm: "status", in: "query", s: { t: "string" }, ds: "Dipisah koma, mis. baru,didisposisi" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1 = termasuk unit turunan" }, { nm: "sifat", in: "query", s: { t: "string" }, ds: "biasa,penting,segera,sangat_segera" }, { nm: "keamanan", in: "query", s: { t: "string" }, ds: "biasa,terbatas,rahasia,sangat_rahasia" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis naskah" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "berkas_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, ds: "Berkas" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal YYYY-MM-DD" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir" }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari perihal, nomor, pengirim" }, { nm: "lewat_batas", in: "query", s: { t: "string" }, ds: "1 = lewat batas waktu" }, { nm: "perlu_tindakan", in: "query", s: { t: "string" }, ds: "1 = menunggu persetujuan/disposisi saya" }, { nm: "urut", in: "query", s: { t: "string" }, ds: "terbaru | lama | agenda | batas" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipSuratRingkas" }, postArsipSuratKeluar: { id: "postArsipSuratKeluar", m: "POST", path: "/v1/arsip/surat-keluar", tag: "Arsip: Surat", sum: "Buat konsep surat keluar", ds: "Semua petugas unit (termasuk staf). `template_id` + `data_templat` mengisi `isi` dari templat. `catat_langsung=true` (admin/pimpinan/sekretaris) untuk surat yang sudah ditandatangani di kertas: langsung diberi nomor (atau `nomor_surat` manual) dan dikirim.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipSuratKeluarInput", s: { t: "object", pr: { jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok naskah", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, tanggal_surat: { t: "string", n: 1, f: "date" }, perihal: { t: "string", max: 255 }, ringkasan: { t: "string", n: 1 }, lampiran: { t: "string", n: 1, ds: "Mis. 1 (satu) berkas" }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, media: { t: "string", e: ["kertas", "elektronik", "email", "pos", "kurir", "langsung", "sistem"] }, batas_waktu: { t: "string", n: 1, f: "date" }, balasan_untuk_id: { t: "integer", n: 1, ds: "Surat yang dibalas" }, klasifikasi_id: { t: "integer", n: 1, ds: "Kosong = klasifikasi bawaan jenis", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, ds: "Berkas terbuka unit yang sama", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, unit_id: { t: "integer", ds: "Unit pengirim (hanya saat buat)", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, isi: { t: "string", n: 1, ds: "HTML; disaring server" }, template_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, data_templat: { t: "object", ds: "Nilai penanda {{nama}} templat" }, tujuan: { t: "array", i: { t: "object", pr: { jenis: { t: "string", e: ["unit", "pengguna", "dosen", "mahasiswa", "eksternal"] }, unit_id: { t: "integer", n: 1, ds: "jenis unit" }, username: { t: "string", n: 1, ds: "jenis pengguna" }, nidn: { t: "string", n: 1, ds: "jenis dosen" }, nim: { t: "string", n: 1, ds: "jenis mahasiswa" }, nama: { t: "string", n: 1, ds: "Wajib untuk eksternal (atau instansi); lainnya otomatis dari SIAKAD" }, jabatan: { t: "string", n: 1 }, instansi: { t: "string", n: 1 }, alamat: { t: "string", n: 1 }, email: { t: "string", n: 1 }, tembusan: { t: "boolean" } }, rq: ["jenis"] } }, catat_langsung: { t: "boolean" }, nomor_surat: { t: "string", n: 1, ds: "Hanya dengan catat_langsung" } }, rq: ["unit_id", "perihal"] }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSayaKirimSurat: { id: "postArsipSayaKirimSurat", m: "POST", path: "/v1/arsip/saya/kirim-surat", tag: "Arsip: Surat", sum: "Kirim surat/permohonan ke unit", ds: "Dosen, mahasiswa, atau pegawai mengirim surat ke sebuah unit (mis. permohonan ke prodi). Tercatat sebagai surat masuk unit itu dengan pengirim = pengguna token. Lampiran diunggah pengirim lewat POST /surat/{ref}/file selama status masih baru.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipSuratMasukInput", s: { t: "object", pr: { jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok naskah", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, tanggal_surat: { t: "string", n: 1, f: "date" }, perihal: { t: "string", max: 255 }, ringkasan: { t: "string", n: 1 }, lampiran: { t: "string", n: 1, ds: "Mis. 1 (satu) berkas" }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, media: { t: "string", e: ["kertas", "elektronik", "email", "pos", "kurir", "langsung", "sistem"] }, batas_waktu: { t: "string", n: 1, f: "date" }, balasan_untuk_id: { t: "integer", n: 1, ds: "Surat yang dibalas" }, klasifikasi_id: { t: "integer", n: 1, ds: "Kosong = klasifikasi bawaan jenis", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, ds: "Berkas terbuka unit yang sama", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, unit_id: { t: "integer", ds: "Unit penerima", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nomor_surat: { t: "string", n: 1, ds: "Nomor dari pengirim" }, tanggal_diterima: { t: "string", n: 1, f: "date" }, pengirim_nama: { t: "string", n: 1 }, pengirim_instansi: { t: "string", n: 1 }, pengirim_alamat: { t: "string", n: 1 }, pengirim_email: { t: "string", n: 1 } }, rq: ["unit_id", "perihal"] }, rq: 1 }, r: "object", it: "ArsipSurat" }, getArsipSuratByRef: { id: "getArsipSuratByRef", m: "GET", path: "/v1/arsip/surat/{ref}", tag: "Arsip: Surat", sum: "Detail surat", ds: "Termasuk tujuan, alur persetujuan, pohon disposisi, file (dengan lampiran surat asal untuk surat internal), balasan, riwayat (bagi pengelola), dan `hak` = tindakan yang boleh Anda lakukan. Membuka surat yang ditujukan kepada Anda menandainya dibaca.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "ArsipSurat" }, putArsipSuratByRef: { id: "putArsipSuratByRef", m: "PUT", path: "/v1/arsip/surat/{ref}", tag: "Arsip: Surat", sum: "Ubah surat", ds: "Konsep/revisi surat keluar oleh konseptor atau pengelola (termasuk `tujuan`). Surat masuk oleh pengelola. Setelah terkirim/diarsipkan hanya klasifikasi_id, berkas_id, lokasi_id, ringkasan oleh pengelola arsip.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipSuratKeluarInput", s: { t: "object", pr: { jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok naskah", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, tanggal_surat: { t: "string", n: 1, f: "date" }, perihal: { t: "string", max: 255 }, ringkasan: { t: "string", n: 1 }, lampiran: { t: "string", n: 1, ds: "Mis. 1 (satu) berkas" }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, media: { t: "string", e: ["kertas", "elektronik", "email", "pos", "kurir", "langsung", "sistem"] }, batas_waktu: { t: "string", n: 1, f: "date" }, balasan_untuk_id: { t: "integer", n: 1, ds: "Surat yang dibalas" }, klasifikasi_id: { t: "integer", n: 1, ds: "Kosong = klasifikasi bawaan jenis", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, ds: "Berkas terbuka unit yang sama", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, unit_id: { t: "integer", ds: "Unit pengirim (hanya saat buat)", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, isi: { t: "string", n: 1, ds: "HTML; disaring server" }, template_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/template", k: "id", d: "/v1/arsip/template/{id}" } }, data_templat: { t: "object", ds: "Nilai penanda {{nama}} templat" }, tujuan: { t: "array", i: { t: "object", pr: { jenis: { t: "string", e: ["unit", "pengguna", "dosen", "mahasiswa", "eksternal"] }, unit_id: { t: "integer", n: 1, ds: "jenis unit" }, username: { t: "string", n: 1, ds: "jenis pengguna" }, nidn: { t: "string", n: 1, ds: "jenis dosen" }, nim: { t: "string", n: 1, ds: "jenis mahasiswa" }, nama: { t: "string", n: 1, ds: "Wajib untuk eksternal (atau instansi); lainnya otomatis dari SIAKAD" }, jabatan: { t: "string", n: 1 }, instansi: { t: "string", n: 1 }, alamat: { t: "string", n: 1 }, email: { t: "string", n: 1 }, tembusan: { t: "boolean" } }, rq: ["jenis"] } }, catat_langsung: { t: "boolean" }, nomor_surat: { t: "string", n: 1, ds: "Hanya dengan catat_langsung" } }, rq: ["unit_id", "perihal"] }, rq: 1 }, r: "object", it: "ArsipSurat" }, deleteArsipSuratByRef: { id: "deleteArsipSuratByRef", m: "DELETE", path: "/v1/arsip/surat/{ref}", tag: "Arsip: Surat", sum: "Hapus surat", ds: "Hanya konsep/revisi atau surat yang dibatalkan.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "none" }, postArsipSuratByRefAjukan: { id: "postArsipSuratByRefAjukan", m: "POST", path: "/v1/arsip/surat/{ref}/ajukan", tag: "Arsip: Surat", sum: "Ajukan untuk paraf/tanda tangan", ds: "Body `persetujuan`: [{username, peran: paraf|tandatangan, jabatan?}] berurutan; terakhir harus tandatangan (petugas dengan bisa_tandatangan). Syarat: perihal, isi atau file, dan tujuan terisi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipAjukanInput", s: { t: "object", pr: { persetujuan: { t: "array", i: { t: "object", pr: { username: { t: "string" }, peran: { t: "string", e: ["paraf", "tandatangan"] }, jabatan: { t: "string", n: 1 } }, rq: ["username"] } } }, rq: ["persetujuan"] }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefSetujui: { id: "postArsipSuratByRefSetujui", m: "POST", path: "/v1/arsip/surat/{ref}/setujui", tag: "Arsip: Surat", sum: "Paraf/tanda tangani", ds: "Hanya penyetuju yang sedang mendapat giliran. Tanda tangan mencatat penandatangan dan membuat kode verifikasi. Setelah semua menyetujui status menjadi disetujui.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefTolak: { id: "postArsipSuratByRefTolak", m: "POST", path: "/v1/arsip/surat/{ref}/tolak", tag: "Arsip: Surat", sum: "Kembalikan untuk revisi", ds: "Catatan wajib. Status menjadi revisi; konseptor memperbaiki lalu mengajukan ulang.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefNomor: { id: "postArsipSuratByRefNomor", m: "POST", path: "/v1/arsip/surat/{ref}/nomor", tag: "Arsip: Surat", sum: "Beri nomor surat", ds: "Otomatis dari format penomoran (atomik, tidak pernah ganda), atau `nomor_surat` manual. Admin/pimpinan/sekretaris unit.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefKirim: { id: "postArsipSuratByRefKirim", m: "POST", path: "/v1/arsip/surat/{ref}/kirim", tag: "Arsip: Surat", sum: "Kirim surat keluar", ds: "Memberi nomor bila belum ada. Tujuan unit menerima salinan surat masuk (dengan nomor agenda) dan notifikasi; tujuan pengguna/dosen/mahasiswa menerima notifikasi dan bisa membuka surat. Tujuan eksternal ditandai terkirim (email/pos oleh frontend). Body opsional: media, tanggal_kirim.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefSelesai: { id: "postArsipSuratByRefSelesai", m: "POST", path: "/v1/arsip/surat/{ref}/selesai", tag: "Arsip: Surat", sum: "Tandai surat masuk selesai", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefArsipkan: { id: "postArsipSuratByRefArsipkan", m: "POST", path: "/v1/arsip/surat/{ref}/arsipkan", tag: "Arsip: Surat", sum: "Arsipkan surat (selesai/terkirim)", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipSurat" }, postArsipSuratByRefBatalkan: { id: "postArsipSuratByRefBatalkan", m: "POST", path: "/v1/arsip/surat/{ref}/batalkan", tag: "Arsip: Surat", sum: "Batalkan surat (catatan wajib)", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipSurat" }, getArsipSuratByRefDisposisi: { id: "getArsipSuratByRefDisposisi", m: "GET", path: "/v1/arsip/surat/{ref}/disposisi", tag: "Arsip: Disposisi", sum: "Pohon disposisi surat", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "ArsipDisposisi" }, postArsipSuratByRefDisposisi: { id: "postArsipSuratByRefDisposisi", m: "POST", path: "/v1/arsip/surat/{ref}/disposisi", tag: "Arsip: Disposisi", sum: "Disposisikan surat masuk", ds: "Oleh admin/pimpinan/sekretaris unit penerima, atau penerima disposisi (meneruskan; `induk_id` opsional). Body: tujuan [{username} | {unit_id}], instruksi [teks], catatan, sifat, batas_waktu.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipDisposisiInput", s: { t: "object", pr: { tujuan: { t: "array", i: { t: "object", pr: { username: { t: "string", n: 1 }, unit_id: { t: "integer", n: 1 } } } }, instruksi: { t: "array", ds: "Lihat /referensi instruksi_disposisi", i: { t: "string" } }, catatan: { t: "string", n: 1 }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, batas_waktu: { t: "string", n: 1, f: "date" }, induk_id: { t: "integer", n: 1, ds: "Meneruskan disposisi ini", rf: { l: "/v1/arsip/surat", k: "id", d: "/v1/arsip/surat/{id}" } } }, rq: ["tujuan"] }, rq: 1 }, r: "list", it: "ArsipDisposisi" }, getArsipDisposisi: { id: "getArsipDisposisi", m: "GET", path: "/v1/arsip/disposisi", tag: "Arsip: Disposisi", sum: "Kotak disposisi saya", ds: "`kotak=masuk` (untuk saya dan unit saya, bawaan) atau `keluar` (dari saya). Urut: belum selesai dan batas waktu terdekat dulu.", sc: ["arsip:read"], pa: [{ nm: "kotak", in: "query", s: { t: "string" }, ds: "masuk | keluar" }, { nm: "status", in: "query", s: { t: "string" }, ds: "baru,dibaca,diproses,selesai,dikembalikan" }, { nm: "aktif", in: "query", s: { t: "string" }, ds: "1 = belum selesai" }, { nm: "lewat_batas", in: "query", s: { t: "string" }, ds: "1" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipDisposisi" }, getArsipDisposisiById: { id: "getArsipDisposisiById", m: "GET", path: "/v1/arsip/disposisi/{id}", tag: "Arsip: Disposisi", sum: "Detail disposisi", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "id", d: "/v1/arsip/disposisi/{id}" } }, rq: 1, ds: "ID disposisi" }], r: "object", it: "ArsipDisposisi" }, postArsipDisposisiByIdBaca: { id: "postArsipDisposisiByIdBaca", m: "POST", path: "/v1/arsip/disposisi/{id}/baca", tag: "Arsip: Disposisi", sum: "Tandai dibaca", ds: "Oleh penerima disposisi (atau petugas unit tujuan). Status surat diperbarui otomatis: diproses, lalu selesai saat semua disposisi selesai.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "id", d: "/v1/arsip/disposisi/{id}" } }, rq: 1, ds: "ID disposisi" }], b: { ct: "application/json", ref: "ArsipLaporan", s: { t: "object", pr: { laporan: { t: "string", n: 1, ds: "Laporan tindak lanjut / alasan" } } }, rq: 1 }, r: "object", it: "ArsipDisposisi" }, postArsipDisposisiByIdProses: { id: "postArsipDisposisiByIdProses", m: "POST", path: "/v1/arsip/disposisi/{id}/proses", tag: "Arsip: Disposisi", sum: "Sedang ditindaklanjuti (laporan opsional)", ds: "Oleh penerima disposisi (atau petugas unit tujuan). Status surat diperbarui otomatis: diproses, lalu selesai saat semua disposisi selesai.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "id", d: "/v1/arsip/disposisi/{id}" } }, rq: 1, ds: "ID disposisi" }], b: { ct: "application/json", ref: "ArsipLaporan", s: { t: "object", pr: { laporan: { t: "string", n: 1, ds: "Laporan tindak lanjut / alasan" } } }, rq: 1 }, r: "object", it: "ArsipDisposisi" }, postArsipDisposisiByIdSelesai: { id: "postArsipDisposisiByIdSelesai", m: "POST", path: "/v1/arsip/disposisi/{id}/selesai", tag: "Arsip: Disposisi", sum: "Selesai (laporan tindak lanjut)", ds: "Oleh penerima disposisi (atau petugas unit tujuan). Status surat diperbarui otomatis: diproses, lalu selesai saat semua disposisi selesai.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "id", d: "/v1/arsip/disposisi/{id}" } }, rq: 1, ds: "ID disposisi" }], b: { ct: "application/json", ref: "ArsipLaporan", s: { t: "object", pr: { laporan: { t: "string", n: 1, ds: "Laporan tindak lanjut / alasan" } } }, rq: 1 }, r: "object", it: "ArsipDisposisi" }, postArsipDisposisiByIdKembalikan: { id: "postArsipDisposisiByIdKembalikan", m: "POST", path: "/v1/arsip/disposisi/{id}/kembalikan", tag: "Arsip: Disposisi", sum: "Kembalikan ke pengirim (alasan wajib di laporan)", ds: "Oleh penerima disposisi (atau petugas unit tujuan). Status surat diperbarui otomatis: diproses, lalu selesai saat semua disposisi selesai.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "id", d: "/v1/arsip/disposisi/{id}" } }, rq: 1, ds: "ID disposisi" }], b: { ct: "application/json", ref: "ArsipLaporan", s: { t: "object", pr: { laporan: { t: "string", n: 1, ds: "Laporan tindak lanjut / alasan" } } }, rq: 1 }, r: "object", it: "ArsipDisposisi" }, getArsipDokumen: { id: "getArsipDokumen", m: "GET", path: "/v1/arsip/dokumen", tag: "Arsip: Dokumen", sum: "Daftar dokumen", ds: "Arsip unit dan arsip pribadi dosen/mahasiswa yang boleh Anda lihat. `pemilik=saya` untuk arsip pribadi Anda.", sc: ["arsip:read"], pa: [{ nm: "pemilik", in: "query", s: { t: "string" }, ds: "saya" }, { nm: "pemilik_jenis", in: "query", s: { t: "string" }, ds: "universitas,fakultas,prodi,unit,dosen,mahasiswa" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1" }, { nm: "nidn", in: "query", s: { t: "string", rf: { l: "/v1/dosen", k: "nidn", d: "/v1/dosen/{nidn}" } }, ds: "Dosen" }, { nm: "nim", in: "query", s: { t: "string", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, ds: "Mahasiswa" }, { nm: "kode_prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Prodi pemilik pribadi" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis dokumen" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "berkas_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, ds: "Berkas" }, { nm: "akses", in: "query", s: { t: "string" }, ds: "publik,internal,terbatas,rahasia" }, { nm: "status_verifikasi", in: "query", s: { t: "string" }, ds: "tidak_perlu,diajukan,terverifikasi,ditolak" }, { nm: "status_arsip", in: "query", s: { t: "string" }, ds: "aktif,inaktif,..." }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "berlaku", in: "query", s: { t: "string" }, ds: "habis | akan_habis | berlaku" }, { nm: "hari", in: "query", s: { t: "string" }, ds: "Untuk akan_habis (bawaan 90)" }, { nm: "sumber", in: "query", s: { t: "string" }, ds: "manual, pmb, lms, ..." }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari judul, nomor, kata kunci, penerbit" }, { nm: "urut", in: "query", s: { t: "string" }, ds: "terbaru | judul | berlaku" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipDokumenRingkas" }, postArsipDokumen: { id: "postArsipDokumen", m: "POST", path: "/v1/arsip/dokumen", tag: "Arsip: Dokumen", sum: "Tambah dokumen", ds: 'Pemilik: tepat satu dari `unit_id`, `nidn`, `nim`, atau `pemilik: "saya"`. Arsip unit oleh pengelola unit; arsip pribadi oleh pemiliknya (status diajukan bila jenis wajib verifikasi) atau petugas yang mencakup prodinya. Integrasi aplikasi (scope arsip:admin): `sumber` + `sumber_ref` membuat kiriman ulang memperbarui dokumen yang sama (200, meta.diperbarui).', sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipDokumenInput", s: { t: "object", pr: { unit_id: { t: "integer", n: 1, ds: "Pemilik unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nidn: { t: "string", n: 1, ds: "Pemilik dosen", rf: { l: "/v1/dosen", k: "nidn", d: "/v1/dosen/{nidn}" } }, nim: { t: "string", n: 1, ds: "Pemilik mahasiswa", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, pemilik: { t: "string", e: ["saya"], ds: "Pemilik = pengguna token (dosen/mahasiswa)" }, jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok dokumen", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, nomor: { t: "string", n: 1 }, judul: { t: "string", max: 255 }, deskripsi: { t: "string", n: 1 }, tanggal_dokumen: { t: "string", n: 1, f: "date" }, tahun: { t: "integer", n: 1 }, berlaku_mulai: { t: "string", n: 1, f: "date" }, berlaku_sampai: { t: "string", n: 1, f: "date" }, penerbit: { t: "string", n: 1 }, kata_kunci: { t: "array", i: { t: "string" } }, akses: { t: "string", e: ["publik", "internal", "terbatas", "rahasia"], ds: "publik: semua token; internal: semua pengguna SIAKAD; terbatas (bawaan): pengelola + pemilik; rahasia: admin/pimpinan + pemilik" }, media: { t: "string", e: ["elektronik", "kertas", "keduanya"] }, tingkat: { t: "string", e: ["asli", "salinan", "tembusan", "petikan"] }, jumlah_lembar: { t: "integer", n: 1 }, klasifikasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, sumber: { t: "string", n: 1, ds: "Integrasi: nama aplikasi (huruf kecil)" }, sumber_ref: { t: "string", n: 1, ds: "Integrasi: ID di aplikasi sumber" } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "ArsipDokumen" }, getArsipSayaDokumen: { id: "getArsipSayaDokumen", m: "GET", path: "/v1/arsip/saya/dokumen", tag: "Arsip: Dokumen", sum: "Arsip pribadi saya", ds: "Dosen: dokumen dengan NIDN Anda; mahasiswa: dokumen dengan NIM Anda.", sc: ["arsip:read"], pa: [{ nm: "pemilik_jenis", in: "query", s: { t: "string" }, ds: "universitas,fakultas,prodi,unit,dosen,mahasiswa" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1" }, { nm: "nidn", in: "query", s: { t: "string", rf: { l: "/v1/dosen", k: "nidn", d: "/v1/dosen/{nidn}" } }, ds: "Dosen" }, { nm: "nim", in: "query", s: { t: "string", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, ds: "Mahasiswa" }, { nm: "kode_prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Prodi pemilik pribadi" }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, ds: "Jenis dokumen" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "berkas_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, ds: "Berkas" }, { nm: "akses", in: "query", s: { t: "string" }, ds: "publik,internal,terbatas,rahasia" }, { nm: "status_verifikasi", in: "query", s: { t: "string" }, ds: "tidak_perlu,diajukan,terverifikasi,ditolak" }, { nm: "status_arsip", in: "query", s: { t: "string" }, ds: "aktif,inaktif,..." }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "berlaku", in: "query", s: { t: "string" }, ds: "habis | akan_habis | berlaku" }, { nm: "hari", in: "query", s: { t: "string" }, ds: "Untuk akan_habis (bawaan 90)" }, { nm: "sumber", in: "query", s: { t: "string" }, ds: "manual, pmb, lms, ..." }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari judul, nomor, kata kunci, penerbit" }, { nm: "urut", in: "query", s: { t: "string" }, ds: "terbaru | judul | berlaku" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipDokumenRingkas" }, getArsipDokumenByRef: { id: "getArsipDokumenByRef", m: "GET", path: "/v1/arsip/dokumen/{ref}", tag: "Arsip: Dokumen", sum: "Detail dokumen", ds: "Termasuk data pemilik dari SIAKAD, file, riwayat (bagi pengelola), dan `hak`.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "ArsipDokumen" }, putArsipDokumenByRef: { id: "putArsipDokumenByRef", m: "PUT", path: "/v1/arsip/dokumen/{ref}", tag: "Arsip: Dokumen", sum: "Ubah dokumen", ds: "Pemilik tidak bisa mengubah dokumen yang sudah terverifikasi; perubahan oleh pemilik pada dokumen ditolak/diajukan mengajukan ulang verifikasi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipDokumenInput", s: { t: "object", pr: { unit_id: { t: "integer", n: 1, ds: "Pemilik unit", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nidn: { t: "string", n: 1, ds: "Pemilik dosen", rf: { l: "/v1/dosen", k: "nidn", d: "/v1/dosen/{nidn}" } }, nim: { t: "string", n: 1, ds: "Pemilik mahasiswa", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, pemilik: { t: "string", e: ["saya"], ds: "Pemilik = pengguna token (dosen/mahasiswa)" }, jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok dokumen", rf: { l: "/v1/arsip/jenis", k: "id", d: "/v1/arsip/jenis/{id}" } }, nomor: { t: "string", n: 1 }, judul: { t: "string", max: 255 }, deskripsi: { t: "string", n: 1 }, tanggal_dokumen: { t: "string", n: 1, f: "date" }, tahun: { t: "integer", n: 1 }, berlaku_mulai: { t: "string", n: 1, f: "date" }, berlaku_sampai: { t: "string", n: 1, f: "date" }, penerbit: { t: "string", n: 1 }, kata_kunci: { t: "array", i: { t: "string" } }, akses: { t: "string", e: ["publik", "internal", "terbatas", "rahasia"], ds: "publik: semua token; internal: semua pengguna SIAKAD; terbatas (bawaan): pengelola + pemilik; rahasia: admin/pimpinan + pemilik" }, media: { t: "string", e: ["elektronik", "kertas", "keduanya"] }, tingkat: { t: "string", e: ["asli", "salinan", "tembusan", "petikan"] }, jumlah_lembar: { t: "integer", n: 1 }, klasifikasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, berkas_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } }, sumber: { t: "string", n: 1, ds: "Integrasi: nama aplikasi (huruf kecil)" }, sumber_ref: { t: "string", n: 1, ds: "Integrasi: ID di aplikasi sumber" } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "ArsipDokumen" }, deleteArsipDokumenByRef: { id: "deleteArsipDokumenByRef", m: "DELETE", path: "/v1/arsip/dokumen/{ref}", tag: "Arsip: Dokumen", sum: "Hapus dokumen (soft delete)", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "none" }, postArsipDokumenByRefVerifikasi: { id: "postArsipDokumenByRefVerifikasi", m: "POST", path: "/v1/arsip/dokumen/{ref}/verifikasi", tag: "Arsip: Dokumen", sum: "Verifikasi arsip pribadi", ds: "Body: keputusan terima|tolak, catatan (wajib bila tolak). Oleh petugas (admin/pimpinan/sekretaris/arsiparis) unit universitas, fakultas, atau prodi pemilik. Pemilik mendapat notifikasi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipVerifikasiInput", s: { t: "object", pr: { keputusan: { t: "string", e: ["terima", "tolak"] }, catatan: { t: "string", n: 1 } }, rq: ["keputusan"] }, rq: 1 }, r: "object", it: "ArsipDokumen" }, getArsipSuratByRefFile: { id: "getArsipSuratByRefFile", m: "GET", path: "/v1/arsip/surat/{ref}/file", tag: "Arsip: File", sum: "File surat", ds: "`versi=semua` untuk menyertakan versi lama.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "versi", in: "query", s: { t: "string" }, ds: "semua" }], r: "list", it: "ArsipFile" }, postArsipSuratByRefFile: { id: "postArsipSuratByRefFile", m: "POST", path: "/v1/arsip/surat/{ref}/file", tag: "Arsip: File", sum: "Unggah file surat", ds: "multipart/form-data field `berkas`, atau JSON `berkas_base64` + `nama_file`. Opsional: peran (utama|lampiran|bukti), keterangan, menggantikan (id file lama \u2192 versi baru). Jenis file dicek dari isinya.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "ArsipFileUpload", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, keterangan: { t: "string" }, menggantikan: { t: "string", ds: "ID file yang diganti (versi baru)" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string", ds: "Wajib bersama berkas_base64" } } }, rq: 1 }, r: "object", it: "ArsipFile" }, getArsipDokumenByRefFile: { id: "getArsipDokumenByRefFile", m: "GET", path: "/v1/arsip/dokumen/{ref}/file", tag: "Arsip: File", sum: "File dokumen", ds: "`versi=semua` untuk menyertakan versi lama.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "versi", in: "query", s: { t: "string" }, ds: "semua" }], r: "list", it: "ArsipFile" }, postArsipDokumenByRefFile: { id: "postArsipDokumenByRefFile", m: "POST", path: "/v1/arsip/dokumen/{ref}/file", tag: "Arsip: File", sum: "Unggah file dokumen", ds: "multipart/form-data field `berkas`, atau JSON `berkas_base64` + `nama_file`. Opsional: peran (utama|lampiran|bukti), keterangan, menggantikan (id file lama \u2192 versi baru). Jenis file dicek dari isinya.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "ArsipFileUpload", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, keterangan: { t: "string" }, menggantikan: { t: "string", ds: "ID file yang diganti (versi baru)" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string", ds: "Wajib bersama berkas_base64" } } }, rq: 1 }, r: "object", it: "ArsipFile" }, getArsipDisposisiByRefFile: { id: "getArsipDisposisiByRefFile", m: "GET", path: "/v1/arsip/disposisi/{ref}/file", tag: "Arsip: File", sum: "File disposisi (bukti tindak lanjut)", ds: "`versi=semua` untuk menyertakan versi lama.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "ref", d: "/v1/arsip/disposisi/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "versi", in: "query", s: { t: "string" }, ds: "semua" }], r: "list", it: "ArsipFile" }, postArsipDisposisiByRefFile: { id: "postArsipDisposisiByRefFile", m: "POST", path: "/v1/arsip/disposisi/{ref}/file", tag: "Arsip: File", sum: "Unggah file disposisi (bukti tindak lanjut)", ds: "multipart/form-data field `berkas`, atau JSON `berkas_base64` + `nama_file`. Opsional: peran (utama|lampiran|bukti), keterangan, menggantikan (id file lama \u2192 versi baru). Jenis file dicek dari isinya.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/disposisi", k: "ref", d: "/v1/arsip/disposisi/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "ArsipFileUpload", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, keterangan: { t: "string" }, menggantikan: { t: "string", ds: "ID file yang diganti (versi baru)" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string", ds: "Wajib bersama berkas_base64" } } }, rq: 1 }, r: "object", it: "ArsipFile" }, getArsipPeminjamanByRefFile: { id: "getArsipPeminjamanByRefFile", m: "GET", path: "/v1/arsip/peminjaman/{ref}/file", tag: "Arsip: File", sum: "File peminjaman", ds: "`versi=semua` untuk menyertakan versi lama.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "ref", d: "/v1/arsip/peminjaman/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "versi", in: "query", s: { t: "string" }, ds: "semua" }], r: "list", it: "ArsipFile" }, postArsipPeminjamanByRefFile: { id: "postArsipPeminjamanByRefFile", m: "POST", path: "/v1/arsip/peminjaman/{ref}/file", tag: "Arsip: File", sum: "Unggah file peminjaman", ds: "multipart/form-data field `berkas`, atau JSON `berkas_base64` + `nama_file`. Opsional: peran (utama|lampiran|bukti), keterangan, menggantikan (id file lama \u2192 versi baru). Jenis file dicek dari isinya.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "ref", d: "/v1/arsip/peminjaman/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "ArsipFileUpload", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, keterangan: { t: "string" }, menggantikan: { t: "string", ds: "ID file yang diganti (versi baru)" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string", ds: "Wajib bersama berkas_base64" } } }, rq: 1 }, r: "object", it: "ArsipFile" }, getArsipPenyusutanByRefFile: { id: "getArsipPenyusutanByRefFile", m: "GET", path: "/v1/arsip/penyusutan/{ref}/file", tag: "Arsip: File", sum: "File penyusutan (berita acara)", ds: "`versi=semua` untuk menyertakan versi lama.", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "ref", d: "/v1/arsip/penyusutan/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "versi", in: "query", s: { t: "string" }, ds: "semua" }], r: "list", it: "ArsipFile" }, postArsipPenyusutanByRefFile: { id: "postArsipPenyusutanByRefFile", m: "POST", path: "/v1/arsip/penyusutan/{ref}/file", tag: "Arsip: File", sum: "Unggah file penyusutan (berita acara)", ds: "multipart/form-data field `berkas`, atau JSON `berkas_base64` + `nama_file`. Opsional: peran (utama|lampiran|bukti), keterangan, menggantikan (id file lama \u2192 versi baru). Jenis file dicek dari isinya.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "ref", d: "/v1/arsip/penyusutan/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "ArsipFileUpload", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, keterangan: { t: "string" }, menggantikan: { t: "string", ds: "ID file yang diganti (versi baru)" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string", ds: "Wajib bersama berkas_base64" } } }, rq: 1 }, r: "object", it: "ArsipFile" }, getArsipFileByUuid: { id: "getArsipFileByUuid", m: "GET", path: "/v1/arsip/file/{uuid}", tag: "Arsip: File", sum: "Metadata file", ds: "Termasuk versi lain.", sc: ["arsip:read"], pa: [{ nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "ID file" }], r: "object", it: "ArsipFile" }, deleteArsipFileByUuid: { id: "deleteArsipFileByUuid", m: "DELETE", path: "/v1/arsip/file/{uuid}", tag: "Arsip: File", sum: "Hapus file", ds: "Bila yang dihapus versi terbaru, versi sebelumnya menjadi terkini.", sc: ["arsip:write"], pa: [{ nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "ID file" }], r: "none" }, getArsipFileByUuidUnduh: { id: "getArsipFileByUuidUnduh", m: "GET", path: "/v1/arsip/file/{uuid}/unduh", tag: "Arsip: File", sum: "Unduh file", ds: 'Respons biner (bukan JSON). `inline=1` untuk menampilkan PDF/gambar di browser. Header X-Checksum-Sha256 berisi sidik file. Setiap unduhan dicatat. Berbagi dengan hak "lihat" tidak bisa mengunduh.', sc: ["arsip:read"], pa: [{ nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "ID file" }, { nm: "inline", in: "query", s: { t: "string" }, ds: "1" }], r: "object" }, getArsipBerkas: { id: "getArsipBerkas", m: "GET", path: "/v1/arsip/berkas", tag: "Arsip: Berkas", sum: "Daftar berkas (folder arsip)", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "klasifikasi_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, ds: "Klasifikasi" }, { nm: "status", in: "query", s: { t: "string" }, ds: "terbuka | ditutup" }, { nm: "status_arsip", in: "query", s: { t: "string" }, ds: "aktif | inaktif | ..." }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipBerkas" }, postArsipBerkas: { id: "postArsipBerkas", m: "POST", path: "/v1/arsip/berkas", tag: "Arsip: Berkas", sum: "Buat berkas", ds: "Admin/pimpinan/sekretaris/arsiparis unit.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipBerkasInput", s: { t: "object", pr: { unit_id: { t: "integer", ds: "Hanya saat buat", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nomor_berkas: { t: "string" }, judul: { t: "string" }, uraian: { t: "string", n: 1 }, tahun_awal: { t: "integer", n: 1 }, tahun_akhir: { t: "integer", n: 1 }, klasifikasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } } }, rq: ["unit_id", "nomor_berkas", "judul"] }, rq: 1 }, r: "object", it: "ArsipBerkas" }, getArsipBerkasById: { id: "getArsipBerkasById", m: "GET", path: "/v1/arsip/berkas/{id}", tag: "Arsip: Berkas", sum: "Detail berkas beserta isinya", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], r: "object", it: "ArsipBerkas" }, putArsipBerkasById: { id: "putArsipBerkasById", m: "PUT", path: "/v1/arsip/berkas/{id}", tag: "Arsip: Berkas", sum: "Ubah berkas", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], b: { ct: "application/json", ref: "ArsipBerkasInput", s: { t: "object", pr: { unit_id: { t: "integer", ds: "Hanya saat buat", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, nomor_berkas: { t: "string" }, judul: { t: "string" }, uraian: { t: "string", n: 1 }, tahun_awal: { t: "integer", n: 1 }, tahun_akhir: { t: "integer", n: 1 }, klasifikasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/klasifikasi", k: "id", d: "/v1/arsip/klasifikasi/{id}" } }, lokasi_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/lokasi", k: "id", d: "/v1/arsip/lokasi/{id}" } } }, rq: ["unit_id", "nomor_berkas", "judul"] }, rq: 1 }, r: "object", it: "ArsipBerkas" }, deleteArsipBerkasById: { id: "deleteArsipBerkasById", m: "DELETE", path: "/v1/arsip/berkas/{id}", tag: "Arsip: Berkas", sum: "Hapus berkas kosong", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], r: "none" }, postArsipBerkasByIdTutup: { id: "postArsipBerkasByIdTutup", m: "POST", path: "/v1/arsip/berkas/{id}/tutup", tag: "Arsip: Berkas", sum: "Tutup berkas", ds: "Menghitung jadwal retensi dari tanggal penutupan (body `tanggal` opsional) dan menerapkannya ke isi berkas.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipBerkas" }, postArsipBerkasByIdBuka: { id: "postArsipBerkasByIdBuka", m: "POST", path: "/v1/arsip/berkas/{id}/buka", tag: "Arsip: Berkas", sum: "Buka kembali berkas", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], r: "object", it: "ArsipBerkas" }, postArsipBerkasByIdMasukkan: { id: "postArsipBerkasByIdMasukkan", m: "POST", path: "/v1/arsip/berkas/{id}/masukkan", tag: "Arsip: Berkas", sum: "Masukkan surat/dokumen ke berkas", ds: "Body: surat_id [..], dokumen_id [..]. Hanya arsip unit yang sama.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], b: { ct: "application/json", ref: "ArsipIsiBerkas", s: { t: "object", pr: { surat_id: { t: "array", i: { t: "integer" } }, dokumen_id: { t: "array", i: { t: "integer" } } } }, rq: 1 }, r: "object", it: "ArsipBerkas" }, postArsipBerkasByIdKeluarkan: { id: "postArsipBerkasByIdKeluarkan", m: "POST", path: "/v1/arsip/berkas/{id}/keluarkan", tag: "Arsip: Berkas", sum: "Keluarkan surat/dokumen dari berkas", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "id", d: "/v1/arsip/berkas/{id}" } }, rq: 1, ds: "ID berkas" }], b: { ct: "application/json", ref: "ArsipIsiBerkas", s: { t: "object", pr: { surat_id: { t: "array", i: { t: "integer" } }, dokumen_id: { t: "array", i: { t: "integer" } } } }, rq: 1 }, r: "object", it: "ArsipBerkas" }, getArsipSuratByRefBagikan: { id: "getArsipSuratByRefBagikan", m: "GET", path: "/v1/arsip/surat/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Daftar berbagi surat", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "ArsipBagikan" }, postArsipSuratByRefBagikan: { id: "postArsipSuratByRefBagikan", m: "POST", path: "/v1/arsip/surat/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Bagikan surat", ds: "Ke pengguna (username) atau unit (unit_id), hak lihat|unduh, berlaku_sampai opsional. Oleh pengelola arsip atau pemilik arsip pribadi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/surat", k: "ref", d: "/v1/arsip/surat/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipBagikanInput", s: { t: "object", pr: { username: { t: "string", n: 1, rf: { l: "pengguna", k: "username" } }, unit_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, hak: { t: "string", e: ["lihat", "unduh"] }, berlaku_sampai: { t: "string", n: 1, ds: "YYYY-MM-DD HH:MM" }, catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipBagikan" }, getArsipDokumenByRefBagikan: { id: "getArsipDokumenByRefBagikan", m: "GET", path: "/v1/arsip/dokumen/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Daftar berbagi dokumen", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "ArsipBagikan" }, postArsipDokumenByRefBagikan: { id: "postArsipDokumenByRefBagikan", m: "POST", path: "/v1/arsip/dokumen/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Bagikan dokumen", ds: "Ke pengguna (username) atau unit (unit_id), hak lihat|unduh, berlaku_sampai opsional. Oleh pengelola arsip atau pemilik arsip pribadi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/dokumen", k: "ref", d: "/v1/arsip/dokumen/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipBagikanInput", s: { t: "object", pr: { username: { t: "string", n: 1, rf: { l: "pengguna", k: "username" } }, unit_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, hak: { t: "string", e: ["lihat", "unduh"] }, berlaku_sampai: { t: "string", n: 1, ds: "YYYY-MM-DD HH:MM" }, catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipBagikan" }, getArsipBerkasByRefBagikan: { id: "getArsipBerkasByRefBagikan", m: "GET", path: "/v1/arsip/berkas/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Daftar berbagi berkas", sc: ["arsip:read"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "ref", d: "/v1/arsip/berkas/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "ArsipBagikan" }, postArsipBerkasByRefBagikan: { id: "postArsipBerkasByRefBagikan", m: "POST", path: "/v1/arsip/berkas/{ref}/bagikan", tag: "Arsip: Berbagi", sum: "Bagikan berkas", ds: "Ke pengguna (username) atau unit (unit_id), hak lihat|unduh, berlaku_sampai opsional. Oleh pengelola arsip atau pemilik arsip pribadi.", sc: ["arsip:write"], pa: [{ nm: "ref", in: "path", s: { t: "string", rf: { l: "/v1/arsip/berkas", k: "ref", d: "/v1/arsip/berkas/{ref}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "ArsipBagikanInput", s: { t: "object", pr: { username: { t: "string", n: 1, rf: { l: "pengguna", k: "username" } }, unit_id: { t: "integer", n: 1, rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, hak: { t: "string", e: ["lihat", "unduh"] }, berlaku_sampai: { t: "string", n: 1, ds: "YYYY-MM-DD HH:MM" }, catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipBagikan" }, deleteArsipBagikanById: { id: "deleteArsipBagikanById", m: "DELETE", path: "/v1/arsip/bagikan/{id}", tag: "Arsip: Berbagi", sum: "Cabut berbagi", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string" }, rq: 1, ds: "ID berbagi" }], r: "none" }, getArsipPeminjaman: { id: "getArsipPeminjaman", m: "GET", path: "/v1/arsip/peminjaman", tag: "Arsip: Peminjaman", sum: "Daftar peminjaman", ds: "Milik Anda sebagai peminjam dan yang perlu Anda proses sebagai pengelola.", sc: ["arsip:read"], pa: [{ nm: "status", in: "query", s: { t: "string" }, ds: "diajukan | disetujui | dipinjam | dikembalikan | ditolak | dibatalkan" }, { nm: "peran", in: "query", s: { t: "string" }, ds: "peminjam" }, { nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "terlambat", in: "query", s: { t: "string" }, ds: "1" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipPeminjaman" }, postArsipPeminjaman: { id: "postArsipPeminjaman", m: "POST", path: "/v1/arsip/peminjaman", tag: "Arsip: Peminjaman", sum: "Ajukan peminjaman", ds: "Body: entitas (surat|dokumen|berkas), entitas_id, jenis (fisik|digital), keperluan, tanggal_pinjam, rencana_kembali. Arsip harus terlihat oleh peminjam. Peminjaman digital yang disetujui langsung memberi akses unduh sampai tanggal kembali.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipPeminjamanInput", s: { t: "object", pr: { entitas: { t: "string", e: ["surat", "dokumen", "berkas"] }, entitas_id: { t: "integer" }, jenis: { t: "string", e: ["fisik", "digital"] }, keperluan: { t: "string" }, tanggal_pinjam: { t: "string", n: 1, f: "date" }, rencana_kembali: { t: "string", n: 1, f: "date" } }, rq: ["entitas", "entitas_id", "keperluan", "rencana_kembali"] }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, getArsipPeminjamanById: { id: "getArsipPeminjamanById", m: "GET", path: "/v1/arsip/peminjaman/{id}", tag: "Arsip: Peminjaman", sum: "Detail peminjaman", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], r: "object", it: "ArsipPeminjaman" }, postArsipPeminjamanByIdSetujui: { id: "postArsipPeminjamanByIdSetujui", m: "POST", path: "/v1/arsip/peminjaman/{id}/setujui", tag: "Arsip: Peminjaman", sum: "Setujui", ds: "Oleh arsiparis/admin/pimpinan unit pengelola; batalkan juga oleh peminjam.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, postArsipPeminjamanByIdTolak: { id: "postArsipPeminjamanByIdTolak", m: "POST", path: "/v1/arsip/peminjaman/{id}/tolak", tag: "Arsip: Peminjaman", sum: "Tolak (catatan wajib)", ds: "Oleh arsiparis/admin/pimpinan unit pengelola; batalkan juga oleh peminjam.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, postArsipPeminjamanByIdSerahkan: { id: "postArsipPeminjamanByIdSerahkan", m: "POST", path: "/v1/arsip/peminjaman/{id}/serahkan", tag: "Arsip: Peminjaman", sum: "Serahkan arsip fisik", ds: "Oleh arsiparis/admin/pimpinan unit pengelola; batalkan juga oleh peminjam.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, postArsipPeminjamanByIdKembalikan: { id: "postArsipPeminjamanByIdKembalikan", m: "POST", path: "/v1/arsip/peminjaman/{id}/kembalikan", tag: "Arsip: Peminjaman", sum: "Catat pengembalian (catatan = kondisi)", ds: "Oleh arsiparis/admin/pimpinan unit pengelola; batalkan juga oleh peminjam.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, postArsipPeminjamanByIdBatalkan: { id: "postArsipPeminjamanByIdBatalkan", m: "POST", path: "/v1/arsip/peminjaman/{id}/batalkan", tag: "Arsip: Peminjaman", sum: "Batalkan", ds: "Oleh arsiparis/admin/pimpinan unit pengelola; batalkan juga oleh peminjam.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/peminjaman", k: "id", d: "/v1/arsip/peminjaman/{id}" } }, rq: 1, ds: "ID peminjaman" }], b: { ct: "application/json", ref: "ArsipCatatan", s: { t: "object", pr: { catatan: { t: "string", n: 1 } } }, rq: 1 }, r: "object", it: "ArsipPeminjaman" }, getArsipPenyusutanKandidat: { id: "getArsipPenyusutanKandidat", m: "GET", path: "/v1/arsip/penyusutan/kandidat", tag: "Arsip: Penyusutan", sum: "Arsip jatuh tempo penyusutan", ds: "pemindahan: aktif yang retensi aktifnya lewat; pemusnahan: inaktif lewat dengan nasib musnah; penyerahan: inaktif lewat dengan nasib permanen. Berkas tertutup dihitung sebagai satu kesatuan.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "integer", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "Unit" }, { nm: "jenis", in: "query", s: { t: "string" }, rq: 1, ds: "pemindahan | pemusnahan | penyerahan" }], r: "list", it: "Objek" }, getArsipPenyusutan: { id: "getArsipPenyusutan", m: "GET", path: "/v1/arsip/penyusutan", tag: "Arsip: Penyusutan", sum: "Daftar usulan penyusutan", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "jenis", in: "query", s: { t: "string" }, ds: "Jenis" }, { nm: "status", in: "query", s: { t: "string" }, ds: "Status" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "ArsipPenyusutan" }, postArsipPenyusutan: { id: "postArsipPenyusutan", m: "POST", path: "/v1/arsip/penyusutan", tag: "Arsip: Penyusutan", sum: "Usulkan penyusutan", ds: "Body: unit_id, jenis, judul, keterangan, item [{entitas, entitas_id, catatan}] dari daftar kandidat. Oleh arsiparis/pimpinan/admin unit.", sc: ["arsip:write"], b: { ct: "application/json", ref: "ArsipPenyusutanInput", s: { t: "object", pr: { unit_id: { t: "integer", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, jenis: { t: "string", e: ["pemindahan", "pemusnahan", "penyerahan"] }, judul: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, item: { t: "array", i: { t: "object", pr: { entitas: { t: "string", e: ["surat", "dokumen", "berkas"] }, entitas_id: { t: "integer" }, catatan: { t: "string", n: 1 } } } } }, rq: ["unit_id", "jenis", "item"] }, rq: 1 }, r: "object", it: "ArsipPenyusutan" }, getArsipPenyusutanById: { id: "getArsipPenyusutanById", m: "GET", path: "/v1/arsip/penyusutan/{id}", tag: "Arsip: Penyusutan", sum: "Detail penyusutan", sc: ["arsip:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "id", d: "/v1/arsip/penyusutan/{id}" } }, rq: 1, ds: "ID" }], r: "object", it: "ArsipPenyusutan" }, postArsipPenyusutanByIdSetujui: { id: "postArsipPenyusutanByIdSetujui", m: "POST", path: "/v1/arsip/penyusutan/{id}/setujui", tag: "Arsip: Penyusutan", sum: "Setujui usulan", ds: "Pimpinan/admin unit, bukan pengusul.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "id", d: "/v1/arsip/penyusutan/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipPenyusutan" }, postArsipPenyusutanByIdTolak: { id: "postArsipPenyusutanByIdTolak", m: "POST", path: "/v1/arsip/penyusutan/{id}/tolak", tag: "Arsip: Penyusutan", sum: "Tolak usulan", ds: "Catatan wajib.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "id", d: "/v1/arsip/penyusutan/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipPenyusutan" }, postArsipPenyusutanByIdLaksanakan: { id: "postArsipPenyusutanByIdLaksanakan", m: "POST", path: "/v1/arsip/penyusutan/{id}/laksanakan", tag: "Arsip: Penyusutan", sum: "Laksanakan penyusutan", ds: "nomor_berita_acara wajib untuk pemusnahan/penyerahan; unggah berita acara di POST /penyusutan/{id}/file. Pemindahan \u2192 status inaktif; pemusnahan \u2192 dimusnahkan dan ISI FILE DIHAPUS PERMANEN (metadata + SHA-256 tetap); penyerahan \u2192 diserahkan.", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "id", d: "/v1/arsip/penyusutan/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipPenyusutan" }, postArsipPenyusutanByIdBatalkan: { id: "postArsipPenyusutanByIdBatalkan", m: "POST", path: "/v1/arsip/penyusutan/{id}/batalkan", tag: "Arsip: Penyusutan", sum: "Batalkan usulan", sc: ["arsip:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/arsip/penyusutan", k: "id", d: "/v1/arsip/penyusutan/{id}" } }, rq: 1, ds: "ID" }], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "ArsipPenyusutan" }, getArsipSaya: { id: "getArsipSaya", m: "GET", path: "/v1/arsip/saya", tag: "Arsip: Saya", sum: "Ringkasan saya", ds: "Peran di unit, NIDN/NIM, dan jumlah tugas: disposisi aktif/lewat batas, menunggu persetujuan, konsep, notifikasi belum dibaca, dokumen pribadi.", sc: ["arsip:read"], r: "object", it: "Objek" }, getArsipSayaNotifikasi: { id: "getArsipSayaNotifikasi", m: "GET", path: "/v1/arsip/saya/notifikasi", tag: "Arsip: Saya", sum: "Notifikasi", sc: ["arsip:read"], pa: [{ nm: "belum_dibaca", in: "query", s: { t: "string" }, ds: "1" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "Objek" }, postArsipSayaNotifikasiBaca: { id: "postArsipSayaNotifikasiBaca", m: "POST", path: "/v1/arsip/saya/notifikasi/baca", tag: "Arsip: Saya", sum: "Tandai notifikasi dibaca", ds: "Body `id`: [..]; kosong = semua.", sc: ["arsip:read"], b: { ct: "application/json", ref: "Objek", s: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, rq: 1 }, r: "object", it: "Objek" }, getArsipLaporanRingkasan: { id: "getArsipLaporanRingkasan", m: "GET", path: "/v1/arsip/laporan/ringkasan", tag: "Arsip: Laporan", sum: "Dasbor arsip", ds: "Surat masuk/keluar per bulan, per status, per klasifikasi, kinerja disposisi (rata-rata jam selesai), dokumen kedaluwarsa, retensi jatuh tempo, peminjaman aktif. Tanpa unit_id = semua unit yang Anda kelola.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "string", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, ds: "Unit" }, { nm: "tahun", in: "query", s: { t: "string" }, ds: "YYYY" }, { nm: "turunan", in: "query", s: { t: "string" }, ds: "1" }], r: "object", it: "Objek" }, getArsipLaporanAgenda: { id: "getArsipLaporanAgenda", m: "GET", path: "/v1/arsip/laporan/agenda", tag: "Arsip: Laporan", sum: "Buku agenda surat", ds: "Untuk dicetak. Perihal surat rahasia disamarkan bagi selain admin/pimpinan.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "integer", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "Unit" }, { nm: "arah", in: "query", s: { t: "string" }, ds: "masuk | keluar" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "YYYY-MM-DD" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "YYYY-MM-DD" }], r: "list", it: "Objek" }, getArsipLaporanDaftarArsip: { id: "getArsipLaporanDaftarArsip", m: "GET", path: "/v1/arsip/laporan/daftar-arsip", tag: "Arsip: Laporan", sum: "Daftar arsip aktif/inaktif (DAA/DAI)", ds: "Berkas dan arsip lepas per klasifikasi dengan kurun waktu, jumlah, lokasi, dan jadwal retensi.", sc: ["arsip:read"], pa: [{ nm: "unit_id", in: "query", s: { t: "integer", rf: { l: "/v1/arsip/unit", k: "id", d: "/v1/arsip/unit/{id}" } }, rq: 1, ds: "Unit" }, { nm: "status_arsip", in: "query", s: { t: "string" }, ds: "aktif | inaktif | permanen | dimusnahkan | diserahkan" }], r: "list", it: "Objek" }, getArsipLaporanPengingat: { id: "getArsipLaporanPengingat", m: "GET", path: "/v1/arsip/laporan/pengingat", tag: "Arsip: Laporan", sum: "Pengingat", ds: "Disposisi lewat batas, surat mendekati batas waktu, dokumen akan kedaluwarsa, peminjaman terlambat, retensi jatuh tempo.", sc: ["arsip:read"], pa: [{ nm: "hari", in: "query", s: { t: "string" }, ds: "Rentang ke depan (bawaan 30)" }], r: "object", it: "Objek" }, getArsipCari: { id: "getArsipCari", m: "GET", path: "/v1/arsip/cari", tag: "Arsip: Laporan", sum: "Pencarian gabungan", ds: "Surat, dokumen, dan berkas yang boleh Anda lihat.", sc: ["arsip:read"], pa: [{ nm: "q", in: "query", s: { t: "string" }, rq: 1, ds: "Min. 3 karakter" }, { nm: "per_jenis", in: "query", s: { t: "string" }, ds: "Maks. 50" }], r: "object", it: "Objek" }, getArsipLog: { id: "getArsipLog", m: "GET", path: "/v1/arsip/log", tag: "Arsip: Laporan", sum: "Log audit", ds: "Semua perubahan dan unduhan. Admin arsip.", sc: ["arsip:admin"], pa: [{ nm: "entitas", in: "query", s: { t: "string" }, ds: "surat | dokumen | berkas | unit | ..." }, { nm: "entitas_id", in: "query", s: { t: "string" }, ds: "ID" }, { nm: "aksi", in: "query", s: { t: "string" }, ds: "Aksi" }, { nm: "oleh", in: "query", s: { t: "string" }, ds: "Username" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "YYYY-MM-DD" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "YYYY-MM-DD" }, { nm: "page", in: "query", s: { t: "integer", min: 1, d: 1 }, ds: "Nomor halaman, mulai 1." }, { nm: "per_page", in: "query", s: { t: "integer", min: 1, mx: 100, d: 25 }, ds: "Jumlah data per halaman (maksimal 100)." }], r: "list", it: "Objek" } };
|
|
10
|
+
var mandiri = ["getArsipReferensi", "postArsipUnitSinkronSiakad", "getArsipPenomoranPratinjau", "postArsipSayaKirimSurat", "getArsipSaya", "postArsipSayaNotifikasiBaca", "getArsipLaporanRingkasan", "getArsipLaporanPengingat", "getArsipCari"];
|
|
11
|
+
var skema = { Objek: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, ArsipUnit: { t: "object", pr: { id: { t: "integer" }, induk_id: { t: "integer", n: 1 }, kode: { t: "string" }, jenis: { t: "string", e: ["universitas", "fakultas", "prodi", "unit"] }, kode_fakultas: { t: "string", n: 1 }, kode_prodi: { t: "string", n: 1 }, nama: { t: "string" }, singkatan: { t: "string", n: 1 }, kode_surat: { t: "string", n: 1, ds: "Dipakai {kode_unit} di nomor surat" }, aktif: { t: "integer" }, peran_saya: { t: "string", n: 1, ds: "admin | pimpinan | sekretaris | arsiparis | staf | pengawas | null" } } }, ArsipPetugas: { t: "object", pr: { id: { t: "integer" }, unit_id: { t: "integer" }, username: { t: "string" }, nama: { t: "string", n: 1 }, level: { t: "string", n: 1 }, peran: { t: "string", e: ["admin", "pimpinan", "sekretaris", "arsiparis", "staf"] }, jabatan: { t: "string", n: 1 }, bisa_tandatangan: { t: "integer" }, aktif: { t: "integer" }, mulai: { t: "string", n: 1, f: "date" }, selesai: { t: "string", n: 1, f: "date" } } }, ArsipKlasifikasi: { t: "object", pr: { id: { t: "integer" }, induk_id: { t: "integer", n: 1 }, kode: { t: "string" }, nama: { t: "string" }, retensi_aktif: { t: "integer", n: 1, ds: "tahun" }, retensi_inaktif: { t: "integer", n: 1, ds: "tahun" }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, keterangan_retensi: { t: "string", n: 1 } } }, ArsipJenis: { t: "object", pr: { id: { t: "integer" }, kelompok: { t: "string", e: ["naskah", "dokumen"] }, kode: { t: "string" }, nama: { t: "string" }, untuk_pemilik: { t: "array", i: { t: "string" } }, klasifikasi_id: { t: "integer", n: 1 }, punya_masa_berlaku: { t: "integer" }, wajib_verifikasi: { t: "integer" } } }, ArsipPenomoran: { t: "object", pr: { id: { t: "integer" }, untuk: { t: "string", e: ["surat_keluar", "agenda_masuk", "agenda_keluar"] }, unit_id: { t: "integer", n: 1 }, jenis_id: { t: "integer", n: 1 }, format: { t: "string" }, reset: { t: "string", e: ["tahunan", "bulanan", "tidak"] } } }, ArsipLokasi: { t: "object", pr: { id: { t: "integer" }, unit_id: { t: "integer" }, induk_id: { t: "integer", n: 1 }, kode: { t: "string" }, nama: { t: "string" }, jenis: { t: "string", e: ["gedung", "ruang", "lemari", "rak", "boks", "folder", "lainnya"] } } }, ArsipTemplate: { t: "object", pr: { id: { t: "integer" }, unit_id: { t: "integer", n: 1 }, jenis_id: { t: "integer", n: 1 }, nama: { t: "string" }, perihal: { t: "string", n: 1 }, isi: { t: "string" } } }, ArsipSuratRingkas: { t: "object", pr: { id: { t: "integer" }, uuid: { t: "string" }, arah: { t: "string", e: ["masuk", "keluar"] }, unit_id: { t: "integer" }, unit_nama: { t: "string" }, nomor_surat: { t: "string", n: 1 }, nomor_agenda: { t: "string", n: 1 }, tanggal_surat: { t: "string", n: 1, f: "date" }, tanggal_diterima: { t: "string", n: 1, f: "date" }, tanggal_kirim: { t: "string", n: 1, f: "date" }, perihal: { t: "string" }, pengirim_nama: { t: "string", n: 1 }, pengirim_instansi: { t: "string", n: 1 }, tujuan_ringkas: { t: "string", n: 1 }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, status: { t: "string", e: ["draf", "review", "revisi", "disetujui", "terkirim", "diarsipkan", "dibatalkan", "baru", "didisposisi", "diproses", "selesai", "diarsipkan", "dibatalkan"] }, batas_waktu: { t: "string", n: 1, f: "date" }, jumlah_file: { t: "integer" } } }, ArsipSurat: { t: "object", pr: { jenis_id: { t: "integer", n: 1, ds: "arsip_jenis kelompok naskah" }, tanggal_surat: { t: "string", n: 1, f: "date" }, perihal: { t: "string", max: 255 }, ringkasan: { t: "string", n: 1 }, lampiran: { t: "string", n: 1, ds: "Mis. 1 (satu) berkas" }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, keamanan: { t: "string", e: ["biasa", "terbatas", "rahasia", "sangat_rahasia"] }, media: { t: "string", e: ["kertas", "elektronik", "email", "pos", "kurir", "langsung", "sistem"] }, batas_waktu: { t: "string", n: 1, f: "date" }, balasan_untuk_id: { t: "integer", n: 1, ds: "Surat yang dibalas" }, klasifikasi_id: { t: "integer", n: 1, ds: "Kosong = klasifikasi bawaan jenis" }, berkas_id: { t: "integer", n: 1, ds: "Berkas terbuka unit yang sama" }, lokasi_id: { t: "integer", n: 1 }, aktif_sampai: { t: "string", n: 1, f: "date" }, inaktif_sampai: { t: "string", n: 1, f: "date" }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, status_arsip: { t: "string", e: ["aktif", "inaktif", "permanen", "dimusnahkan", "diserahkan"] }, id: { t: "integer" }, uuid: { t: "string" }, arah: { t: "string", e: ["masuk", "keluar"] }, unit_id: { t: "integer" }, unit: { t: "object" }, status: { t: "string" }, nomor_surat: { t: "string", n: 1 }, nomor_agenda: { t: "string", n: 1 }, isi: { t: "string", n: 1, ds: "HTML konsep surat keluar" }, penandatangan_nama: { t: "string", n: 1 }, penandatangan_jabatan: { t: "string", n: 1 }, ditandatangani_pada: { t: "string", n: 1 }, kode_verifikasi: { t: "string", n: 1 }, verifikasi_url: { t: "string", n: 1 }, tujuan: { t: "array", i: { t: "object", pr: { jenis: { t: "string", e: ["unit", "pengguna", "dosen", "mahasiswa", "eksternal"] }, unit_id: { t: "integer", n: 1, ds: "jenis unit" }, username: { t: "string", n: 1, ds: "jenis pengguna" }, nidn: { t: "string", n: 1, ds: "jenis dosen" }, nim: { t: "string", n: 1, ds: "jenis mahasiswa" }, nama: { t: "string", n: 1, ds: "Wajib untuk eksternal (atau instansi); lainnya otomatis dari SIAKAD" }, jabatan: { t: "string", n: 1 }, instansi: { t: "string", n: 1 }, alamat: { t: "string", n: 1 }, email: { t: "string", n: 1 }, tembusan: { t: "boolean" } }, rq: ["jenis"] } }, persetujuan: { t: "array", i: { t: "object" } }, disposisi: { t: "array", i: { t: "object", pr: { id: { t: "integer" }, surat_id: { t: "integer" }, induk_id: { t: "integer", n: 1 }, dari_username: { t: "string" }, dari_nama: { t: "string", n: 1 }, dari_jabatan: { t: "string", n: 1 }, ke_jenis: { t: "string", e: ["pengguna", "unit"] }, ke_username: { t: "string", n: 1 }, ke_unit_id: { t: "integer", n: 1 }, ke_nama: { t: "string", n: 1 }, instruksi: { t: "array", i: { t: "object" } }, catatan: { t: "string", n: 1 }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, batas_waktu: { t: "string", n: 1, f: "date" }, status: { t: "string", e: ["baru", "dibaca", "diproses", "selesai", "dikembalikan"] }, lewat_batas: { t: "boolean" }, laporan: { t: "string", n: 1 }, terusan: { t: "array", i: { t: "object" } }, file: { t: "array", i: { t: "object" } } } } }, file: { t: "array", i: { t: "object", pr: { id: { t: "string", f: "uuid" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, nama: { t: "string" }, mime: { t: "string" }, ukuran: { t: "integer" }, sha256: { t: "string" }, versi: { t: "integer" }, terkini: { t: "boolean" }, keterangan: { t: "string", n: 1 }, diunggah_oleh: { t: "string", n: 1 }, diunggah_pada: { t: "string" }, dimusnahkan_pada: { t: "string", n: 1 }, unduh: { t: "string", ds: "Path unduh (GET, dengan token)" } } } }, hak: { t: "object", ds: "Tindakan yang boleh dilakukan: ubah, ajukan, setujui, beri_nomor, kirim, disposisi, selesai, arsipkan, batalkan, hapus, unggah_file" }, riwayat: { t: "array", ds: "Hanya untuk pengelola", i: { t: "object" } } } }, ArsipDisposisi: { t: "object", pr: { id: { t: "integer" }, surat_id: { t: "integer" }, induk_id: { t: "integer", n: 1 }, dari_username: { t: "string" }, dari_nama: { t: "string", n: 1 }, dari_jabatan: { t: "string", n: 1 }, ke_jenis: { t: "string", e: ["pengguna", "unit"] }, ke_username: { t: "string", n: 1 }, ke_unit_id: { t: "integer", n: 1 }, ke_nama: { t: "string", n: 1 }, instruksi: { t: "array", i: { t: "string" } }, catatan: { t: "string", n: 1 }, sifat: { t: "string", e: ["biasa", "penting", "segera", "sangat_segera"] }, batas_waktu: { t: "string", n: 1, f: "date" }, status: { t: "string", e: ["baru", "dibaca", "diproses", "selesai", "dikembalikan"] }, lewat_batas: { t: "boolean" }, laporan: { t: "string", n: 1 }, terusan: { t: "array", i: { t: "object" } }, file: { t: "array", i: { t: "object", pr: { id: { t: "string", f: "uuid" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, nama: { t: "string" }, mime: { t: "string" }, ukuran: { t: "integer" }, sha256: { t: "string" }, versi: { t: "integer" }, terkini: { t: "boolean" }, keterangan: { t: "string", n: 1 }, diunggah_oleh: { t: "string", n: 1 }, diunggah_pada: { t: "string" }, dimusnahkan_pada: { t: "string", n: 1 }, unduh: { t: "string", ds: "Path unduh (GET, dengan token)" } } } } } }, ArsipDokumenRingkas: { t: "object", pr: { id: { t: "integer" }, uuid: { t: "string" }, pemilik_jenis: { t: "string", e: ["universitas", "fakultas", "prodi", "unit", "dosen", "mahasiswa"] }, unit_id: { t: "integer", n: 1 }, unit_nama: { t: "string", n: 1 }, nidn: { t: "string", n: 1 }, nim: { t: "string", n: 1 }, pemilik_nama: { t: "string", n: 1 }, jenis_nama: { t: "string", n: 1 }, nomor: { t: "string", n: 1 }, judul: { t: "string" }, tanggal_dokumen: { t: "string", n: 1, f: "date" }, berlaku_sampai: { t: "string", n: 1, f: "date" }, akses: { t: "string", e: ["publik", "internal", "terbatas", "rahasia"] }, status_verifikasi: { t: "string", e: ["tidak_perlu", "diajukan", "terverifikasi", "ditolak"] }, jumlah_file: { t: "integer" } } }, ArsipDokumen: { t: "object", pr: { klasifikasi_id: { t: "integer", n: 1 }, berkas_id: { t: "integer", n: 1 }, lokasi_id: { t: "integer", n: 1 }, aktif_sampai: { t: "string", n: 1, f: "date" }, inaktif_sampai: { t: "string", n: 1, f: "date" }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, status_arsip: { t: "string", e: ["aktif", "inaktif", "permanen", "dimusnahkan", "diserahkan"] }, id: { t: "integer" }, uuid: { t: "string" }, pemilik_jenis: { t: "string", e: ["universitas", "fakultas", "prodi", "unit", "dosen", "mahasiswa"] }, unit: { t: "object", n: 1 }, pemilik: { t: "object", n: 1, ds: "Data dosen/mahasiswa dari SIAKAD" }, jenis: { t: "object", n: 1 }, nomor: { t: "string", n: 1 }, judul: { t: "string" }, deskripsi: { t: "string", n: 1 }, tanggal_dokumen: { t: "string", n: 1, f: "date" }, berlaku_mulai: { t: "string", n: 1, f: "date" }, berlaku_sampai: { t: "string", n: 1, f: "date" }, penerbit: { t: "string", n: 1 }, kata_kunci: { t: "array", i: { t: "string" } }, akses: { t: "string", e: ["publik", "internal", "terbatas", "rahasia"] }, status_verifikasi: { t: "string", e: ["tidak_perlu", "diajukan", "terverifikasi", "ditolak"] }, catatan_verifikasi: { t: "string", n: 1 }, sumber: { t: "string" }, sumber_ref: { t: "string", n: 1 }, file: { t: "array", i: { t: "object", pr: { id: { t: "string", f: "uuid" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, nama: { t: "string" }, mime: { t: "string" }, ukuran: { t: "integer" }, sha256: { t: "string" }, versi: { t: "integer" }, terkini: { t: "boolean" }, keterangan: { t: "string", n: 1 }, diunggah_oleh: { t: "string", n: 1 }, diunggah_pada: { t: "string" }, dimusnahkan_pada: { t: "string", n: 1 }, unduh: { t: "string", ds: "Path unduh (GET, dengan token)" } } } }, hak: { t: "object" } } }, ArsipFile: { t: "object", pr: { id: { t: "string", f: "uuid" }, peran: { t: "string", e: ["utama", "lampiran", "bukti"] }, nama: { t: "string" }, mime: { t: "string" }, ukuran: { t: "integer" }, sha256: { t: "string" }, versi: { t: "integer" }, terkini: { t: "boolean" }, keterangan: { t: "string", n: 1 }, diunggah_oleh: { t: "string", n: 1 }, diunggah_pada: { t: "string" }, dimusnahkan_pada: { t: "string", n: 1 }, unduh: { t: "string", ds: "Path unduh (GET, dengan token)" } } }, ArsipBerkas: { t: "object", pr: { klasifikasi_id: { t: "integer", n: 1 }, berkas_id: { t: "integer", n: 1 }, lokasi_id: { t: "integer", n: 1 }, aktif_sampai: { t: "string", n: 1, f: "date" }, inaktif_sampai: { t: "string", n: 1, f: "date" }, nasib_akhir: { t: "string", e: ["musnah", "permanen", "dinilai_kembali"] }, status_arsip: { t: "string", e: ["aktif", "inaktif", "permanen", "dimusnahkan", "diserahkan"] }, id: { t: "integer" }, unit_id: { t: "integer" }, nomor_berkas: { t: "string" }, judul: { t: "string" }, uraian: { t: "string", n: 1 }, tahun_awal: { t: "integer", n: 1 }, tahun_akhir: { t: "integer", n: 1 }, status: { t: "string", e: ["terbuka", "ditutup"] }, ditutup_pada: { t: "string", n: 1, f: "date" }, surat: { t: "array", i: { t: "object" } }, dokumen: { t: "array", i: { t: "object" } } } }, ArsipBagikan: { t: "object", pr: { id: { t: "integer" }, entitas: { t: "string" }, entitas_id: { t: "integer" }, ke_jenis: { t: "string", e: ["pengguna", "unit"] }, username: { t: "string", n: 1 }, unit_id: { t: "integer", n: 1 }, hak: { t: "string", e: ["lihat", "unduh"] }, berlaku_sampai: { t: "string", n: 1 }, dibagikan_oleh: { t: "string", n: 1 } } }, ArsipPeminjaman: { t: "object", pr: { id: { t: "integer" }, nomor: { t: "string" }, entitas: { t: "string" }, entitas_id: { t: "integer" }, judul_arsip: { t: "string", n: 1 }, peminjam_username: { t: "string" }, jenis: { t: "string", e: ["fisik", "digital"] }, keperluan: { t: "string" }, tanggal_pinjam: { t: "string", n: 1, f: "date" }, rencana_kembali: { t: "string", n: 1, f: "date" }, status: { t: "string" }, terlambat: { t: "boolean" } } }, ArsipPenyusutan: { t: "object", pr: { id: { t: "integer" }, unit_id: { t: "integer" }, nomor: { t: "string" }, jenis: { t: "string", e: ["pemindahan", "pemusnahan", "penyerahan"] }, judul: { t: "string" }, status: { t: "string" }, nomor_berita_acara: { t: "string", n: 1 }, item: { t: "array", i: { t: "object" } } } } };
|
|
12
|
+
var arsip_default = { key, resources, ops, mandiri, skema };
|
|
13
|
+
|
|
14
|
+
exports.default = arsip_default;
|
|
15
|
+
exports.key = key;
|
|
16
|
+
exports.mandiri = mandiri;
|
|
17
|
+
exports.ops = ops;
|
|
18
|
+
exports.resources = resources;
|
|
19
|
+
exports.skema = skema;
|
|
20
|
+
//# sourceMappingURL=arsip-2T7IEION.cjs.map
|