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/kurikulum.json
|
|
7
|
+
var key = "kurikulum";
|
|
8
|
+
var resources = [{ id: "/v1/kurikulum-obe/capaian/mahasiswa", tag: "Kurikulum OBE: evaluasi & capaian", title: "Evaluasi & capaian", base: "/v1/kurikulum-obe/capaian/mahasiswa", item: "/v1/kurikulum-obe/capaian/mahasiswa/{nim}", key: "nim", get: "getKurikulumObeCapaianMahasiswaByNim", actions: [], children: [] }, { id: "/v1/kurikulum-obe/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/cpmk", item: "/v1/kurikulum-obe/cpmk/{cpmk}", key: "cpmk", update: "putKurikulumObeCpmkByCpmk", del: "deleteKurikulumObeCpmkByCpmk", actions: ["postKurikulumObeCpmkByCpmkSub"], children: [] }, { id: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", title: "Kurikulum", base: "/v1/kurikulum-obe/kurikulum", item: "/v1/kurikulum-obe/kurikulum/{id}", key: "id", list: "getKurikulumObeKurikulum", create: "postKurikulumObeKurikulum", get: "getKurikulumObeKurikulumById", update: "putKurikulumObeKurikulumById", del: "deleteKurikulumObeKurikulumById", actions: ["postKurikulumObeKurikulumByIdStatus", "postKurikulumObeKurikulumByIdRevisi", "putKurikulumObeKurikulumByIdAngkatan", "getKurikulumObeKurikulumByIdValidasi", "getKurikulumObeKurikulumByIdFeeder", "getKurikulumObeKurikulumByIdMatriks", "getKurikulumObeKurikulumByIdCapaian"], children: ["/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", "/v1/kurikulum-obe/kurikulum/{id}/cpl", "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", "/v1/kurikulum-obe/kurikulum/{id}/matriks", "/v1/kurikulum-obe/kurikulum/{id}/mk", "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan"] }, { id: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Bahan kajian", base: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", item: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdBahanKajian", create: "postKurikulumObeKurikulumByIdBahanKajian", update: "putKurikulumObeKurikulumByIdBahanKajianBySid", del: "deleteKurikulumObeKurikulumByIdBahanKajianBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", tag: "Kurikulum OBE: evaluasi & capaian", title: "Riwayat capaian CPL terekam", base: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", list: "getKurikulumObeKurikulumByIdCapaianRiwayat", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "CPL", base: "/v1/kurikulum-obe/kurikulum/{id}/cpl", item: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdCpl", create: "postKurikulumObeKurikulumByIdCpl", update: "putKurikulumObeKurikulumByIdCplBySid", del: "deleteKurikulumObeKurikulumByIdCplBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", title: "Ekuivalensi MK lama ke baru", base: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", item: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", key: "eid", list: "getKurikulumObeKurikulumByIdEkuivalensi", create: "postKurikulumObeKurikulumByIdEkuivalensi", update: "putKurikulumObeKurikulumByIdEkuivalensiByEid", del: "deleteKurikulumObeKurikulumByIdEkuivalensiByEid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/matriks", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Profil, CPL, bahan kajian", base: "/v1/kurikulum-obe/kurikulum/{id}/matriks", item: "/v1/kurikulum-obe/kurikulum/{id}/matriks/{nama}", key: "nama", update: "putKurikulumObeKurikulumByIdMatriksByNama", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah kurikulum", base: "/v1/kurikulum-obe/kurikulum/{id}/mk", list: "getKurikulumObeKurikulumByIdMk", create: "postKurikulumObeKurikulumByIdMk", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", title: "Catatan evaluasi/peninjauan kurikulum", base: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", item: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", key: "pid", list: "getKurikulumObeKurikulumByIdPeninjauan", create: "postKurikulumObeKurikulumByIdPeninjauan", update: "putKurikulumObeKurikulumByIdPeninjauanByPid", del: "deleteKurikulumObeKurikulumByIdPeninjauanByPid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Profil lulusan", base: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", item: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdProfilLulusan", create: "postKurikulumObeKurikulumByIdProfilLulusan", update: "putKurikulumObeKurikulumByIdProfilLulusanBySid", del: "deleteKurikulumObeKurikulumByIdProfilLulusanBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/migrasi", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Riwayat migrasi", base: "/v1/kurikulum-obe/migrasi", item: "/v1/kurikulum-obe/migrasi/{id}", key: "id", list: "getKurikulumObeMigrasi", get: "getKurikulumObeMigrasiById", actions: ["postKurikulumObeMigrasiByIdBatal"], children: [] }, { id: "/v1/kurikulum-obe/migrasi/semester-lama", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Semester data MK lama satu prodi", base: "/v1/kurikulum-obe/migrasi/semester-lama", list: "getKurikulumObeMigrasiSemesterLama", actions: [], children: [] }, { id: "/v1/kurikulum-obe/migrasi/status", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Tahap migrasi per prodi", base: "/v1/kurikulum-obe/migrasi/status", list: "getKurikulumObeMigrasiStatus", actions: [], children: [] }, { id: "/v1/kurikulum-obe/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/mk", item: "/v1/kurikulum-obe/mk/{mk}", key: "mk", get: "getKurikulumObeMkByMk", update: "putKurikulumObeMkByMk", del: "deleteKurikulumObeMkByMk", actions: ["putKurikulumObeMkByMkPrasyarat"], children: ["/v1/kurikulum-obe/mk/{mk}/cpmk", "/v1/kurikulum-obe/mk/{mk}/rps"] }, { id: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "CPMK mata kuliah", base: "/v1/kurikulum-obe/mk/{mk}/cpmk", list: "getKurikulumObeMkByMkCpmk", create: "postKurikulumObeMkByMkCpmk", actions: [], children: [], parent: "/v1/kurikulum-obe/mk" }, { id: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", title: "Versi RPS mata kuliah", base: "/v1/kurikulum-obe/mk/{mk}/rps", list: "getKurikulumObeMkByMkRps", create: "postKurikulumObeMkByMkRps", actions: [], children: [], parent: "/v1/kurikulum-obe/mk" }, { id: "/v1/kurikulum-obe/rps", tag: "Kurikulum OBE: RPS", title: "RPS", base: "/v1/kurikulum-obe/rps", item: "/v1/kurikulum-obe/rps/{rps}", key: "rps", get: "getKurikulumObeRpsByRps", update: "putKurikulumObeRpsByRps", del: "deleteKurikulumObeRpsByRps", actions: ["putKurikulumObeRpsByRpsPertemuan", "putKurikulumObeRpsByRpsEvaluasi", "postKurikulumObeRpsByRpsSahkan"], children: [] }, { id: "/v1/kurikulum-obe/sub-cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/sub-cpmk", item: "/v1/kurikulum-obe/sub-cpmk/{sub}", key: "sub", update: "putKurikulumObeSubCpmkBySub", del: "deleteKurikulumObeSubCpmkBySub", actions: [], children: [] }];
|
|
9
|
+
var ops = { getKurikulumObeReferensi: { id: "getKurikulumObeReferensi", m: "GET", path: "/v1/kurikulum-obe/referensi", tag: "Kurikulum OBE", sum: "Ketentuan dan kode referensi", ds: "Ketentuan Permendiktisaintek 39/2025 (SKS minimal, masa tempuh, batas SKS per semester, IPK lulus per jenjang), ranah/kelompok CPL, bentuk pembelajaran, jenis/kelompok MK, jenis evaluasi Neo Feeder.", sc: ["kurikulum:read"], r: "object", it: "Objek" }, getKurikulumObeMigrasiStatus: { id: "getKurikulumObeMigrasiStatus", m: "GET", path: "/v1/kurikulum-obe/migrasi/status", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap migrasi per prodi", ds: "Tahap: 1_belum, 2_dilengkapi (sudah ada kurikulum draf), 3_disahkan, 4_diterbitkan (MK kurikulum baru sudah dipakai SIAKAD lama). Beserta jumlah semester data lama.", sc: ["kurikulum:read"], r: "list", it: "Objek" }, getKurikulumObeMigrasiSemesterLama: { id: "getKurikulumObeMigrasiSemesterLama", m: "GET", path: "/v1/kurikulum-obe/migrasi/semester-lama", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Semester data MK lama satu prodi", ds: "Jumlah MK, SKS, prasyarat per tahun_id di m_mata_kuliah (sumber impor).", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, rq: 1, ds: "Kode prodi" }], r: "list", it: "Objek" }, postKurikulumObeMigrasiImpor: { id: "postKurikulumObeMigrasiImpor", m: "POST", path: "/v1/kurikulum-obe/migrasi/impor", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap 1: impor kurikulum lama", ds: 'Membaca MK dari m_mata_kuliah (+ prasyarat m_mata_kuliah_syarat, jumlah SKS m_kurikulum) untuk satu atau beberapa semester\ndan menyimpannya sebagai kurikulum OBE draf. Tabel lama tidak diubah. MK dengan kode sama di beberapa semester diambil dari\nsemester terakhir. Tanpa `"jalankan": true` hanya pratinjau.\n\nKurikulum baru: `{"kode_prodi": "55201", "tahun_id": ["20251", "20252"], "kurikulum": {"kode": "K2025", "nama": "Kurikulum 2025"}, "jalankan": true}`\n\nSinkron ulang ke kurikulum draf yang sudah ada: `{"kode_prodi": "55201", "tahun_id": "20261", "kurikulum_id": 3, "jalankan": true}`\n(MK baru', sc: ["kurikulum:migrasi"], b: { ct: "application/json", ref: "KurikulumMigrasiImpor", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, tahun_id: { t: "string", ds: 'Semester sumber: "20251" atau ["20251","20252"]', rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, kurikulum_id: { t: "integer", n: 1, ds: "Sinkron ke kurikulum draf yang ada", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, kurikulum: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 } } }, jalankan: { t: "boolean", ds: "false = pratinjau" } }, rq: ["kode_prodi", "tahun_id"] }, rq: 1 }, r: "object", it: "KurikulumMigrasiHasil" }, postKurikulumObeMigrasiTerbit: { id: "postKurikulumObeMigrasiTerbit", m: "POST", path: "/v1/kurikulum-obe/migrasi/terbit", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap 3: terbitkan MK ke SIAKAD lama", ds: 'Menulis MK kurikulum yang disahkan/berlaku ke m_mata_kuliah untuk satu semester (beserta m_mata_kuliah_syarat dan\nm_kurikulum bila belum ada), agar KRS, jadwal, nilai, dan Feeder lama tetap berjalan. Baris yang sudah ada di semester\nitu tidak diubah (kecuali buatan terbit sebelumnya dan `perbarui: true`). Tanpa `"jalankan": true` hanya pratinjau.\n\n`{"kurikulum_id": 3, "tahun_id": "20261", "semester": "semua", "jalankan": true}`', sc: ["kurikulum:migrasi"], b: { ct: "application/json", ref: "KurikulumMigrasiTerbit", s: { t: "object", pr: { kurikulum_id: { t: "integer", n: 1, rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, tahun_id: { t: "string", n: 1, ds: "Semester tujuan", ex: "20261", rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, semester: { ds: "semua (bawaan), ganjil, genap, atau daftar semester paket [1,3,5]" }, mk_id: { t: "array", i: { t: "integer" } }, perbarui: { t: "boolean", ds: "Perbarui baris buatan terbit sebelumnya" }, bulatkan_sks: { t: "boolean", ds: "Bulatkan SKS desimal (tabel lama bilangan bulat)" }, abaikan_galat: { t: "boolean" }, jalankan: { t: "boolean", ds: "false = pratinjau" } }, rq: ["kurikulum_id", "tahun_id"] }, rq: 1 }, r: "object", it: "KurikulumMigrasiHasil" }, getKurikulumObeMigrasiSelisih: { id: "getKurikulumObeMigrasiSelisih", m: "GET", path: "/v1/kurikulum-obe/migrasi/selisih", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Bandingkan kurikulum baru dengan MK lama satu semester", ds: "MK hanya di kurikulum baru, hanya di m_mata_kuliah, atau berbeda (nama, semester, SKS, jenis, konsentrasi).", sc: ["kurikulum:read"], pa: [{ nm: "kurikulum_id", in: "query", s: { t: "integer", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "tahun_id", in: "query", s: { t: "string", p: "^\\d{4}[1-3]$", ex: "20251", rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, rq: 1, ds: "Semester" }], r: "object", it: "Objek" }, getKurikulumObeMigrasi: { id: "getKurikulumObeMigrasi", m: "GET", path: "/v1/kurikulum-obe/migrasi", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Riwayat migrasi", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Kode prodi" }, { nm: "jenis", in: "query", s: { t: "string" }, ds: "impor atau terbit" }, { 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: "KurikulumMigrasi" }, getKurikulumObeMigrasiById: { id: "getKurikulumObeMigrasiById", m: "GET", path: "/v1/kurikulum-obe/migrasi/{id}", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Detail migrasi", ds: "Termasuk daftar baris yang ditambah/diubah.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/migrasi", k: "id", d: "/v1/kurikulum-obe/migrasi/{id}" } }, rq: 1, ds: "ID migrasi" }], r: "object", it: "KurikulumMigrasi" }, postKurikulumObeMigrasiByIdBatal: { id: "postKurikulumObeMigrasiByIdBatal", m: "POST", path: "/v1/kurikulum-obe/migrasi/{id}/batal", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Batalkan impor/terbit", ds: 'Terbit: ditolak bila MK yang diterbitkan sudah dipakai jadwal/KRS/nilai. Impor: hanya bila kurikulum masih draf; bila sudah ada CPL/CPMK kirim `{"paksa": true}`. Batalkan dari yang terbaru.', sc: ["kurikulum:migrasi"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/migrasi", k: "id", d: "/v1/kurikulum-obe/migrasi/{id}" } }, rq: 1, ds: "ID migrasi" }], r: "object", it: "KurikulumMigrasi" }, getKurikulumObeKurikulum: { id: "getKurikulumObeKurikulum", m: "GET", path: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", sum: "Daftar kurikulum", ds: "Token mahasiswa hanya melihat kurikulum disahkan/berlaku/arsip.", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Kode prodi" }, { nm: "status", in: "query", s: { t: "string" }, ds: "draf, diajukan, disahkan, berlaku, arsip" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari kode/nama" }, { 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: "Kurikulum" }, postKurikulumObeKurikulum: { id: "postKurikulumObeKurikulum", m: "POST", path: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", sum: "Buat kurikulum baru (draf)", ds: "Masa tempuh, SKS lulus, IPK minimal, dan masa studi maksimal diisi otomatis dari ketentuan jenjang bila tidak dikirim.", sc: ["kurikulum:write"], b: { ct: "application/json", ref: "KurikulumInput", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } }, rq: ["kode_prodi", "kode", "nama"] }, rq: 1 }, r: "object", it: "Kurikulum" }, getKurikulumObeKurikulumById: { id: "getKurikulumObeKurikulumById", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Detail kurikulum", ds: "Beserta ringkasan isi, angkatan pengguna, dan transisi status yang tersedia.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Kurikulum" }, putKurikulumObeKurikulumById: { id: "putKurikulumObeKurikulumById", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Ubah kurikulum", ds: "Kurikulum disahkan/berlaku: hanya data naratif dan id Feeder yang bisa diubah; beban belajar butuh revisi.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumInput", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } }, rq: ["kode_prodi", "kode", "nama"] }, rq: 1 }, r: "object", it: "Kurikulum" }, deleteKurikulumObeKurikulumById: { id: "deleteKurikulumObeKurikulumById", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Hapus kurikulum draf", ds: "Ditolak bila pernah diterbitkan ke tabel lama.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "none" }, postKurikulumObeKurikulumByIdStatus: { id: "postKurikulumObeKurikulumByIdStatus", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/status", tag: "Kurikulum OBE", sum: "Ubah status", ds: 'Alur: draf -> diajukan (kurikulum:write) -> disahkan (kurikulum:sahkan, wajib `no_sk`, ditolak bila validasi masih ada galat\nkecuali `abaikan_galat: true`) -> berlaku (wajib `tahun_id_mulai`) -> arsip. Disahkan dapat dikembalikan ke draf.\n`{"status": "disahkan", "no_sk": "123/UNIPO/2026", "tanggal_sk": "2026-07-01"}`', sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumStatus", s: { t: "object", pr: { status: { t: "string", e: ["draf", "diajukan", "disahkan", "berlaku", "arsip"] }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, tahun_id_mulai: { t: "string", n: 1 }, tahun_id_selesai: { t: "string", n: 1 }, abaikan_galat: { t: "boolean" } }, rq: ["status"] }, rq: 1 }, r: "object", it: "Kurikulum" }, postKurikulumObeKurikulumByIdRevisi: { id: "postKurikulumObeKurikulumByIdRevisi", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/revisi", tag: "Kurikulum OBE", sum: "Buat revisi (versi baru)", ds: 'Menyalin seluruh isi (profil, CPL, BK, MK, prasyarat, CPMK, matriks, RPS terakhir) menjadi draf baru. `{"kode": "K2027", "nama": "Kurikulum 2027"}`', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Kurikulum" }, putKurikulumObeKurikulumByIdAngkatan: { id: "putKurikulumObeKurikulumByIdAngkatan", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/angkatan", tag: "Kurikulum OBE", sum: "Tetapkan angkatan pengguna kurikulum", ds: '`{"angkatan": [2025, 2026]}`. Satu angkatan satu kurikulum per prodi; `pindahkan: true` memindahkan dari kurikulum lain.', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, getKurikulumObeKurikulumByIdValidasi: { id: "getKurikulumObeKurikulumByIdValidasi", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/validasi", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Validasi terhadap SN Dikti dan kelengkapan OBE", ds: "Isi minimal kurikulum (Pasal 44), SKS minimal, masa tempuh/studi, batas SKS per semester, IPK lulus, tugas akhir, magang, pemetaan CPL-MK-CPMK, RPS, prasyarat. Tingkat: galat, peringatan, info.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "KurikulumValidasi" }, getKurikulumObeKurikulumByIdFeeder: { id: "getKurikulumObeKurikulumByIdFeeder", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/feeder", tag: "Kurikulum OBE", sum: "Data pelaporan Neo Feeder", ds: "Payload Kurikulum, Mata Kuliah, Matkul Kurikulum, Rencana Pembelajaran, dan Rencana Evaluasi (dari RPS disahkan). Hanya disusun, tidak dikirim.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, getKurikulumObeKurikulumByIdMatriks: { id: "getKurikulumObeKurikulumByIdMatriks", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/matriks", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Semua matriks pemetaan", ds: "profil-cpl, cpl-bk, cpl-mk (berbobot), bk-mk, dan cpmk-cpl.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdMatriksByNama: { id: "putKurikulumObeKurikulumByIdMatriksByNama", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/matriks/{nama}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Simpan matriks", ds: 'nama: profil-cpl, cpl-bk, cpl-mk, bk-mk. Ganti semua: `{"pasangan": [{"cpl_id": 1, "mk_id": 5, "bobot": 2}]}`; sebagian: `{"tambah": [...], "hapus": [...]}`.', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "nama", in: "path", s: { t: "string", ex: "cpl-mk" }, rq: 1, ds: "Nama matriks" }], b: { ct: "application/json", ref: "KurikulumMatriks", s: { t: "object", pr: { pasangan: { t: "array", i: { t: "object" } }, tambah: { t: "array", i: { t: "object" } }, hapus: { t: "array", i: { t: "object" } } } }, rq: 1 }, r: "list", it: "Objek" }, getKurikulumObeKurikulumByIdProfilLulusan: { id: "getKurikulumObeKurikulumByIdProfilLulusan", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar profil lulusan", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumProfil" }, postKurikulumObeKurikulumByIdProfilLulusan: { id: "postKurikulumObeKurikulumByIdProfilLulusan", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah profil lulusan", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumProfilInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumProfil" }, putKurikulumObeKurikulumByIdProfilLulusanBySid: { id: "putKurikulumObeKurikulumByIdProfilLulusanBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah profil lulusan", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID profil lulusan" }], b: { ct: "application/json", ref: "KurikulumProfilInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumProfil" }, deleteKurikulumObeKurikulumByIdProfilLulusanBySid: { id: "deleteKurikulumObeKurikulumByIdProfilLulusanBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus profil lulusan", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID profil lulusan" }], r: "none" }, getKurikulumObeKurikulumByIdCpl: { id: "getKurikulumObeKurikulumByIdCpl", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar CPL", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumCpl" }, postKurikulumObeKurikulumByIdCpl: { id: "postKurikulumObeKurikulumByIdCpl", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah CPL", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumCplInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", e: ["a", "b", "c", "d"] }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", e: ["sn_dikti", "kkni", "asosiasi", "prodi", "dudika"] }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "ranah", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpl" }, putKurikulumObeKurikulumByIdCplBySid: { id: "putKurikulumObeKurikulumByIdCplBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah CPL", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPL" }], b: { ct: "application/json", ref: "KurikulumCplInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", e: ["a", "b", "c", "d"] }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", e: ["sn_dikti", "kkni", "asosiasi", "prodi", "dudika"] }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "ranah", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpl" }, deleteKurikulumObeKurikulumByIdCplBySid: { id: "deleteKurikulumObeKurikulumByIdCplBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus CPL", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPL" }], r: "none" }, getKurikulumObeKurikulumByIdBahanKajian: { id: "getKurikulumObeKurikulumByIdBahanKajian", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar bahan kajian", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumBk" }, postKurikulumObeKurikulumByIdBahanKajian: { id: "postKurikulumObeKurikulumByIdBahanKajian", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah bahan kajian", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumBkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumBk" }, putKurikulumObeKurikulumByIdBahanKajianBySid: { id: "putKurikulumObeKurikulumByIdBahanKajianBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah bahan kajian", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID bahan kajian" }], b: { ct: "application/json", ref: "KurikulumBkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumBk" }, deleteKurikulumObeKurikulumByIdBahanKajianBySid: { id: "deleteKurikulumObeKurikulumByIdBahanKajianBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus bahan kajian", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID bahan kajian" }], r: "none" }, getKurikulumObeKurikulumByIdMk: { id: "getKurikulumObeKurikulumByIdMk", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Mata kuliah kurikulum", ds: "Beserta kode CPL, prasyarat, jumlah CPMK, status RPS terakhir.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "semester", in: "query", s: { t: "string" }, ds: "Semester paket" }, { nm: "jenis", in: "query", s: { t: "string" }, ds: "A, B, C, D, S, W" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari kode/nama" }], r: "list", it: "KurikulumMk" }, postKurikulumObeKurikulumByIdMk: { id: "postKurikulumObeKurikulumByIdMk", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah mata kuliah", ds: "Kirim `sks` saja (dianggap tatap muka) atau komponen sks_tatap_muka/sks_praktikum/sks_praktik_lapangan/sks_simulasi.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumMkInput", s: { t: "object", pr: { kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode_mk", "nama", "jenis"] }, rq: 1 }, r: "object", it: "KurikulumMk" }, getKurikulumObeMkByMk: { id: "getKurikulumObeMkByMk", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Detail mata kuliah", ds: "Prasyarat, CPL, bahan kajian, CPMK + sub-CPMK, daftar versi RPS.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "object", it: "KurikulumMk" }, putKurikulumObeMkByMk: { id: "putKurikulumObeMkByMk", m: "PUT", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah mata kuliah", sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumMkInput", s: { t: "object", pr: { kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode_mk", "nama", "jenis"] }, rq: 1 }, r: "object", it: "KurikulumMk" }, deleteKurikulumObeMkByMk: { id: "deleteKurikulumObeMkByMk", m: "DELETE", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus mata kuliah", sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "none" }, putKurikulumObeMkByMkPrasyarat: { id: "putKurikulumObeMkByMkPrasyarat", m: "PUT", path: "/v1/kurikulum-obe/mk/{mk}/prasyarat", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ganti prasyarat", ds: '`{"prasyarat": [{"prasyarat_id": 12, "jenis": "lulus", "nilai_min": "C"}]}`. jenis: lulus, pernah_ambil, bersamaan. Prasyarat melingkar ditolak.', sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "object", it: "KurikulumMk" }, getKurikulumObeMkByMkCpmk: { id: "getKurikulumObeMkByMkCpmk", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "CPMK mata kuliah", ds: "Beserta CPL yang didukung dan sub-CPMK.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "list", it: "KurikulumCpmk" }, postKurikulumObeMkByMkCpmk: { id: "postKurikulumObeMkByMkCpmk", m: "POST", path: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah CPMK", ds: '`{"kode": "CPMK1", "deskripsi": "...", "cpl": [{"cpl_id": 3, "bobot": 1}]}`', sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumCpmkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, bobot: { t: "number", n: 1 } } } } }, rq: ["kode", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpmk" }, putKurikulumObeCpmkByCpmk: { id: "putKurikulumObeCpmkByCpmk", m: "PUT", path: "/v1/kurikulum-obe/cpmk/{cpmk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah CPMK", ds: "Mengirim `cpl` mengganti pemetaan CPMK-CPL.", sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], b: { ct: "application/json", ref: "KurikulumCpmkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, bobot: { t: "number", n: 1 } } } } }, rq: ["kode", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpmk" }, deleteKurikulumObeCpmkByCpmk: { id: "deleteKurikulumObeCpmkByCpmk", m: "DELETE", path: "/v1/kurikulum-obe/cpmk/{cpmk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus CPMK", sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], r: "none" }, postKurikulumObeCpmkByCpmkSub: { id: "postKurikulumObeCpmkByCpmkSub", m: "POST", path: "/v1/kurikulum-obe/cpmk/{cpmk}/sub", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah sub-CPMK", ds: '`{"kode": "Sub-CPMK1.1", "deskripsi": "...", "indikator": "..."}`', sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], r: "object", it: "Objek" }, putKurikulumObeSubCpmkBySub: { id: "putKurikulumObeSubCpmkBySub", m: "PUT", path: "/v1/kurikulum-obe/sub-cpmk/{sub}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah sub-CPMK", sc: ["kurikulum:write"], pa: [{ nm: "sub", in: "path", s: { t: "string" }, rq: 1, ds: "ID sub-CPMK" }], r: "object", it: "Objek" }, deleteKurikulumObeSubCpmkBySub: { id: "deleteKurikulumObeSubCpmkBySub", m: "DELETE", path: "/v1/kurikulum-obe/sub-cpmk/{sub}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus sub-CPMK", sc: ["kurikulum:write"], pa: [{ nm: "sub", in: "path", s: { t: "string" }, rq: 1, ds: "ID sub-CPMK" }], r: "none" }, getKurikulumObeMkByMkRps: { id: "getKurikulumObeMkByMkRps", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", sum: "Versi RPS mata kuliah", ds: "Mahasiswa hanya melihat RPS yang disahkan.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "list", it: "KurikulumRps" }, postKurikulumObeMkByMkRps: { id: "postKurikulumObeMkByMkRps", m: "POST", path: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", sum: "Buat RPS (versi baru)", ds: 'Staf prodi (kurikulum:write) atau dosen (kurikulum:rps) koordinator/pengampu MK. `{"salin_dari": 7}` menyalin versi lain sebagai titik awal.', sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumRpsInput", s: { t: "object", pr: { tahun_id: { t: "string", n: 1, rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 }, salin_dari: { t: "integer", n: 1, ds: "ID RPS sumber (hanya saat membuat)" } } }, rq: 1 }, r: "object", it: "KurikulumRps" }, getKurikulumObeRpsByRps: { id: "getKurikulumObeRpsByRps", m: "GET", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "RPS lengkap", ds: "Identitas MK, CPL, CPMK, sub-CPMK, rencana pertemuan, rencana evaluasi, total bobot.", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "object", it: "KurikulumRps" }, putKurikulumObeRpsByRps: { id: "putKurikulumObeRpsByRps", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "Ubah identitas RPS", ds: "Hanya RPS draf.", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsInput", s: { t: "object", pr: { tahun_id: { t: "string", n: 1, rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 }, salin_dari: { t: "integer", n: 1, ds: "ID RPS sumber (hanya saat membuat)" } } }, rq: 1 }, r: "object", it: "KurikulumRps" }, deleteKurikulumObeRpsByRps: { id: "deleteKurikulumObeRpsByRps", m: "DELETE", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "Hapus RPS draf", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "none" }, putKurikulumObeRpsByRpsPertemuan: { id: "putKurikulumObeRpsByRpsPertemuan", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}/pertemuan", tag: "Kurikulum OBE: RPS", sum: "Ganti rencana pertemuan", ds: '`{"pertemuan": [{"pertemuan_ke": 1, "sub_cpmk_id": 4, "materi": "...", "metode": "Kuliah, diskusi", "modalitas": "luring", "waktu_menit": 150, "bobot": 5}]}`', sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsPertemuan", s: { t: "object", pr: { pertemuan: { t: "array", i: { t: "object", pr: { pertemuan_ke: { t: "integer", n: 1 }, sampai_ke: { t: "integer", n: 1 }, sub_cpmk_id: { t: "integer", n: 1 }, materi: { t: "string", n: 1 }, materi_en: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, kriteria_penilaian: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, waktu_menit: { t: "integer", n: 1 }, penugasan: { t: "string", n: 1 }, pustaka: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, ujian: { t: "boolean" } }, rq: ["pertemuan_ke"] } } }, rq: ["pertemuan"] }, rq: 1 }, r: "object", it: "KurikulumRps" }, putKurikulumObeRpsByRpsEvaluasi: { id: "putKurikulumObeRpsByRpsEvaluasi", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}/evaluasi", tag: "Kurikulum OBE: RPS", sum: "Ganti rencana evaluasi", ds: 'Total bobot harus 100. jenis_evaluasi mengikuti Neo Feeder (1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian). `{"evaluasi": [{"jenis_evaluasi": 4, "nama": "UTS", "bobot": 30, "komponen_siakad": "UTS", "cpmk": [{"cpmk_id": 1}]}]}`', sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsEvaluasi", s: { t: "object", pr: { evaluasi: { t: "array", i: { t: "object", pr: { jenis_evaluasi: { t: "integer", n: 1, ds: "1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian" }, nama: { t: "string", n: 1 }, nama_en: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, komponen_siakad: { t: "string", e: ["Harian", "Tugas", "HDR", "UTS", "UAS"] }, cpmk: { t: "array", i: { t: "object" } } }, rq: ["jenis_evaluasi", "nama", "bobot"] } }, izinkan_total_bukan_100: { t: "boolean" } }, rq: ["evaluasi"] }, rq: 1 }, r: "object", it: "KurikulumRps" }, postKurikulumObeRpsByRpsSahkan: { id: "postKurikulumObeRpsByRpsSahkan", m: "POST", path: "/v1/kurikulum-obe/rps/{rps}/sahkan", tag: "Kurikulum OBE: RPS", sum: "Sahkan RPS", ds: "Oleh program studi. Syarat: ada CPMK, rencana pertemuan, evaluasi total 100. Versi sah sebelumnya diarsipkan.", sc: ["kurikulum:write"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "object", it: "KurikulumRps" }, getKurikulumObeKurikulumByIdEkuivalensi: { id: "getKurikulumObeKurikulumByIdEkuivalensi", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", sum: "Ekuivalensi MK lama ke baru", ds: "MK dengan kode sama otomatis setara tanpa baris ekuivalensi.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumEkuivalensi" }, postKurikulumObeKurikulumByIdEkuivalensi: { id: "postKurikulumObeKurikulumByIdEkuivalensi", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", sum: "Tambah ekuivalensi", ds: "jenis: setara, gabung (beberapa MK lama ke satu MK baru), pecah, dihapus (mk_id null).", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumEkuivalensiInput", s: { t: "object", pr: { kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, mk_id: { t: "integer", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } }, rq: ["kode_mk_lama"] }, rq: 1 }, r: "object", it: "KurikulumEkuivalensi" }, postKurikulumObeKurikulumByIdEkuivalensiOtomatis: { id: "postKurikulumObeKurikulumByIdEkuivalensiOtomatis", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/otomatis", tag: "Kurikulum OBE", sum: "Buat ekuivalensi otomatis", ds: "Dari kurikulum lain (`kurikulum_lama_id`) atau MK lama satu semester (`tahun_id_lama`): nama sama dianggap setara. MK lama tanpa pasangan dilaporkan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdEkuivalensiByEid: { id: "putKurikulumObeKurikulumByIdEkuivalensiByEid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", tag: "Kurikulum OBE", sum: "Ubah ekuivalensi", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "eid", in: "path", s: { t: "string" }, rq: 1, ds: "ID ekuivalensi" }], b: { ct: "application/json", ref: "KurikulumEkuivalensiInput", s: { t: "object", pr: { kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, mk_id: { t: "integer", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } }, rq: ["kode_mk_lama"] }, rq: 1 }, r: "object", it: "KurikulumEkuivalensi" }, deleteKurikulumObeKurikulumByIdEkuivalensiByEid: { id: "deleteKurikulumObeKurikulumByIdEkuivalensiByEid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", tag: "Kurikulum OBE", sum: "Hapus ekuivalensi", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "eid", in: "path", s: { t: "string" }, rq: 1, ds: "ID ekuivalensi" }], r: "none" }, getKurikulumObeKurikulumByIdPeninjauan: { id: "getKurikulumObeKurikulumByIdPeninjauan", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Catatan evaluasi/peninjauan kurikulum", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "Objek" }, postKurikulumObeKurikulumByIdPeninjauan: { id: "postKurikulumObeKurikulumByIdPeninjauan", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Tambah catatan peninjauan", ds: "jenis: evaluasi_tahunan, peninjauan, audit_mutu, masukan_pemangku, lainnya.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumPeninjauanInput", s: { t: "object", pr: { jenis: { t: "string", e: ["evaluasi_tahunan", "peninjauan", "audit_mutu", "masukan_pemangku", "lainnya"] }, judul: { t: "string", n: 1 }, tanggal: { t: "string", n: 1, f: "date" }, pelaksana: { t: "string", n: 1 }, ringkasan: { t: "string", n: 1 }, temuan: { t: "string", n: 1 }, tindak_lanjut: { t: "string", n: 1 }, status: { t: "string", e: ["rencana", "berjalan", "selesai"] }, tautan_dokumen: { t: "string", n: 1 } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdPeninjauanByPid: { id: "putKurikulumObeKurikulumByIdPeninjauanByPid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Ubah catatan peninjauan", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "pid", in: "path", s: { t: "string" }, rq: 1, ds: "ID peninjauan" }], b: { ct: "application/json", ref: "KurikulumPeninjauanInput", s: { t: "object", pr: { jenis: { t: "string", e: ["evaluasi_tahunan", "peninjauan", "audit_mutu", "masukan_pemangku", "lainnya"] }, judul: { t: "string", n: 1 }, tanggal: { t: "string", n: 1, f: "date" }, pelaksana: { t: "string", n: 1 }, ringkasan: { t: "string", n: 1 }, temuan: { t: "string", n: 1 }, tindak_lanjut: { t: "string", n: 1 }, status: { t: "string", e: ["rencana", "berjalan", "selesai"] }, tautan_dokumen: { t: "string", n: 1 } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "Objek" }, deleteKurikulumObeKurikulumByIdPeninjauanByPid: { id: "deleteKurikulumObeKurikulumByIdPeninjauanByPid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Hapus catatan peninjauan", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "pid", in: "path", s: { t: "string" }, rq: 1, ds: "ID peninjauan" }], r: "none" }, getKurikulumObeKurikulumByIdCapaian: { id: "getKurikulumObeKurikulumByIdCapaian", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Capaian CPL (rekap)", ds: "Dihitung dari nilai akhir MK di SIAKAD (bobot x 25, nilai terbaik), ditimbang matriks CPL-MK; MK lama ikut lewat kode sama/ekuivalensi. Bawaan: angkatan yang ditetapkan memakai kurikulum ini.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "angkatan", in: "query", s: { t: "integer" }, ds: "Tahun masuk" }, { nm: "sampai", in: "query", s: { t: "string", p: "^\\d{4}[1-3]$", ex: "20251" }, ds: "Nilai sampai semester" }], r: "object", it: "KurikulumCapaian" }, postKurikulumObeKurikulumByIdCapaianRekam: { id: "postKurikulumObeKurikulumByIdCapaianRekam", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian/rekam", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Rekam capaian CPL", ds: 'Menyimpan rekap untuk evaluasi kurikulum/akreditasi. `{"tahun_id": "20251", "angkatan": 2022}`', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "KurikulumCapaian" }, getKurikulumObeKurikulumByIdCapaianRiwayat: { id: "getKurikulumObeKurikulumByIdCapaianRiwayat", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Riwayat capaian CPL terekam", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "Objek" }, getKurikulumObeCapaianMahasiswaByNim: { id: "getKurikulumObeCapaianMahasiswaByNim", m: "GET", path: "/v1/kurikulum-obe/capaian/mahasiswa/{nim}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Capaian CPL satu mahasiswa", ds: "Mahasiswa hanya dirinya. Kurikulum diambil dari angkatan mahasiswa, atau kirim kurikulum_id.", sc: ["kurikulum:read"], pa: [{ nm: "nim", in: "path", s: { t: "string", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, rq: 1, ds: "NIM" }, { nm: "kurikulum_id", in: "query", s: { t: "integer", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, ds: "ID kurikulum" }], r: "object", it: "Objek" } };
|
|
10
|
+
var mandiri = ["getKurikulumObeReferensi", "postKurikulumObeMigrasiImpor", "postKurikulumObeMigrasiTerbit", "getKurikulumObeMigrasiSelisih", "postKurikulumObeKurikulumByIdEkuivalensiOtomatis", "postKurikulumObeKurikulumByIdCapaianRekam"];
|
|
11
|
+
var skema = { Objek: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, KurikulumMigrasiHasil: { t: "object", pr: { pratinjau: { t: "boolean" }, ringkasan: { t: "object" }, rencana: { t: "object" }, catatan: { t: "string", n: 1 } } }, KurikulumMigrasi: { t: "object", pr: { id: { t: "integer", n: 1 }, jenis: { t: "string", e: ["impor", "terbit"] }, kode_prodi: { t: "string", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, tahun_id: { t: "string", n: 1 }, opsi: { t: "object" }, ringkasan: { t: "object" }, status: { t: "string", e: ["selesai", "dibatalkan"] }, oleh: { t: "string", n: 1 }, dibatalkan_oleh: { t: "string", n: 1 }, dibatalkan_at: { t: "string", n: 1 }, created_at: { t: "string", n: 1 }, baris: { t: "array", i: { t: "object", pr: { tabel: { t: "string", n: 1 }, aksi: { t: "string", e: ["tambah", "ubah"] }, baris_id: { t: "integer", n: 1 }, kunci: { t: "object" } } } } } }, Kurikulum: { t: "object", pr: { id: { t: "integer", n: 1 }, kode_jenjang: { t: "string", n: 1 }, status: { t: "string", e: ["draf", "diajukan", "disahkan", "berlaku", "arsip"] }, versi: { t: "integer", n: 1 }, induk_id: { t: "integer", n: 1 }, sumber: { t: "string", e: ["baru", "migrasi", "salinan"] }, nama_prodi: { t: "string", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, total_sks_mk: { t: "number", n: 1 }, jumlah_cpl: { t: "integer", n: 1 }, disahkan_oleh: { t: "string", n: 1 }, disahkan_at: { t: "string", n: 1 }, jenjang: { t: "object" }, ringkasan: { t: "object" }, angkatan: { t: "array", i: { t: "integer" } }, transisi_status: { t: "array", i: { t: "string" } }, dibuat_oleh: { t: "string", n: 1 }, created_at: { t: "string", n: 1 }, updated_at: { t: "string", n: 1 }, kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201" }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } } }, KurikulumValidasi: { t: "object", pr: { ringkasan: { t: "object", pr: { galat: { t: "integer", n: 1 }, peringatan: { t: "integer", n: 1 }, info: { t: "integer", n: 1 }, regulasi: { t: "string", n: 1 }, jenjang: { t: "string", n: 1 }, sks_wajib_mk: { t: "number", n: 1 }, sks_pilihan_mk: { t: "number", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, jumlah_cpl: { t: "integer", n: 1 }, kelengkapan_persen: { t: "number", n: 1 }, siap_disahkan: { t: "boolean" } } }, temuan: { t: "array", i: { t: "object", pr: { tingkat: { t: "string", e: ["galat", "peringatan", "info"] }, kode: { t: "string", n: 1 }, pesan: { t: "string", n: 1 }, pasal: { t: "string", n: 1 }, data: { t: "object" } } } } } }, KurikulumProfil: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "PL1" }, nama: { t: "string", n: 1, ex: "Pengembang perangkat lunak" }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumCpl: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPL1" }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", n: 1, ds: "Pasal 7: a, b, c, d" }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", n: 1, ds: "sn_dikti, kkni, asosiasi, prodi, dudika" }, target: { t: "number", n: 1, ds: "Batas tercapai 0-100" }, urutan: { t: "integer", n: 1 }, mata_kuliah: { t: "array", i: { t: "object", pr: { mk_id: { t: "integer", n: 1 }, kode_mk: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, bobot: { t: "number", n: 1 } } } } } }, KurikulumBk: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "BK1" }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumMk: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, legacy_id: { t: "integer", n: 1, ds: "m_mata_kuliah.id sumber impor" }, legacy_tahun_id: { t: "string", n: 1 }, jumlah_cpmk: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "string" } }, prasyarat: { t: "array", i: { t: "object" } }, status_rps: { t: "string", n: 1 }, cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object" } }, sub_cpmk: { t: "array", i: { t: "object" } } } } }, bahan_kajian: { t: "array", i: { t: "object" } }, rps: { t: "array", i: { t: "object" } }, kurikulum: { t: "object" }, kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumCpmk: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, bobot: { t: "number", n: 1 } } } }, sub_cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } } } } }, KurikulumRps: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, versi: { t: "integer", n: 1 }, status: { t: "string", e: ["draf", "disahkan", "arsip"] }, disahkan_oleh: { t: "string", n: 1 }, disahkan_at: { t: "string", n: 1 }, mata_kuliah: { t: "object" }, cpl: { t: "array", i: { t: "object" } }, cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object" } }, sub_cpmk: { t: "array", i: { t: "object" } } } } }, pertemuan: { t: "array", i: { t: "object", pr: { pertemuan_ke: { t: "integer", n: 1 }, sampai_ke: { t: "integer", n: 1 }, sub_cpmk_id: { t: "integer", n: 1 }, materi: { t: "string", n: 1 }, materi_en: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, kriteria_penilaian: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, waktu_menit: { t: "integer", n: 1 }, penugasan: { t: "string", n: 1 }, pustaka: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, ujian: { t: "boolean" } }, rq: ["pertemuan_ke"] } }, evaluasi: { t: "array", i: { t: "object", pr: { jenis_evaluasi: { t: "integer", n: 1, ds: "1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian" }, nama: { t: "string", n: 1 }, nama_en: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, komponen_siakad: { t: "string", e: ["Harian", "Tugas", "HDR", "UTS", "UAS"] }, cpmk: { t: "array", i: { t: "object" } } }, rq: ["jenis_evaluasi", "nama", "bobot"] } }, total_bobot_evaluasi: { t: "number", n: 1 }, total_bobot_pertemuan: { t: "number", n: 1 }, tahun_id: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 } } }, KurikulumEkuivalensi: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode_mk: { t: "string", n: 1 }, nama_mk: { t: "string", n: 1 }, sks_mk: { t: "number", n: 1 }, kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } } }, KurikulumCapaian: { t: "object", pr: { kurikulum_id: { t: "integer", n: 1 }, angkatan: { t: "integer", n: 1 }, sampai_tahun_id: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, ranah: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, jumlah_mahasiswa: { t: "integer", n: 1 }, rata_rata: { t: "number", n: 1 }, persen_tercapai: { t: "number", n: 1 } } } } } } };
|
|
12
|
+
var kurikulum_default = { key, resources, ops, mandiri, skema };
|
|
13
|
+
|
|
14
|
+
exports.default = kurikulum_default;
|
|
15
|
+
exports.key = key;
|
|
16
|
+
exports.mandiri = mandiri;
|
|
17
|
+
exports.ops = ops;
|
|
18
|
+
exports.resources = resources;
|
|
19
|
+
exports.skema = skema;
|
|
20
|
+
//# sourceMappingURL=kurikulum-SRO7TJYI.cjs.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
// src/katalog/data/modul/kurikulum.json
|
|
3
|
+
var key = "kurikulum";
|
|
4
|
+
var resources = [{ id: "/v1/kurikulum-obe/capaian/mahasiswa", tag: "Kurikulum OBE: evaluasi & capaian", title: "Evaluasi & capaian", base: "/v1/kurikulum-obe/capaian/mahasiswa", item: "/v1/kurikulum-obe/capaian/mahasiswa/{nim}", key: "nim", get: "getKurikulumObeCapaianMahasiswaByNim", actions: [], children: [] }, { id: "/v1/kurikulum-obe/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/cpmk", item: "/v1/kurikulum-obe/cpmk/{cpmk}", key: "cpmk", update: "putKurikulumObeCpmkByCpmk", del: "deleteKurikulumObeCpmkByCpmk", actions: ["postKurikulumObeCpmkByCpmkSub"], children: [] }, { id: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", title: "Kurikulum", base: "/v1/kurikulum-obe/kurikulum", item: "/v1/kurikulum-obe/kurikulum/{id}", key: "id", list: "getKurikulumObeKurikulum", create: "postKurikulumObeKurikulum", get: "getKurikulumObeKurikulumById", update: "putKurikulumObeKurikulumById", del: "deleteKurikulumObeKurikulumById", actions: ["postKurikulumObeKurikulumByIdStatus", "postKurikulumObeKurikulumByIdRevisi", "putKurikulumObeKurikulumByIdAngkatan", "getKurikulumObeKurikulumByIdValidasi", "getKurikulumObeKurikulumByIdFeeder", "getKurikulumObeKurikulumByIdMatriks", "getKurikulumObeKurikulumByIdCapaian"], children: ["/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", "/v1/kurikulum-obe/kurikulum/{id}/cpl", "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", "/v1/kurikulum-obe/kurikulum/{id}/matriks", "/v1/kurikulum-obe/kurikulum/{id}/mk", "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan"] }, { id: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Bahan kajian", base: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", item: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdBahanKajian", create: "postKurikulumObeKurikulumByIdBahanKajian", update: "putKurikulumObeKurikulumByIdBahanKajianBySid", del: "deleteKurikulumObeKurikulumByIdBahanKajianBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", tag: "Kurikulum OBE: evaluasi & capaian", title: "Riwayat capaian CPL terekam", base: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", list: "getKurikulumObeKurikulumByIdCapaianRiwayat", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "CPL", base: "/v1/kurikulum-obe/kurikulum/{id}/cpl", item: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdCpl", create: "postKurikulumObeKurikulumByIdCpl", update: "putKurikulumObeKurikulumByIdCplBySid", del: "deleteKurikulumObeKurikulumByIdCplBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", title: "Ekuivalensi MK lama ke baru", base: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", item: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", key: "eid", list: "getKurikulumObeKurikulumByIdEkuivalensi", create: "postKurikulumObeKurikulumByIdEkuivalensi", update: "putKurikulumObeKurikulumByIdEkuivalensiByEid", del: "deleteKurikulumObeKurikulumByIdEkuivalensiByEid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/matriks", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Profil, CPL, bahan kajian", base: "/v1/kurikulum-obe/kurikulum/{id}/matriks", item: "/v1/kurikulum-obe/kurikulum/{id}/matriks/{nama}", key: "nama", update: "putKurikulumObeKurikulumByIdMatriksByNama", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah kurikulum", base: "/v1/kurikulum-obe/kurikulum/{id}/mk", list: "getKurikulumObeKurikulumByIdMk", create: "postKurikulumObeKurikulumByIdMk", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", title: "Catatan evaluasi/peninjauan kurikulum", base: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", item: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", key: "pid", list: "getKurikulumObeKurikulumByIdPeninjauan", create: "postKurikulumObeKurikulumByIdPeninjauan", update: "putKurikulumObeKurikulumByIdPeninjauanByPid", del: "deleteKurikulumObeKurikulumByIdPeninjauanByPid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", title: "Profil lulusan", base: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", item: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", key: "sid", list: "getKurikulumObeKurikulumByIdProfilLulusan", create: "postKurikulumObeKurikulumByIdProfilLulusan", update: "putKurikulumObeKurikulumByIdProfilLulusanBySid", del: "deleteKurikulumObeKurikulumByIdProfilLulusanBySid", actions: [], children: [], parent: "/v1/kurikulum-obe/kurikulum" }, { id: "/v1/kurikulum-obe/migrasi", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Riwayat migrasi", base: "/v1/kurikulum-obe/migrasi", item: "/v1/kurikulum-obe/migrasi/{id}", key: "id", list: "getKurikulumObeMigrasi", get: "getKurikulumObeMigrasiById", actions: ["postKurikulumObeMigrasiByIdBatal"], children: [] }, { id: "/v1/kurikulum-obe/migrasi/semester-lama", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Semester data MK lama satu prodi", base: "/v1/kurikulum-obe/migrasi/semester-lama", list: "getKurikulumObeMigrasiSemesterLama", actions: [], children: [] }, { id: "/v1/kurikulum-obe/migrasi/status", tag: "Kurikulum OBE: migrasi dari kurikulum lama", title: "Tahap migrasi per prodi", base: "/v1/kurikulum-obe/migrasi/status", list: "getKurikulumObeMigrasiStatus", actions: [], children: [] }, { id: "/v1/kurikulum-obe/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/mk", item: "/v1/kurikulum-obe/mk/{mk}", key: "mk", get: "getKurikulumObeMkByMk", update: "putKurikulumObeMkByMk", del: "deleteKurikulumObeMkByMk", actions: ["putKurikulumObeMkByMkPrasyarat"], children: ["/v1/kurikulum-obe/mk/{mk}/cpmk", "/v1/kurikulum-obe/mk/{mk}/rps"] }, { id: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "CPMK mata kuliah", base: "/v1/kurikulum-obe/mk/{mk}/cpmk", list: "getKurikulumObeMkByMkCpmk", create: "postKurikulumObeMkByMkCpmk", actions: [], children: [], parent: "/v1/kurikulum-obe/mk" }, { id: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", title: "Versi RPS mata kuliah", base: "/v1/kurikulum-obe/mk/{mk}/rps", list: "getKurikulumObeMkByMkRps", create: "postKurikulumObeMkByMkRps", actions: [], children: [], parent: "/v1/kurikulum-obe/mk" }, { id: "/v1/kurikulum-obe/rps", tag: "Kurikulum OBE: RPS", title: "RPS", base: "/v1/kurikulum-obe/rps", item: "/v1/kurikulum-obe/rps/{rps}", key: "rps", get: "getKurikulumObeRpsByRps", update: "putKurikulumObeRpsByRps", del: "deleteKurikulumObeRpsByRps", actions: ["putKurikulumObeRpsByRpsPertemuan", "putKurikulumObeRpsByRpsEvaluasi", "postKurikulumObeRpsByRpsSahkan"], children: [] }, { id: "/v1/kurikulum-obe/sub-cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", title: "Mata kuliah & CPMK", base: "/v1/kurikulum-obe/sub-cpmk", item: "/v1/kurikulum-obe/sub-cpmk/{sub}", key: "sub", update: "putKurikulumObeSubCpmkBySub", del: "deleteKurikulumObeSubCpmkBySub", actions: [], children: [] }];
|
|
5
|
+
var ops = { getKurikulumObeReferensi: { id: "getKurikulumObeReferensi", m: "GET", path: "/v1/kurikulum-obe/referensi", tag: "Kurikulum OBE", sum: "Ketentuan dan kode referensi", ds: "Ketentuan Permendiktisaintek 39/2025 (SKS minimal, masa tempuh, batas SKS per semester, IPK lulus per jenjang), ranah/kelompok CPL, bentuk pembelajaran, jenis/kelompok MK, jenis evaluasi Neo Feeder.", sc: ["kurikulum:read"], r: "object", it: "Objek" }, getKurikulumObeMigrasiStatus: { id: "getKurikulumObeMigrasiStatus", m: "GET", path: "/v1/kurikulum-obe/migrasi/status", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap migrasi per prodi", ds: "Tahap: 1_belum, 2_dilengkapi (sudah ada kurikulum draf), 3_disahkan, 4_diterbitkan (MK kurikulum baru sudah dipakai SIAKAD lama). Beserta jumlah semester data lama.", sc: ["kurikulum:read"], r: "list", it: "Objek" }, getKurikulumObeMigrasiSemesterLama: { id: "getKurikulumObeMigrasiSemesterLama", m: "GET", path: "/v1/kurikulum-obe/migrasi/semester-lama", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Semester data MK lama satu prodi", ds: "Jumlah MK, SKS, prasyarat per tahun_id di m_mata_kuliah (sumber impor).", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, rq: 1, ds: "Kode prodi" }], r: "list", it: "Objek" }, postKurikulumObeMigrasiImpor: { id: "postKurikulumObeMigrasiImpor", m: "POST", path: "/v1/kurikulum-obe/migrasi/impor", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap 1: impor kurikulum lama", ds: 'Membaca MK dari m_mata_kuliah (+ prasyarat m_mata_kuliah_syarat, jumlah SKS m_kurikulum) untuk satu atau beberapa semester\ndan menyimpannya sebagai kurikulum OBE draf. Tabel lama tidak diubah. MK dengan kode sama di beberapa semester diambil dari\nsemester terakhir. Tanpa `"jalankan": true` hanya pratinjau.\n\nKurikulum baru: `{"kode_prodi": "55201", "tahun_id": ["20251", "20252"], "kurikulum": {"kode": "K2025", "nama": "Kurikulum 2025"}, "jalankan": true}`\n\nSinkron ulang ke kurikulum draf yang sudah ada: `{"kode_prodi": "55201", "tahun_id": "20261", "kurikulum_id": 3, "jalankan": true}`\n(MK baru', sc: ["kurikulum:migrasi"], b: { ct: "application/json", ref: "KurikulumMigrasiImpor", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, tahun_id: { t: "string", ds: 'Semester sumber: "20251" atau ["20251","20252"]', rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, kurikulum_id: { t: "integer", n: 1, ds: "Sinkron ke kurikulum draf yang ada", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, kurikulum: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 } } }, jalankan: { t: "boolean", ds: "false = pratinjau" } }, rq: ["kode_prodi", "tahun_id"] }, rq: 1 }, r: "object", it: "KurikulumMigrasiHasil" }, postKurikulumObeMigrasiTerbit: { id: "postKurikulumObeMigrasiTerbit", m: "POST", path: "/v1/kurikulum-obe/migrasi/terbit", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Tahap 3: terbitkan MK ke SIAKAD lama", ds: 'Menulis MK kurikulum yang disahkan/berlaku ke m_mata_kuliah untuk satu semester (beserta m_mata_kuliah_syarat dan\nm_kurikulum bila belum ada), agar KRS, jadwal, nilai, dan Feeder lama tetap berjalan. Baris yang sudah ada di semester\nitu tidak diubah (kecuali buatan terbit sebelumnya dan `perbarui: true`). Tanpa `"jalankan": true` hanya pratinjau.\n\n`{"kurikulum_id": 3, "tahun_id": "20261", "semester": "semua", "jalankan": true}`', sc: ["kurikulum:migrasi"], b: { ct: "application/json", ref: "KurikulumMigrasiTerbit", s: { t: "object", pr: { kurikulum_id: { t: "integer", n: 1, rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, tahun_id: { t: "string", n: 1, ds: "Semester tujuan", ex: "20261", rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, semester: { ds: "semua (bawaan), ganjil, genap, atau daftar semester paket [1,3,5]" }, mk_id: { t: "array", i: { t: "integer" } }, perbarui: { t: "boolean", ds: "Perbarui baris buatan terbit sebelumnya" }, bulatkan_sks: { t: "boolean", ds: "Bulatkan SKS desimal (tabel lama bilangan bulat)" }, abaikan_galat: { t: "boolean" }, jalankan: { t: "boolean", ds: "false = pratinjau" } }, rq: ["kurikulum_id", "tahun_id"] }, rq: 1 }, r: "object", it: "KurikulumMigrasiHasil" }, getKurikulumObeMigrasiSelisih: { id: "getKurikulumObeMigrasiSelisih", m: "GET", path: "/v1/kurikulum-obe/migrasi/selisih", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Bandingkan kurikulum baru dengan MK lama satu semester", ds: "MK hanya di kurikulum baru, hanya di m_mata_kuliah, atau berbeda (nama, semester, SKS, jenis, konsentrasi).", sc: ["kurikulum:read"], pa: [{ nm: "kurikulum_id", in: "query", s: { t: "integer", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "tahun_id", in: "query", s: { t: "string", p: "^\\d{4}[1-3]$", ex: "20251", rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, rq: 1, ds: "Semester" }], r: "object", it: "Objek" }, getKurikulumObeMigrasi: { id: "getKurikulumObeMigrasi", m: "GET", path: "/v1/kurikulum-obe/migrasi", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Riwayat migrasi", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Kode prodi" }, { nm: "jenis", in: "query", s: { t: "string" }, ds: "impor atau terbit" }, { 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: "KurikulumMigrasi" }, getKurikulumObeMigrasiById: { id: "getKurikulumObeMigrasiById", m: "GET", path: "/v1/kurikulum-obe/migrasi/{id}", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Detail migrasi", ds: "Termasuk daftar baris yang ditambah/diubah.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/migrasi", k: "id", d: "/v1/kurikulum-obe/migrasi/{id}" } }, rq: 1, ds: "ID migrasi" }], r: "object", it: "KurikulumMigrasi" }, postKurikulumObeMigrasiByIdBatal: { id: "postKurikulumObeMigrasiByIdBatal", m: "POST", path: "/v1/kurikulum-obe/migrasi/{id}/batal", tag: "Kurikulum OBE: migrasi dari kurikulum lama", sum: "Batalkan impor/terbit", ds: 'Terbit: ditolak bila MK yang diterbitkan sudah dipakai jadwal/KRS/nilai. Impor: hanya bila kurikulum masih draf; bila sudah ada CPL/CPMK kirim `{"paksa": true}`. Batalkan dari yang terbaru.', sc: ["kurikulum:migrasi"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/migrasi", k: "id", d: "/v1/kurikulum-obe/migrasi/{id}" } }, rq: 1, ds: "ID migrasi" }], r: "object", it: "KurikulumMigrasi" }, getKurikulumObeKurikulum: { id: "getKurikulumObeKurikulum", m: "GET", path: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", sum: "Daftar kurikulum", ds: "Token mahasiswa hanya melihat kurikulum disahkan/berlaku/arsip.", sc: ["kurikulum:read"], pa: [{ nm: "prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: "Kode prodi" }, { nm: "status", in: "query", s: { t: "string" }, ds: "draf, diajukan, disahkan, berlaku, arsip" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari kode/nama" }, { 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: "Kurikulum" }, postKurikulumObeKurikulum: { id: "postKurikulumObeKurikulum", m: "POST", path: "/v1/kurikulum-obe/kurikulum", tag: "Kurikulum OBE", sum: "Buat kurikulum baru (draf)", ds: "Masa tempuh, SKS lulus, IPK minimal, dan masa studi maksimal diisi otomatis dari ketentuan jenjang bila tidak dikirim.", sc: ["kurikulum:write"], b: { ct: "application/json", ref: "KurikulumInput", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } }, rq: ["kode_prodi", "kode", "nama"] }, rq: 1 }, r: "object", it: "Kurikulum" }, getKurikulumObeKurikulumById: { id: "getKurikulumObeKurikulumById", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Detail kurikulum", ds: "Beserta ringkasan isi, angkatan pengguna, dan transisi status yang tersedia.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Kurikulum" }, putKurikulumObeKurikulumById: { id: "putKurikulumObeKurikulumById", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Ubah kurikulum", ds: "Kurikulum disahkan/berlaku: hanya data naratif dan id Feeder yang bisa diubah; beban belajar butuh revisi.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumInput", s: { t: "object", pr: { kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } }, rq: ["kode_prodi", "kode", "nama"] }, rq: 1 }, r: "object", it: "Kurikulum" }, deleteKurikulumObeKurikulumById: { id: "deleteKurikulumObeKurikulumById", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}", tag: "Kurikulum OBE", sum: "Hapus kurikulum draf", ds: "Ditolak bila pernah diterbitkan ke tabel lama.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "none" }, postKurikulumObeKurikulumByIdStatus: { id: "postKurikulumObeKurikulumByIdStatus", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/status", tag: "Kurikulum OBE", sum: "Ubah status", ds: 'Alur: draf -> diajukan (kurikulum:write) -> disahkan (kurikulum:sahkan, wajib `no_sk`, ditolak bila validasi masih ada galat\nkecuali `abaikan_galat: true`) -> berlaku (wajib `tahun_id_mulai`) -> arsip. Disahkan dapat dikembalikan ke draf.\n`{"status": "disahkan", "no_sk": "123/UNIPO/2026", "tanggal_sk": "2026-07-01"}`', sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumStatus", s: { t: "object", pr: { status: { t: "string", e: ["draf", "diajukan", "disahkan", "berlaku", "arsip"] }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, tahun_id_mulai: { t: "string", n: 1 }, tahun_id_selesai: { t: "string", n: 1 }, abaikan_galat: { t: "boolean" } }, rq: ["status"] }, rq: 1 }, r: "object", it: "Kurikulum" }, postKurikulumObeKurikulumByIdRevisi: { id: "postKurikulumObeKurikulumByIdRevisi", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/revisi", tag: "Kurikulum OBE", sum: "Buat revisi (versi baru)", ds: 'Menyalin seluruh isi (profil, CPL, BK, MK, prasyarat, CPMK, matriks, RPS terakhir) menjadi draf baru. `{"kode": "K2027", "nama": "Kurikulum 2027"}`', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Kurikulum" }, putKurikulumObeKurikulumByIdAngkatan: { id: "putKurikulumObeKurikulumByIdAngkatan", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/angkatan", tag: "Kurikulum OBE", sum: "Tetapkan angkatan pengguna kurikulum", ds: '`{"angkatan": [2025, 2026]}`. Satu angkatan satu kurikulum per prodi; `pindahkan: true` memindahkan dari kurikulum lain.', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, getKurikulumObeKurikulumByIdValidasi: { id: "getKurikulumObeKurikulumByIdValidasi", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/validasi", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Validasi terhadap SN Dikti dan kelengkapan OBE", ds: "Isi minimal kurikulum (Pasal 44), SKS minimal, masa tempuh/studi, batas SKS per semester, IPK lulus, tugas akhir, magang, pemetaan CPL-MK-CPMK, RPS, prasyarat. Tingkat: galat, peringatan, info.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "KurikulumValidasi" }, getKurikulumObeKurikulumByIdFeeder: { id: "getKurikulumObeKurikulumByIdFeeder", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/feeder", tag: "Kurikulum OBE", sum: "Data pelaporan Neo Feeder", ds: "Payload Kurikulum, Mata Kuliah, Matkul Kurikulum, Rencana Pembelajaran, dan Rencana Evaluasi (dari RPS disahkan). Hanya disusun, tidak dikirim.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, getKurikulumObeKurikulumByIdMatriks: { id: "getKurikulumObeKurikulumByIdMatriks", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/matriks", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Semua matriks pemetaan", ds: "profil-cpl, cpl-bk, cpl-mk (berbobot), bk-mk, dan cpmk-cpl.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdMatriksByNama: { id: "putKurikulumObeKurikulumByIdMatriksByNama", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/matriks/{nama}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Simpan matriks", ds: 'nama: profil-cpl, cpl-bk, cpl-mk, bk-mk. Ganti semua: `{"pasangan": [{"cpl_id": 1, "mk_id": 5, "bobot": 2}]}`; sebagian: `{"tambah": [...], "hapus": [...]}`.', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "nama", in: "path", s: { t: "string", ex: "cpl-mk" }, rq: 1, ds: "Nama matriks" }], b: { ct: "application/json", ref: "KurikulumMatriks", s: { t: "object", pr: { pasangan: { t: "array", i: { t: "object" } }, tambah: { t: "array", i: { t: "object" } }, hapus: { t: "array", i: { t: "object" } } } }, rq: 1 }, r: "list", it: "Objek" }, getKurikulumObeKurikulumByIdProfilLulusan: { id: "getKurikulumObeKurikulumByIdProfilLulusan", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar profil lulusan", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumProfil" }, postKurikulumObeKurikulumByIdProfilLulusan: { id: "postKurikulumObeKurikulumByIdProfilLulusan", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah profil lulusan", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumProfilInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumProfil" }, putKurikulumObeKurikulumByIdProfilLulusanBySid: { id: "putKurikulumObeKurikulumByIdProfilLulusanBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah profil lulusan", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID profil lulusan" }], b: { ct: "application/json", ref: "KurikulumProfilInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumProfil" }, deleteKurikulumObeKurikulumByIdProfilLulusanBySid: { id: "deleteKurikulumObeKurikulumByIdProfilLulusanBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/profil-lulusan/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus profil lulusan", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID profil lulusan" }], r: "none" }, getKurikulumObeKurikulumByIdCpl: { id: "getKurikulumObeKurikulumByIdCpl", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar CPL", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumCpl" }, postKurikulumObeKurikulumByIdCpl: { id: "postKurikulumObeKurikulumByIdCpl", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah CPL", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumCplInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", e: ["a", "b", "c", "d"] }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", e: ["sn_dikti", "kkni", "asosiasi", "prodi", "dudika"] }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "ranah", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpl" }, putKurikulumObeKurikulumByIdCplBySid: { id: "putKurikulumObeKurikulumByIdCplBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah CPL", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPL" }], b: { ct: "application/json", ref: "KurikulumCplInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", e: ["a", "b", "c", "d"] }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", e: ["sn_dikti", "kkni", "asosiasi", "prodi", "dudika"] }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "ranah", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpl" }, deleteKurikulumObeKurikulumByIdCplBySid: { id: "deleteKurikulumObeKurikulumByIdCplBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/cpl/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus CPL", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPL" }], r: "none" }, getKurikulumObeKurikulumByIdBahanKajian: { id: "getKurikulumObeKurikulumByIdBahanKajian", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Daftar bahan kajian", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumBk" }, postKurikulumObeKurikulumByIdBahanKajian: { id: "postKurikulumObeKurikulumByIdBahanKajian", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Tambah bahan kajian", ds: "Hanya saat kurikulum berstatus draf/diajukan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumBkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumBk" }, putKurikulumObeKurikulumByIdBahanKajianBySid: { id: "putKurikulumObeKurikulumByIdBahanKajianBySid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Ubah bahan kajian", ds: "Kirim field yang diubah saja.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID bahan kajian" }], b: { ct: "application/json", ref: "KurikulumBkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "KurikulumBk" }, deleteKurikulumObeKurikulumByIdBahanKajianBySid: { id: "deleteKurikulumObeKurikulumByIdBahanKajianBySid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/bahan-kajian/{sid}", tag: "Kurikulum OBE: profil, CPL, bahan kajian", sum: "Hapus bahan kajian", ds: "Pemetaan terkait ikut terhapus.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "sid", in: "path", s: { t: "string" }, rq: 1, ds: "ID bahan kajian" }], r: "none" }, getKurikulumObeKurikulumByIdMk: { id: "getKurikulumObeKurikulumByIdMk", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Mata kuliah kurikulum", ds: "Beserta kode CPL, prasyarat, jumlah CPMK, status RPS terakhir.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "semester", in: "query", s: { t: "string" }, ds: "Semester paket" }, { nm: "jenis", in: "query", s: { t: "string" }, ds: "A, B, C, D, S, W" }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari kode/nama" }], r: "list", it: "KurikulumMk" }, postKurikulumObeKurikulumByIdMk: { id: "postKurikulumObeKurikulumByIdMk", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/mk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah mata kuliah", ds: "Kirim `sks` saja (dianggap tatap muka) atau komponen sks_tatap_muka/sks_praktikum/sks_praktik_lapangan/sks_simulasi.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumMkInput", s: { t: "object", pr: { kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode_mk", "nama", "jenis"] }, rq: 1 }, r: "object", it: "KurikulumMk" }, getKurikulumObeMkByMk: { id: "getKurikulumObeMkByMk", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Detail mata kuliah", ds: "Prasyarat, CPL, bahan kajian, CPMK + sub-CPMK, daftar versi RPS.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "object", it: "KurikulumMk" }, putKurikulumObeMkByMk: { id: "putKurikulumObeMkByMk", m: "PUT", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah mata kuliah", sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumMkInput", s: { t: "object", pr: { kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } }, rq: ["kode_mk", "nama", "jenis"] }, rq: 1 }, r: "object", it: "KurikulumMk" }, deleteKurikulumObeMkByMk: { id: "deleteKurikulumObeMkByMk", m: "DELETE", path: "/v1/kurikulum-obe/mk/{mk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus mata kuliah", sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "none" }, putKurikulumObeMkByMkPrasyarat: { id: "putKurikulumObeMkByMkPrasyarat", m: "PUT", path: "/v1/kurikulum-obe/mk/{mk}/prasyarat", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ganti prasyarat", ds: '`{"prasyarat": [{"prasyarat_id": 12, "jenis": "lulus", "nilai_min": "C"}]}`. jenis: lulus, pernah_ambil, bersamaan. Prasyarat melingkar ditolak.', sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "object", it: "KurikulumMk" }, getKurikulumObeMkByMkCpmk: { id: "getKurikulumObeMkByMkCpmk", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "CPMK mata kuliah", ds: "Beserta CPL yang didukung dan sub-CPMK.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "list", it: "KurikulumCpmk" }, postKurikulumObeMkByMkCpmk: { id: "postKurikulumObeMkByMkCpmk", m: "POST", path: "/v1/kurikulum-obe/mk/{mk}/cpmk", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah CPMK", ds: '`{"kode": "CPMK1", "deskripsi": "...", "cpl": [{"cpl_id": 3, "bobot": 1}]}`', sc: ["kurikulum:write"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumCpmkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, bobot: { t: "number", n: 1 } } } } }, rq: ["kode", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpmk" }, putKurikulumObeCpmkByCpmk: { id: "putKurikulumObeCpmkByCpmk", m: "PUT", path: "/v1/kurikulum-obe/cpmk/{cpmk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah CPMK", ds: "Mengirim `cpl` mengganti pemetaan CPMK-CPL.", sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], b: { ct: "application/json", ref: "KurikulumCpmkInput", s: { t: "object", pr: { kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, bobot: { t: "number", n: 1 } } } } }, rq: ["kode", "deskripsi"] }, rq: 1 }, r: "object", it: "KurikulumCpmk" }, deleteKurikulumObeCpmkByCpmk: { id: "deleteKurikulumObeCpmkByCpmk", m: "DELETE", path: "/v1/kurikulum-obe/cpmk/{cpmk}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus CPMK", sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], r: "none" }, postKurikulumObeCpmkByCpmkSub: { id: "postKurikulumObeCpmkByCpmkSub", m: "POST", path: "/v1/kurikulum-obe/cpmk/{cpmk}/sub", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Tambah sub-CPMK", ds: '`{"kode": "Sub-CPMK1.1", "deskripsi": "...", "indikator": "..."}`', sc: ["kurikulum:write"], pa: [{ nm: "cpmk", in: "path", s: { t: "string" }, rq: 1, ds: "ID CPMK" }], r: "object", it: "Objek" }, putKurikulumObeSubCpmkBySub: { id: "putKurikulumObeSubCpmkBySub", m: "PUT", path: "/v1/kurikulum-obe/sub-cpmk/{sub}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Ubah sub-CPMK", sc: ["kurikulum:write"], pa: [{ nm: "sub", in: "path", s: { t: "string" }, rq: 1, ds: "ID sub-CPMK" }], r: "object", it: "Objek" }, deleteKurikulumObeSubCpmkBySub: { id: "deleteKurikulumObeSubCpmkBySub", m: "DELETE", path: "/v1/kurikulum-obe/sub-cpmk/{sub}", tag: "Kurikulum OBE: mata kuliah & CPMK", sum: "Hapus sub-CPMK", sc: ["kurikulum:write"], pa: [{ nm: "sub", in: "path", s: { t: "string" }, rq: 1, ds: "ID sub-CPMK" }], r: "none" }, getKurikulumObeMkByMkRps: { id: "getKurikulumObeMkByMkRps", m: "GET", path: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", sum: "Versi RPS mata kuliah", ds: "Mahasiswa hanya melihat RPS yang disahkan.", sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], r: "list", it: "KurikulumRps" }, postKurikulumObeMkByMkRps: { id: "postKurikulumObeMkByMkRps", m: "POST", path: "/v1/kurikulum-obe/mk/{mk}/rps", tag: "Kurikulum OBE: RPS", sum: "Buat RPS (versi baru)", ds: 'Staf prodi (kurikulum:write) atau dosen (kurikulum:rps) koordinator/pengampu MK. `{"salin_dari": 7}` menyalin versi lain sebagai titik awal.', sc: ["kurikulum:read"], pa: [{ nm: "mk", in: "path", s: { t: "string" }, rq: 1, ds: "ID MK" }], b: { ct: "application/json", ref: "KurikulumRpsInput", s: { t: "object", pr: { tahun_id: { t: "string", n: 1, rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 }, salin_dari: { t: "integer", n: 1, ds: "ID RPS sumber (hanya saat membuat)" } } }, rq: 1 }, r: "object", it: "KurikulumRps" }, getKurikulumObeRpsByRps: { id: "getKurikulumObeRpsByRps", m: "GET", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "RPS lengkap", ds: "Identitas MK, CPL, CPMK, sub-CPMK, rencana pertemuan, rencana evaluasi, total bobot.", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "object", it: "KurikulumRps" }, putKurikulumObeRpsByRps: { id: "putKurikulumObeRpsByRps", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "Ubah identitas RPS", ds: "Hanya RPS draf.", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsInput", s: { t: "object", pr: { tahun_id: { t: "string", n: 1, rf: { l: "/v1/referensi/tahun-akademik", k: "tahun_id", q: 0 } }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 }, salin_dari: { t: "integer", n: 1, ds: "ID RPS sumber (hanya saat membuat)" } } }, rq: 1 }, r: "object", it: "KurikulumRps" }, deleteKurikulumObeRpsByRps: { id: "deleteKurikulumObeRpsByRps", m: "DELETE", path: "/v1/kurikulum-obe/rps/{rps}", tag: "Kurikulum OBE: RPS", sum: "Hapus RPS draf", sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "none" }, putKurikulumObeRpsByRpsPertemuan: { id: "putKurikulumObeRpsByRpsPertemuan", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}/pertemuan", tag: "Kurikulum OBE: RPS", sum: "Ganti rencana pertemuan", ds: '`{"pertemuan": [{"pertemuan_ke": 1, "sub_cpmk_id": 4, "materi": "...", "metode": "Kuliah, diskusi", "modalitas": "luring", "waktu_menit": 150, "bobot": 5}]}`', sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsPertemuan", s: { t: "object", pr: { pertemuan: { t: "array", i: { t: "object", pr: { pertemuan_ke: { t: "integer", n: 1 }, sampai_ke: { t: "integer", n: 1 }, sub_cpmk_id: { t: "integer", n: 1 }, materi: { t: "string", n: 1 }, materi_en: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, kriteria_penilaian: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, waktu_menit: { t: "integer", n: 1 }, penugasan: { t: "string", n: 1 }, pustaka: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, ujian: { t: "boolean" } }, rq: ["pertemuan_ke"] } } }, rq: ["pertemuan"] }, rq: 1 }, r: "object", it: "KurikulumRps" }, putKurikulumObeRpsByRpsEvaluasi: { id: "putKurikulumObeRpsByRpsEvaluasi", m: "PUT", path: "/v1/kurikulum-obe/rps/{rps}/evaluasi", tag: "Kurikulum OBE: RPS", sum: "Ganti rencana evaluasi", ds: 'Total bobot harus 100. jenis_evaluasi mengikuti Neo Feeder (1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian). `{"evaluasi": [{"jenis_evaluasi": 4, "nama": "UTS", "bobot": 30, "komponen_siakad": "UTS", "cpmk": [{"cpmk_id": 1}]}]}`', sc: ["kurikulum:read"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], b: { ct: "application/json", ref: "KurikulumRpsEvaluasi", s: { t: "object", pr: { evaluasi: { t: "array", i: { t: "object", pr: { jenis_evaluasi: { t: "integer", n: 1, ds: "1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian" }, nama: { t: "string", n: 1 }, nama_en: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, komponen_siakad: { t: "string", e: ["Harian", "Tugas", "HDR", "UTS", "UAS"] }, cpmk: { t: "array", i: { t: "object" } } }, rq: ["jenis_evaluasi", "nama", "bobot"] } }, izinkan_total_bukan_100: { t: "boolean" } }, rq: ["evaluasi"] }, rq: 1 }, r: "object", it: "KurikulumRps" }, postKurikulumObeRpsByRpsSahkan: { id: "postKurikulumObeRpsByRpsSahkan", m: "POST", path: "/v1/kurikulum-obe/rps/{rps}/sahkan", tag: "Kurikulum OBE: RPS", sum: "Sahkan RPS", ds: "Oleh program studi. Syarat: ada CPMK, rencana pertemuan, evaluasi total 100. Versi sah sebelumnya diarsipkan.", sc: ["kurikulum:write"], pa: [{ nm: "rps", in: "path", s: { t: "string" }, rq: 1, ds: "ID RPS" }], r: "object", it: "KurikulumRps" }, getKurikulumObeKurikulumByIdEkuivalensi: { id: "getKurikulumObeKurikulumByIdEkuivalensi", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", sum: "Ekuivalensi MK lama ke baru", ds: "MK dengan kode sama otomatis setara tanpa baris ekuivalensi.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "KurikulumEkuivalensi" }, postKurikulumObeKurikulumByIdEkuivalensi: { id: "postKurikulumObeKurikulumByIdEkuivalensi", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi", tag: "Kurikulum OBE", sum: "Tambah ekuivalensi", ds: "jenis: setara, gabung (beberapa MK lama ke satu MK baru), pecah, dihapus (mk_id null).", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumEkuivalensiInput", s: { t: "object", pr: { kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, mk_id: { t: "integer", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } }, rq: ["kode_mk_lama"] }, rq: 1 }, r: "object", it: "KurikulumEkuivalensi" }, postKurikulumObeKurikulumByIdEkuivalensiOtomatis: { id: "postKurikulumObeKurikulumByIdEkuivalensiOtomatis", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/otomatis", tag: "Kurikulum OBE", sum: "Buat ekuivalensi otomatis", ds: "Dari kurikulum lain (`kurikulum_lama_id`) atau MK lama satu semester (`tahun_id_lama`): nama sama dianggap setara. MK lama tanpa pasangan dilaporkan.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdEkuivalensiByEid: { id: "putKurikulumObeKurikulumByIdEkuivalensiByEid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", tag: "Kurikulum OBE", sum: "Ubah ekuivalensi", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "eid", in: "path", s: { t: "string" }, rq: 1, ds: "ID ekuivalensi" }], b: { ct: "application/json", ref: "KurikulumEkuivalensiInput", s: { t: "object", pr: { kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, mk_id: { t: "integer", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } }, rq: ["kode_mk_lama"] }, rq: 1 }, r: "object", it: "KurikulumEkuivalensi" }, deleteKurikulumObeKurikulumByIdEkuivalensiByEid: { id: "deleteKurikulumObeKurikulumByIdEkuivalensiByEid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/ekuivalensi/{eid}", tag: "Kurikulum OBE", sum: "Hapus ekuivalensi", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "eid", in: "path", s: { t: "string" }, rq: 1, ds: "ID ekuivalensi" }], r: "none" }, getKurikulumObeKurikulumByIdPeninjauan: { id: "getKurikulumObeKurikulumByIdPeninjauan", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Catatan evaluasi/peninjauan kurikulum", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "Objek" }, postKurikulumObeKurikulumByIdPeninjauan: { id: "postKurikulumObeKurikulumByIdPeninjauan", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Tambah catatan peninjauan", ds: "jenis: evaluasi_tahunan, peninjauan, audit_mutu, masukan_pemangku, lainnya.", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], b: { ct: "application/json", ref: "KurikulumPeninjauanInput", s: { t: "object", pr: { jenis: { t: "string", e: ["evaluasi_tahunan", "peninjauan", "audit_mutu", "masukan_pemangku", "lainnya"] }, judul: { t: "string", n: 1 }, tanggal: { t: "string", n: 1, f: "date" }, pelaksana: { t: "string", n: 1 }, ringkasan: { t: "string", n: 1 }, temuan: { t: "string", n: 1 }, tindak_lanjut: { t: "string", n: 1 }, status: { t: "string", e: ["rencana", "berjalan", "selesai"] }, tautan_dokumen: { t: "string", n: 1 } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "Objek" }, putKurikulumObeKurikulumByIdPeninjauanByPid: { id: "putKurikulumObeKurikulumByIdPeninjauanByPid", m: "PUT", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Ubah catatan peninjauan", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "pid", in: "path", s: { t: "string" }, rq: 1, ds: "ID peninjauan" }], b: { ct: "application/json", ref: "KurikulumPeninjauanInput", s: { t: "object", pr: { jenis: { t: "string", e: ["evaluasi_tahunan", "peninjauan", "audit_mutu", "masukan_pemangku", "lainnya"] }, judul: { t: "string", n: 1 }, tanggal: { t: "string", n: 1, f: "date" }, pelaksana: { t: "string", n: 1 }, ringkasan: { t: "string", n: 1 }, temuan: { t: "string", n: 1 }, tindak_lanjut: { t: "string", n: 1 }, status: { t: "string", e: ["rencana", "berjalan", "selesai"] }, tautan_dokumen: { t: "string", n: 1 } }, rq: ["judul"] }, rq: 1 }, r: "object", it: "Objek" }, deleteKurikulumObeKurikulumByIdPeninjauanByPid: { id: "deleteKurikulumObeKurikulumByIdPeninjauanByPid", m: "DELETE", path: "/v1/kurikulum-obe/kurikulum/{id}/peninjauan/{pid}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Hapus catatan peninjauan", sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "pid", in: "path", s: { t: "string" }, rq: 1, ds: "ID peninjauan" }], r: "none" }, getKurikulumObeKurikulumByIdCapaian: { id: "getKurikulumObeKurikulumByIdCapaian", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Capaian CPL (rekap)", ds: "Dihitung dari nilai akhir MK di SIAKAD (bobot x 25, nilai terbaik), ditimbang matriks CPL-MK; MK lama ikut lewat kode sama/ekuivalensi. Bawaan: angkatan yang ditetapkan memakai kurikulum ini.", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }, { nm: "angkatan", in: "query", s: { t: "integer" }, ds: "Tahun masuk" }, { nm: "sampai", in: "query", s: { t: "string", p: "^\\d{4}[1-3]$", ex: "20251" }, ds: "Nilai sampai semester" }], r: "object", it: "KurikulumCapaian" }, postKurikulumObeKurikulumByIdCapaianRekam: { id: "postKurikulumObeKurikulumByIdCapaianRekam", m: "POST", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian/rekam", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Rekam capaian CPL", ds: 'Menyimpan rekap untuk evaluasi kurikulum/akreditasi. `{"tahun_id": "20251", "angkatan": 2022}`', sc: ["kurikulum:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "object", it: "KurikulumCapaian" }, getKurikulumObeKurikulumByIdCapaianRiwayat: { id: "getKurikulumObeKurikulumByIdCapaianRiwayat", m: "GET", path: "/v1/kurikulum-obe/kurikulum/{id}/capaian/riwayat", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Riwayat capaian CPL terekam", sc: ["kurikulum:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, rq: 1, ds: "ID kurikulum" }], r: "list", it: "Objek" }, getKurikulumObeCapaianMahasiswaByNim: { id: "getKurikulumObeCapaianMahasiswaByNim", m: "GET", path: "/v1/kurikulum-obe/capaian/mahasiswa/{nim}", tag: "Kurikulum OBE: evaluasi & capaian", sum: "Capaian CPL satu mahasiswa", ds: "Mahasiswa hanya dirinya. Kurikulum diambil dari angkatan mahasiswa, atau kirim kurikulum_id.", sc: ["kurikulum:read"], pa: [{ nm: "nim", in: "path", s: { t: "string", rf: { l: "/v1/mahasiswa", k: "nim", d: "/v1/mahasiswa/{nim}" } }, rq: 1, ds: "NIM" }, { nm: "kurikulum_id", in: "query", s: { t: "integer", rf: { l: "/v1/kurikulum-obe/kurikulum", k: "id", d: "/v1/kurikulum-obe/kurikulum/{id}" } }, ds: "ID kurikulum" }], r: "object", it: "Objek" } };
|
|
6
|
+
var mandiri = ["getKurikulumObeReferensi", "postKurikulumObeMigrasiImpor", "postKurikulumObeMigrasiTerbit", "getKurikulumObeMigrasiSelisih", "postKurikulumObeKurikulumByIdEkuivalensiOtomatis", "postKurikulumObeKurikulumByIdCapaianRekam"];
|
|
7
|
+
var skema = { Objek: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, KurikulumMigrasiHasil: { t: "object", pr: { pratinjau: { t: "boolean" }, ringkasan: { t: "object" }, rencana: { t: "object" }, catatan: { t: "string", n: 1 } } }, KurikulumMigrasi: { t: "object", pr: { id: { t: "integer", n: 1 }, jenis: { t: "string", e: ["impor", "terbit"] }, kode_prodi: { t: "string", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, tahun_id: { t: "string", n: 1 }, opsi: { t: "object" }, ringkasan: { t: "object" }, status: { t: "string", e: ["selesai", "dibatalkan"] }, oleh: { t: "string", n: 1 }, dibatalkan_oleh: { t: "string", n: 1 }, dibatalkan_at: { t: "string", n: 1 }, created_at: { t: "string", n: 1 }, baris: { t: "array", i: { t: "object", pr: { tabel: { t: "string", n: 1 }, aksi: { t: "string", e: ["tambah", "ubah"] }, baris_id: { t: "integer", n: 1 }, kunci: { t: "object" } } } } } }, Kurikulum: { t: "object", pr: { id: { t: "integer", n: 1 }, kode_jenjang: { t: "string", n: 1 }, status: { t: "string", e: ["draf", "diajukan", "disahkan", "berlaku", "arsip"] }, versi: { t: "integer", n: 1 }, induk_id: { t: "integer", n: 1 }, sumber: { t: "string", e: ["baru", "migrasi", "salinan"] }, nama_prodi: { t: "string", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, total_sks_mk: { t: "number", n: 1 }, jumlah_cpl: { t: "integer", n: 1 }, disahkan_oleh: { t: "string", n: 1 }, disahkan_at: { t: "string", n: 1 }, jenjang: { t: "object" }, ringkasan: { t: "object" }, angkatan: { t: "array", i: { t: "integer" } }, transisi_status: { t: "array", i: { t: "string" } }, dibuat_oleh: { t: "string", n: 1 }, created_at: { t: "string", n: 1 }, updated_at: { t: "string", n: 1 }, kode_prodi: { t: "string", n: 1, ds: "Wajib saat membuat", ex: "55201" }, kode: { t: "string", n: 1, ds: "Unik per prodi", ex: "K2025" }, nama: { t: "string", n: 1, ex: "Kurikulum OBE 2025" }, nama_en: { t: "string", n: 1 }, tahun_berlaku: { t: "integer", n: 1 }, tahun_id_mulai: { t: "string", n: 1, ds: "Semester mulai berlaku", ex: "20251" }, tahun_id_selesai: { t: "string", n: 1 }, regulasi: { t: "string", n: 1 }, no_sk: { t: "string", n: 1 }, tanggal_sk: { t: "string", n: 1, f: "date" }, masa_tempuh: { t: "integer", n: 1, ds: "Semester" }, masa_studi_maks: { t: "integer", n: 1, ds: "Semester, maks. 2x masa tempuh" }, sks_lulus: { t: "integer", n: 1 }, sks_wajib: { t: "integer", n: 1 }, sks_pilihan: { t: "integer", n: 1 }, ipk_min_lulus: { t: "number", n: 1 }, visi_keilmuan: { t: "string", n: 1 }, kompetensi_utama: { t: "string", n: 1, ds: "Pasal 9-10" }, metode_pembelajaran: { t: "string", n: 1 }, modalitas_pembelajaran: { t: "string", n: 1 }, syarat_masuk: { t: "string", n: 1 }, penilaian: { t: "string", n: 1 }, tata_cara_penerimaan: { t: "string", n: 1, ds: "Termasuk RPL" }, tugas_akhir: { t: "string", n: 1 }, keterangan: { t: "string", n: 1 }, id_kurikulum_feeder: { t: "string", n: 1, ds: "id_kurikulum Neo Feeder" } } }, KurikulumValidasi: { t: "object", pr: { ringkasan: { t: "object", pr: { galat: { t: "integer", n: 1 }, peringatan: { t: "integer", n: 1 }, info: { t: "integer", n: 1 }, regulasi: { t: "string", n: 1 }, jenjang: { t: "string", n: 1 }, sks_wajib_mk: { t: "number", n: 1 }, sks_pilihan_mk: { t: "number", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, jumlah_cpl: { t: "integer", n: 1 }, kelengkapan_persen: { t: "number", n: 1 }, siap_disahkan: { t: "boolean" } } }, temuan: { t: "array", i: { t: "object", pr: { tingkat: { t: "string", e: ["galat", "peringatan", "info"] }, kode: { t: "string", n: 1 }, pesan: { t: "string", n: 1 }, pasal: { t: "string", n: 1 }, data: { t: "object" } } } } } }, KurikulumProfil: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "PL1" }, nama: { t: "string", n: 1, ex: "Pengembang perangkat lunak" }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumCpl: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPL1" }, ranah: { t: "string", e: ["sikap", "pengetahuan", "keterampilan_umum", "keterampilan_khusus"] }, kelompok_sn: { t: "string", n: 1, ds: "Pasal 7: a, b, c, d" }, deskripsi: { t: "string", n: 1 }, deskripsi_en: { t: "string", n: 1 }, sumber: { t: "string", n: 1, ds: "sn_dikti, kkni, asosiasi, prodi, dudika" }, target: { t: "number", n: 1, ds: "Batas tercapai 0-100" }, urutan: { t: "integer", n: 1 }, mata_kuliah: { t: "array", i: { t: "object", pr: { mk_id: { t: "integer", n: 1 }, kode_mk: { t: "string", n: 1 }, nama: { t: "string", n: 1 }, bobot: { t: "number", n: 1 } } } } } }, KurikulumBk: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "BK1" }, nama: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumMk: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, legacy_id: { t: "integer", n: 1, ds: "m_mata_kuliah.id sumber impor" }, legacy_tahun_id: { t: "string", n: 1 }, jumlah_cpmk: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "string" } }, prasyarat: { t: "array", i: { t: "object" } }, status_rps: { t: "string", n: 1 }, cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object" } }, sub_cpmk: { t: "array", i: { t: "object" } } } } }, bahan_kajian: { t: "array", i: { t: "object" } }, rps: { t: "array", i: { t: "object" } }, kurikulum: { t: "object" }, kode_mk: { t: "string", n: 1, ex: "IF101" }, nama: { t: "string", n: 1, ex: "Algoritma dan Pemrograman" }, nama_en: { t: "string", n: 1 }, semester: { t: "integer", n: 1, ds: "1-14, null = pilihan bebas" }, sks: { t: "number", n: 1, ds: "Total" }, sks_tatap_muka: { t: "number", n: 1 }, sks_praktikum: { t: "number", n: 1 }, sks_praktik_lapangan: { t: "number", n: 1 }, sks_simulasi: { t: "number", n: 1 }, jenis: { t: "string", e: ["A", "B", "C", "D", "S", "W"], ds: "A wajib, B pilihan, C wajib peminatan, D pilihan peminatan, S tugas akhir, W wajib nasional" }, kelompok: { t: "string", n: 1, ds: "Kelompok MK lama (r_kode 10)" }, kode_kurikulum: { t: "string", n: 1, ds: "A inti, B institusi" }, idks: { t: "string", n: 1, ds: "Konsentrasi (m_kosentrasi.idks)" }, bentuk_nilai: { t: "string", e: ["ip", "lulus"] }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, bentuk_pembelajaran: { t: "array", ds: "kuliah, responsi, tutorial, seminar, praktikum, praktik, studio, penelitian, perancangan, pengembangan, tugas_akhir, pelatihan_bela_negara, pertukaran_pelajar, magang, wirausaha, pengabdian_masyarakat, proyek, lainnya", i: { t: "string" } }, luar_prodi: { t: "boolean", ds: "Dapat ditempuh di luar prodi/PT" }, pertemuan: { t: "integer", n: 1 }, deskripsi: { t: "string", n: 1 }, nidn_koordinator: { t: "string", n: 1 }, id_matkul_feeder: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } }, KurikulumCpmk: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, bobot: { t: "number", n: 1 } } } }, sub_cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, urutan: { t: "integer", n: 1 } } } } } }, KurikulumRps: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, versi: { t: "integer", n: 1 }, status: { t: "string", e: ["draf", "disahkan", "arsip"] }, disahkan_oleh: { t: "string", n: 1 }, disahkan_at: { t: "string", n: 1 }, mata_kuliah: { t: "object" }, cpl: { t: "array", i: { t: "object" } }, cpmk: { t: "array", i: { t: "object", pr: { id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1, ex: "CPMK1" }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, urutan: { t: "integer", n: 1 }, cpl: { t: "array", i: { t: "object" } }, sub_cpmk: { t: "array", i: { t: "object" } } } } }, pertemuan: { t: "array", i: { t: "object", pr: { pertemuan_ke: { t: "integer", n: 1 }, sampai_ke: { t: "integer", n: 1 }, sub_cpmk_id: { t: "integer", n: 1 }, materi: { t: "string", n: 1 }, materi_en: { t: "string", n: 1 }, indikator: { t: "string", n: 1 }, kriteria_penilaian: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, modalitas: { t: "string", e: ["luring", "daring", "bauran"] }, waktu_menit: { t: "integer", n: 1 }, penugasan: { t: "string", n: 1 }, pustaka: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, ujian: { t: "boolean" } }, rq: ["pertemuan_ke"] } }, evaluasi: { t: "array", i: { t: "object", pr: { jenis_evaluasi: { t: "integer", n: 1, ds: "1 aktivitas partisipatif, 2 hasil proyek, 3 kognitif tugas, 4 kognitif ujian" }, nama: { t: "string", n: 1 }, nama_en: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, bobot: { t: "number", n: 1, ds: "%" }, komponen_siakad: { t: "string", e: ["Harian", "Tugas", "HDR", "UTS", "UAS"] }, cpmk: { t: "array", i: { t: "object" } } }, rq: ["jenis_evaluasi", "nama", "bobot"] } }, total_bobot_evaluasi: { t: "number", n: 1 }, total_bobot_pertemuan: { t: "number", n: 1 }, tahun_id: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, materi_pokok: { t: "string", n: 1 }, pustaka_utama: { t: "array", i: { t: "string" } }, pustaka_pendukung: { t: "array", i: { t: "string" } }, media_perangkat_lunak: { t: "string", n: 1 }, media_perangkat_keras: { t: "string", n: 1 }, dosen_pengampu: { t: "array", i: { t: "string" } }, nidn_penyusun: { t: "string", n: 1 }, catatan: { t: "string", n: 1 } } }, KurikulumEkuivalensi: { t: "object", pr: { id: { t: "integer", n: 1 }, kurikulum_id: { t: "integer", n: 1 }, mk_id: { t: "integer", n: 1 }, kode_mk: { t: "string", n: 1 }, nama_mk: { t: "string", n: 1 }, sks_mk: { t: "number", n: 1 }, kode_mk_lama: { t: "string", n: 1 }, nama_mk_lama: { t: "string", n: 1 }, sks_lama: { t: "number", n: 1 }, kurikulum_lama_id: { t: "integer", n: 1 }, tahun_id_lama: { t: "string", n: 1 }, jenis: { t: "string", e: ["setara", "gabung", "pecah", "dihapus"] }, catatan: { t: "string", n: 1 } } }, KurikulumCapaian: { t: "object", pr: { kurikulum_id: { t: "integer", n: 1 }, angkatan: { t: "integer", n: 1 }, sampai_tahun_id: { t: "string", n: 1 }, metode: { t: "string", n: 1 }, cpl: { t: "array", i: { t: "object", pr: { cpl_id: { t: "integer", n: 1 }, kode: { t: "string", n: 1 }, ranah: { t: "string", n: 1 }, deskripsi: { t: "string", n: 1 }, target: { t: "number", n: 1 }, jumlah_mk: { t: "integer", n: 1 }, jumlah_mahasiswa: { t: "integer", n: 1 }, rata_rata: { t: "number", n: 1 }, persen_tercapai: { t: "number", n: 1 } } } } } } };
|
|
8
|
+
var kurikulum_default = { key, resources, ops, mandiri, skema };
|
|
9
|
+
|
|
10
|
+
export { kurikulum_default as default, key, mandiri, ops, resources, skema };
|
|
11
|
+
//# sourceMappingURL=kurikulum-XT7PZJOK.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
// src/katalog/data/modul/layanan.json
|
|
7
|
+
var key = "layanan";
|
|
8
|
+
var resources = [{ id: "/v1/layanan/dokumen", tag: "Layanan: Verifikasi dokumen", title: "Dokumen terverifikasi", base: "/v1/layanan/dokumen", item: "/v1/layanan/dokumen/{id}", key: "id", list: "getLayananDokumen", create: "postLayananDokumen", get: "getLayananDokumenById", update: "putLayananDokumenById", actions: ["postLayananDokumenByIdCabut"], children: ["/v1/layanan/dokumen/{id}/berkas"] }, { id: "/v1/layanan/dokumen/{id}/berkas", tag: "Layanan: Verifikasi dokumen", title: "Dokumen terverifikasi", base: "/v1/layanan/dokumen/{id}/berkas", item: "/v1/layanan/dokumen/{id}/berkas/{uuid}", key: "uuid", list: "getLayananDokumenByIdBerkas", create: "postLayananDokumenByIdBerkas", get: "getLayananDokumenByIdBerkasByUuid", del: "deleteLayananDokumenByIdBerkasByUuid", actions: [], children: [], parent: "/v1/layanan/dokumen" }, { id: "/v1/layanan/jenis", tag: "Layanan: Katalog", title: "Jenis layanan", base: "/v1/layanan/jenis", item: "/v1/layanan/jenis/{id}", key: "id", list: "getLayananJenis", create: "postLayananJenis", get: "getLayananJenisById", update: "putLayananJenisById", del: "deleteLayananJenisById", actions: [], children: [] }, { id: "/v1/layanan/permohonan", tag: "Layanan: Permohonan", title: "Permohonan layanan", base: "/v1/layanan/permohonan", item: "/v1/layanan/permohonan/{id}", key: "id", list: "getLayananPermohonan", create: "postLayananPermohonan", get: "getLayananPermohonanById", update: "putLayananPermohonanById", del: "deleteLayananPermohonanById", actions: ["postLayananPermohonanByIdProses", "postLayananPermohonanByIdMintaPerbaikan", "postLayananPermohonanByIdKirimUlang", "postLayananPermohonanByIdSelesai", "postLayananPermohonanByIdTolak", "postLayananPermohonanByIdBatalkan"], children: ["/v1/layanan/permohonan/{id}/berkas"] }, { id: "/v1/layanan/permohonan/{id}/berkas", tag: "Layanan: Permohonan", title: "Permohonan layanan", base: "/v1/layanan/permohonan/{id}/berkas", item: "/v1/layanan/permohonan/{id}/berkas/{uuid}", key: "uuid", list: "getLayananPermohonanByIdBerkas", create: "postLayananPermohonanByIdBerkas", get: "getLayananPermohonanByIdBerkasByUuid", del: "deleteLayananPermohonanByIdBerkasByUuid", actions: [], children: [], parent: "/v1/layanan/permohonan" }, { id: "/v1/layanan/verifikasi", tag: "Layanan: Verifikasi dokumen", title: "Verifikasi dokumen", base: "/v1/layanan/verifikasi", item: "/v1/layanan/verifikasi/{kode}", key: "kode", get: "getLayananVerifikasiByKode", actions: [], children: [] }];
|
|
9
|
+
var ops = { getLayananVerifikasiByKode: { id: "getLayananVerifikasiByKode", m: "GET", path: "/v1/layanan/verifikasi/{kode}", tag: "Layanan: Verifikasi dokumen", sum: "Cek keaslian dokumen (publik)", ds: "Tanpa token, untuk tautan di QR code. Menampilkan status (sah/dicabut/kedaluwarsa), jenis, nomor, judul, nama pemilik yang disamarkan, penerbit, dan SHA-256 file. Kirim ?sha256= untuk mencocokkan file yang dipegang.", pub: 1, pa: [{ nm: "kode", in: "path", s: { t: "string" }, rq: 1, ds: "Kode verifikasi" }, { nm: "sha256", in: "query", s: { t: "string" }, ds: "SHA-256 file yang ingin dicocokkan" }], r: "object", it: "Objek" }, getLayananJenis: { id: "getLayananJenis", m: "GET", path: "/v1/layanan/jenis", tag: "Layanan: Katalog", sum: "Jenis layanan: daftar", ds: 'Katalog layanan. `isian` = JSON daftar isian formulir, mis. [{"nama":"semester","label":"Semester","wajib":true}]. Semua pemilik token ber-scope layanan:read.', sc: ["layanan:read"], pa: [{ 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)." }, { nm: "kategori", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "unit_id", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "wajib_berkas", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "terbitkan_dokumen", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "aktif", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari di nama, kode" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal (YYYY-MM-DD)" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir (YYYY-MM-DD)" }, { nm: "urut", in: "query", s: { t: "string" }, ds: 'Nama kolom, awali "-" untuk menurun' }], r: "list", it: "LayananJenis" }, postLayananJenis: { id: "postLayananJenis", m: "POST", path: "/v1/layanan/jenis", tag: "Layanan: Katalog", sum: "Jenis layanan: tambah", ds: "Hanya admin modul.", sc: ["layanan:write"], b: { ct: "application/json", ref: "LayananJenisInput", s: { t: "object", pr: { kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-/]+$", ds: "(unik)" }, nama: { t: "string", max: 150 }, kategori: { t: "string", e: ["akademik", "keuangan", "kemahasiswaan", "kepegawaian", "umum"], d: "akademik" }, untuk: { t: "string", max: 100, d: "MAHASISWA" }, unit_id: { t: "integer", ds: "ID di induk_unit", rf: { l: "/v1/induk/unit", k: "id", d: "/v1/induk/unit/{id}" } }, keterangan: { t: "string" }, syarat: { t: "string" }, isian: { t: "object" }, biaya: { t: "number", d: "0" }, sla_hari: { t: "integer", min: 0, mx: 365, d: "3" }, wajib_berkas: { t: "boolean", d: "0" }, terbitkan_dokumen: { t: "boolean", d: "1" }, aktif: { t: "boolean", d: "1" }, urut: { t: "integer", min: 0, mx: 65535, d: "0" } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "LayananJenis" }, getLayananJenisById: { id: "getLayananJenisById", m: "GET", path: "/v1/layanan/jenis/{id}", tag: "Layanan: Katalog", sum: "Jenis layanan: detail", ds: 'Katalog layanan. `isian` = JSON daftar isian formulir, mis. [{"nama":"semester","label":"Semester","wajib":true}]. Semua pemilik token ber-scope layanan:read.', sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "LayananJenis" }, putLayananJenisById: { id: "putLayananJenisById", m: "PUT", path: "/v1/layanan/jenis/{id}", tag: "Layanan: Katalog", sum: "Jenis layanan: ubah", ds: "Hanya admin modul. Kolom yang tidak dikirim tidak berubah.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananJenisInput", s: { t: "object", pr: { kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-/]+$", ds: "(unik)" }, nama: { t: "string", max: 150 }, kategori: { t: "string", e: ["akademik", "keuangan", "kemahasiswaan", "kepegawaian", "umum"], d: "akademik" }, untuk: { t: "string", max: 100, d: "MAHASISWA" }, unit_id: { t: "integer", ds: "ID di induk_unit", rf: { l: "/v1/induk/unit", k: "id", d: "/v1/induk/unit/{id}" } }, keterangan: { t: "string" }, syarat: { t: "string" }, isian: { t: "object" }, biaya: { t: "number", d: "0" }, sla_hari: { t: "integer", min: 0, mx: 365, d: "3" }, wajib_berkas: { t: "boolean", d: "0" }, terbitkan_dokumen: { t: "boolean", d: "1" }, aktif: { t: "boolean", d: "1" }, urut: { t: "integer", min: 0, mx: 65535, d: "0" } }, rq: ["kode", "nama"] }, rq: 1 }, r: "object", it: "LayananJenis" }, deleteLayananJenisById: { id: "deleteLayananJenisById", m: "DELETE", path: "/v1/layanan/jenis/{id}", tag: "Layanan: Katalog", sum: "Jenis layanan: hapus", ds: "Hanya admin modul.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "none" }, getLayananPermohonan: { id: "getLayananPermohonan", m: "GET", path: "/v1/layanan/permohonan", tag: "Layanan: Permohonan", sum: "Permohonan layanan: daftar", ds: "Diajukan pengguna (pemohon = username otomatis, dicek level yang boleh dan isian wajib). Pengelola unit pelaksana memproses. Setiap perubahan status dicatat di riwayat dan dikirim sebagai notifikasi. Pengelola melihat semua; pengguna lain hanya miliknya sendiri (pemohon).", sc: ["layanan:read"], pa: [{ 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)." }, { nm: "jenis_id", in: "query", s: { t: "string", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "unit_id", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "pemohon", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "kode_prodi", in: "query", s: { t: "string", rf: { l: "/v1/referensi/prodi", k: "kode_prodi", q: 0 } }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "status", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "petugas", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari di nomor, pemohon, keperluan" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal (YYYY-MM-DD)" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir (YYYY-MM-DD)" }, { nm: "urut", in: "query", s: { t: "string" }, ds: 'Nama kolom, awali "-" untuk menurun' }], r: "list", it: "LayananPermohonan" }, postLayananPermohonan: { id: "postLayananPermohonan", m: "POST", path: "/v1/layanan/permohonan", tag: "Layanan: Permohonan", sum: "Permohonan layanan: tambah", ds: "Pengelola, atau pengguna untuk datanya sendiri (pemohon diisi otomatis); pemilik hanya bisa mengubah/menghapus bila status diajukan/perlu_perbaikan.", sc: ["layanan:write"], b: { ct: "application/json", ref: "LayananPermohonanInput", s: { t: "object", pr: { jenis_id: { t: "integer", ds: "ID di layanan_jenis", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, pemohon: { t: "string", ds: "user.username", rf: { l: "pengguna", k: "username" } }, keperluan: { t: "string", max: 255 }, data: { t: "object" }, petugas: { t: "string", ds: "user.username (hanya pengelola)", rf: { l: "pengguna", k: "username" } } }, rq: ["jenis_id", "pemohon"] }, rq: 1 }, r: "object", it: "LayananPermohonan" }, getLayananPermohonanById: { id: "getLayananPermohonanById", m: "GET", path: "/v1/layanan/permohonan/{id}", tag: "Layanan: Permohonan", sum: "Permohonan layanan: detail", ds: "Diajukan pengguna (pemohon = username otomatis, dicek level yang boleh dan isian wajib). Pengelola unit pelaksana memproses. Setiap perubahan status dicatat di riwayat dan dikirim sebagai notifikasi. Pengelola melihat semua; pengguna lain hanya miliknya sendiri (pemohon).", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "LayananPermohonan" }, putLayananPermohonanById: { id: "putLayananPermohonanById", m: "PUT", path: "/v1/layanan/permohonan/{id}", tag: "Layanan: Permohonan", sum: "Permohonan layanan: ubah", ds: "Pengelola, atau pengguna untuk datanya sendiri (pemohon diisi otomatis); pemilik hanya bisa mengubah/menghapus bila status diajukan/perlu_perbaikan. Kolom yang tidak dikirim tidak berubah.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanInput", s: { t: "object", pr: { jenis_id: { t: "integer", ds: "ID di layanan_jenis", rf: { l: "/v1/layanan/jenis", k: "id", d: "/v1/layanan/jenis/{id}" } }, pemohon: { t: "string", ds: "user.username", rf: { l: "pengguna", k: "username" } }, keperluan: { t: "string", max: 255 }, data: { t: "object" }, petugas: { t: "string", ds: "user.username (hanya pengelola)", rf: { l: "pengguna", k: "username" } } }, rq: ["jenis_id", "pemohon"] }, rq: 1 }, r: "object", it: "LayananPermohonan" }, deleteLayananPermohonanById: { id: "deleteLayananPermohonanById", m: "DELETE", path: "/v1/layanan/permohonan/{id}", tag: "Layanan: Permohonan", sum: "Permohonan layanan: hapus", ds: "Pengelola, atau pengguna untuk datanya sendiri (pemohon diisi otomatis); pemilik hanya bisa mengubah/menghapus bila status diajukan/perlu_perbaikan.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "none" }, getLayananPermohonanByIdBerkas: { id: "getLayananPermohonanByIdBerkas", m: "GET", path: "/v1/layanan/permohonan/{id}/berkas", tag: "Layanan: Permohonan", sum: "Permohonan layanan: daftar lampiran", ds: "Siapa pun yang boleh melihat barisnya.", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "PusatBerkas" }, postLayananPermohonanByIdBerkas: { id: "postLayananPermohonanByIdBerkas", m: "POST", path: "/v1/layanan/permohonan/{id}/berkas", tag: "Layanan: Permohonan", sum: "Permohonan layanan: unggah lampiran", ds: 'Multipart field "berkas" (atau JSON berkas_base64 + nama_file), opsional jenis dan keterangan. PDF, gambar, dokumen Office/ODF, CSV, TXT, ZIP; maksimal PUSAT_DATA_MAKS_MB (bawaan 20 MB). Pengelola, atau pengguna untuk datanya sendiri (pemohon diisi otomatis); pemilik hanya bisa mengubah/menghapus bila status diajukan/perlu_perbaikan.', sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "PusatBerkasInput", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, jenis: { t: "string", ds: "Mis. lampiran, bukti, laporan" }, keterangan: { t: "string" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string" } } }, rq: 1 }, r: "object", it: "PusatBerkas" }, getLayananPermohonanByIdBerkasByUuid: { id: "getLayananPermohonanByIdBerkasByUuid", m: "GET", path: "/v1/layanan/permohonan/{id}/berkas/{uuid}", tag: "Layanan: Permohonan", sum: "Permohonan layanan: unduh lampiran", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "UUID berkas" }], r: "object" }, deleteLayananPermohonanByIdBerkasByUuid: { id: "deleteLayananPermohonanByIdBerkasByUuid", m: "DELETE", path: "/v1/layanan/permohonan/{id}/berkas/{uuid}", tag: "Layanan: Permohonan", sum: "Permohonan layanan: hapus lampiran", ds: "Pengelola, atau pengguna untuk datanya sendiri (pemohon diisi otomatis); pemilik hanya bisa mengubah/menghapus bila status diajukan/perlu_perbaikan.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "UUID berkas" }], r: "none" }, postLayananPermohonanByIdProses: { id: "postLayananPermohonanByIdProses", m: "POST", path: "/v1/layanan/permohonan/{id}/proses", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Proses", ds: "Pengelola modul. Status harus diajukan, menjadi diproses.", sc: ["layanan:write"], tr: { dari: ["diajukan"], ke: "diproses" }, oleh: "pengelola", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanProsesInput", s: { t: "object", pr: { catatan: { t: "string" } } }, rq: 1 }, r: "object", it: "LayananPermohonan" }, postLayananPermohonanByIdMintaPerbaikan: { id: "postLayananPermohonanByIdMintaPerbaikan", m: "POST", path: "/v1/layanan/permohonan/{id}/minta-perbaikan", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Minta perbaikan", ds: "Pengelola modul. Status harus diajukan/diproses, menjadi perlu_perbaikan.", sc: ["layanan:write"], tr: { dari: ["diajukan", "diproses"], ke: "perlu_perbaikan" }, oleh: "pengelola", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanMintaPerbaikanInput", s: { t: "object", pr: { catatan: { t: "string" } }, rq: ["catatan"] }, rq: 1 }, r: "object", it: "LayananPermohonan" }, postLayananPermohonanByIdKirimUlang: { id: "postLayananPermohonanByIdKirimUlang", m: "POST", path: "/v1/layanan/permohonan/{id}/kirim-ulang", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Kirim ulang setelah perbaikan", ds: "Pemilik data. Status harus perlu_perbaikan, menjadi diajukan.", sc: ["layanan:write"], tr: { dari: ["perlu_perbaikan"], ke: "diajukan" }, oleh: "pemilik", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanKirimUlangInput", s: { t: "object", pr: { catatan: { t: "string" } } }, rq: 1 }, r: "object", it: "LayananPermohonan" }, postLayananPermohonanByIdSelesai: { id: "postLayananPermohonanByIdSelesai", m: "POST", path: "/v1/layanan/permohonan/{id}/selesai", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Selesaikan", ds: "Bila jenis layanan menerbitkan dokumen, dokumen didaftarkan untuk verifikasi QR (kode ada di respons). Lampirkan file final ke permohonan lewat /berkas; sidik SHA-256 file terakhir dipakai saat verifikasi. Pengelola modul. Status harus diajukan/diproses, menjadi selesai.", sc: ["layanan:write"], tr: { dari: ["diajukan", "diproses"], ke: "selesai" }, oleh: "pengelola", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanSelesaiInput", s: { t: "object", pr: { catatan: { t: "string" }, nomor_dokumen: { t: "string", max: 100 }, judul_dokumen: { t: "string", max: 255 }, penandatangan: { t: "string", max: 150 }, berlaku_sampai: { t: "string", f: "date" } } }, rq: 1 }, r: "object", it: "LayananPermohonan" }, postLayananPermohonanByIdTolak: { id: "postLayananPermohonanByIdTolak", m: "POST", path: "/v1/layanan/permohonan/{id}/tolak", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Tolak", ds: "Pengelola modul. Status harus diajukan/diproses/perlu_perbaikan, menjadi ditolak.", sc: ["layanan:write"], tr: { dari: ["diajukan", "diproses", "perlu_perbaikan"], ke: "ditolak" }, oleh: "pengelola", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananPermohonanTolakInput", s: { t: "object", pr: { alasan: { t: "string" } }, rq: ["alasan"] }, rq: 1 }, r: "object", it: "LayananPermohonan" }, postLayananPermohonanByIdBatalkan: { id: "postLayananPermohonanByIdBatalkan", m: "POST", path: "/v1/layanan/permohonan/{id}/batalkan", tag: "Layanan: Permohonan", sum: "Permohonan layanan: Batalkan", ds: "Pemilik data atau pengelola. Status harus diajukan/perlu_perbaikan, menjadi dibatalkan.", sc: ["layanan:write"], tr: { dari: ["diajukan", "perlu_perbaikan"], ke: "dibatalkan" }, oleh: "pemilik_atau_pengelola", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "LayananPermohonan" }, getLayananDokumen: { id: "getLayananDokumen", m: "GET", path: "/v1/layanan/dokumen", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: daftar", ds: "Registri dokumen resmi (surat, transkrip, ijazah, SKPI, sertifikat) dengan kode verifikasi untuk QR. Bisa juga didaftarkan aplikasi/modul lain. Pemilik dokumen melihat dokumennya. Pengelola melihat semua; pengguna lain hanya miliknya sendiri (pemilik_username).", sc: ["layanan:read"], pa: [{ 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)." }, { nm: "jenis", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "pemilik_username", in: "query", s: { t: "string", rf: { l: "pengguna", k: "username" } }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "unit_id", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "permohonan_id", in: "query", s: { t: "string", rf: { l: "/v1/layanan/permohonan", k: "id", d: "/v1/layanan/permohonan/{id}" } }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "status", in: "query", s: { t: "string" }, ds: 'Filter kesamaan (isi "null" untuk kosong)' }, { nm: "q", in: "query", s: { t: "string" }, ds: "Cari di kode, nomor, judul, pemilik_nama" }, { nm: "dari", in: "query", s: { t: "string" }, ds: "Tanggal awal (YYYY-MM-DD)" }, { nm: "sampai", in: "query", s: { t: "string" }, ds: "Tanggal akhir (YYYY-MM-DD)" }, { nm: "urut", in: "query", s: { t: "string" }, ds: 'Nama kolom, awali "-" untuk menurun' }], r: "list", it: "LayananDokumen" }, postLayananDokumen: { id: "postLayananDokumen", m: "POST", path: "/v1/layanan/dokumen", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: tambah", ds: "Pengelola modul (peran ber-unit hanya untuk unitnya).", sc: ["layanan:write"], b: { ct: "application/json", ref: "LayananDokumenInput", s: { t: "object", pr: { jenis: { t: "string", e: ["surat_keterangan", "surat", "transkrip", "ijazah", "skpi", "sertifikat", "lainnya"] }, nomor: { t: "string", max: 100 }, judul: { t: "string", max: 255 }, pemilik_nama: { t: "string", max: 150 }, pemilik_username: { t: "string", ds: "user.username", rf: { l: "pengguna", k: "username" } }, tanggal_terbit: { t: "string", f: "date" }, berlaku_sampai: { t: "string", f: "date" }, unit_id: { t: "integer", ds: "ID di induk_unit", rf: { l: "/v1/induk/unit", k: "id", d: "/v1/induk/unit/{id}" } }, penandatangan: { t: "string", max: 150 }, sha256: { t: "string", max: 64, p: "^[A-Za-z0-9._\\-/]+$" } }, rq: ["jenis", "judul", "tanggal_terbit"] }, rq: 1 }, r: "object", it: "LayananDokumen" }, getLayananDokumenById: { id: "getLayananDokumenById", m: "GET", path: "/v1/layanan/dokumen/{id}", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: detail", ds: "Registri dokumen resmi (surat, transkrip, ijazah, SKPI, sertifikat) dengan kode verifikasi untuk QR. Bisa juga didaftarkan aplikasi/modul lain. Pemilik dokumen melihat dokumennya. Pengelola melihat semua; pengguna lain hanya miliknya sendiri (pemilik_username).", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "object", it: "LayananDokumen" }, putLayananDokumenById: { id: "putLayananDokumenById", m: "PUT", path: "/v1/layanan/dokumen/{id}", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: ubah", ds: "Pengelola modul (peran ber-unit hanya untuk unitnya). Kolom yang tidak dikirim tidak berubah.", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananDokumenInput", s: { t: "object", pr: { jenis: { t: "string", e: ["surat_keterangan", "surat", "transkrip", "ijazah", "skpi", "sertifikat", "lainnya"] }, nomor: { t: "string", max: 100 }, judul: { t: "string", max: 255 }, pemilik_nama: { t: "string", max: 150 }, pemilik_username: { t: "string", ds: "user.username", rf: { l: "pengguna", k: "username" } }, tanggal_terbit: { t: "string", f: "date" }, berlaku_sampai: { t: "string", f: "date" }, unit_id: { t: "integer", ds: "ID di induk_unit", rf: { l: "/v1/induk/unit", k: "id", d: "/v1/induk/unit/{id}" } }, penandatangan: { t: "string", max: 150 }, sha256: { t: "string", max: 64, p: "^[A-Za-z0-9._\\-/]+$" } }, rq: ["jenis", "judul", "tanggal_terbit"] }, rq: 1 }, r: "object", it: "LayananDokumen" }, getLayananDokumenByIdBerkas: { id: "getLayananDokumenByIdBerkas", m: "GET", path: "/v1/layanan/dokumen/{id}/berkas", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: daftar lampiran", ds: "Siapa pun yang boleh melihat barisnya.", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], r: "list", it: "PusatBerkas" }, postLayananDokumenByIdBerkas: { id: "postLayananDokumenByIdBerkas", m: "POST", path: "/v1/layanan/dokumen/{id}/berkas", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: unggah lampiran", ds: 'Multipart field "berkas" (atau JSON berkas_base64 + nama_file), opsional jenis dan keterangan. PDF, gambar, dokumen Office/ODF, CSV, TXT, ZIP; maksimal PUSAT_DATA_MAKS_MB (bawaan 20 MB). Pengelola modul (peran ber-unit hanya untuk unitnya).', sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "multipart/form-data", ref: "PusatBerkasInput", s: { t: "object", pr: { berkas: { t: "string", f: "binary" }, jenis: { t: "string", ds: "Mis. lampiran, bukti, laporan" }, keterangan: { t: "string" }, berkas_base64: { t: "string", ds: "Alternatif JSON" }, nama_file: { t: "string" } } }, rq: 1 }, r: "object", it: "PusatBerkas" }, getLayananDokumenByIdBerkasByUuid: { id: "getLayananDokumenByIdBerkasByUuid", m: "GET", path: "/v1/layanan/dokumen/{id}/berkas/{uuid}", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: unduh lampiran", sc: ["layanan:read"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "UUID berkas" }], r: "object" }, deleteLayananDokumenByIdBerkasByUuid: { id: "deleteLayananDokumenByIdBerkasByUuid", m: "DELETE", path: "/v1/layanan/dokumen/{id}/berkas/{uuid}", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: hapus lampiran", ds: "Pengelola modul (peran ber-unit hanya untuk unitnya).", sc: ["layanan:write"], pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }, { nm: "uuid", in: "path", s: { t: "string" }, rq: 1, ds: "UUID berkas" }], r: "none" }, postLayananDokumenByIdCabut: { id: "postLayananDokumenByIdCabut", m: "POST", path: "/v1/layanan/dokumen/{id}/cabut", tag: "Layanan: Verifikasi dokumen", sum: "Dokumen terverifikasi: Cabut", ds: "Admin modul. Status harus sah, menjadi dicabut.", sc: ["layanan:write"], tr: { dari: ["sah"], ke: "dicabut" }, oleh: "admin", pa: [{ nm: "id", in: "path", s: { t: "string", rf: { l: "/v1/layanan/dokumen", k: "id", d: "/v1/layanan/dokumen/{id}" } }, rq: 1, ds: "ID angka atau UUID" }], b: { ct: "application/json", ref: "LayananDokumenCabutInput", s: { t: "object", pr: { alasan: { t: "string", max: 255 } }, rq: ["alasan"] }, rq: 1 }, r: "object", it: "LayananDokumen" } };
|
|
10
|
+
var mandiri = [];
|
|
11
|
+
var skema = { Objek: { t: "object", ds: "Baris data dengan nama kolom huruf kecil sesuai tabel SIAKAD." }, LayananJenis: { t: "object", ds: "Jenis layanan (tabel layanan_jenis)", pr: { id: { t: "integer" }, kode: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-/]+$", ds: "(unik)" }, nama: { t: "string", max: 150 }, kategori: { t: "string", e: ["akademik", "keuangan", "kemahasiswaan", "kepegawaian", "umum"], d: "akademik" }, untuk: { t: "string", max: 100, d: "MAHASISWA" }, unit_id: { t: "integer", ds: "ID di induk_unit" }, keterangan: { t: "string" }, syarat: { t: "string" }, isian: { t: "object" }, biaya: { t: "number", d: "0" }, sla_hari: { t: "integer", min: 0, mx: 365, d: "3" }, wajib_berkas: { t: "boolean", d: "0" }, terbitkan_dokumen: { t: "boolean", d: "1" }, aktif: { t: "boolean", d: "1" }, urut: { t: "integer", min: 0, mx: 65535, d: "0" }, created_at: { t: "string", n: 1, f: "date-time" }, updated_at: { t: "string", n: 1, f: "date-time" } } }, LayananPermohonan: { t: "object", ds: "Permohonan layanan (tabel layanan_permohonan)", pr: { id: { t: "integer" }, nomor: { t: "string", max: 30, p: "^[A-Za-z0-9._\\-/]+$", ds: "(hanya baca)", ro: 1 }, jenis_id: { t: "integer", ds: "ID di layanan_jenis" }, unit_id: { t: "integer", ds: "ID di induk_unit (hanya baca)", ro: 1 }, pemohon: { t: "string", ds: "user.username" }, kode_prodi: { t: "string", ds: "m_program_studi.kode_prodi (hanya baca)", ro: 1 }, keperluan: { t: "string", max: 255 }, data: { t: "object" }, status: { t: "string", e: ["diajukan", "diproses", "perlu_perbaikan", "selesai", "ditolak", "dibatalkan"], ds: "(hanya baca)", ro: 1 }, petugas: { t: "string", ds: "user.username (hanya pengelola)" }, catatan: { t: "string", ds: "(hanya baca)", ro: 1 }, tenggat: { t: "string", f: "date", ds: "(hanya baca)", ro: 1 }, selesai_pada: { t: "string", f: "date-time", ds: "(hanya baca)", ro: 1 }, dokumen_id: { t: "integer", min: 0, mx: 2147483647, ds: "(hanya baca)", ro: 1 }, created_at: { t: "string", n: 1, f: "date-time" }, updated_at: { t: "string", n: 1, f: "date-time" } } }, PusatBerkas: { t: "object", pr: { uuid: { t: "string" }, jenis: { t: "string" }, nama: { t: "string" }, mime: { t: "string" }, ukuran: { t: "integer" }, sha256: { t: "string" }, keterangan: { t: "string", n: 1 }, diunggah_oleh: { t: "string" }, created_at: { t: "string", f: "date-time" } } }, LayananDokumen: { t: "object", ds: "Dokumen terverifikasi (tabel layanan_dokumen)", pr: { id: { t: "integer" }, kode: { t: "string", max: 20, p: "^[A-Za-z0-9._\\-/]+$", ds: "(hanya baca)", ro: 1 }, jenis: { t: "string", e: ["surat_keterangan", "surat", "transkrip", "ijazah", "skpi", "sertifikat", "lainnya"] }, nomor: { t: "string", max: 100 }, judul: { t: "string", max: 255 }, pemilik_nama: { t: "string", max: 150 }, pemilik_username: { t: "string", ds: "user.username" }, tanggal_terbit: { t: "string", f: "date" }, berlaku_sampai: { t: "string", f: "date" }, unit_id: { t: "integer", ds: "ID di induk_unit" }, penandatangan: { t: "string", max: 150 }, sha256: { t: "string", max: 64, p: "^[A-Za-z0-9._\\-/]+$" }, permohonan_id: { t: "integer", ds: "ID di layanan_permohonan (hanya baca)", ro: 1 }, status: { t: "string", e: ["sah", "dicabut"], ds: "(hanya baca)", ro: 1 }, alasan_cabut: { t: "string", max: 255, ds: "(hanya baca)", ro: 1 }, created_at: { t: "string", n: 1, f: "date-time" }, updated_at: { t: "string", n: 1, f: "date-time" } } } };
|
|
12
|
+
var layanan_default = { key, resources, ops, mandiri, skema };
|
|
13
|
+
|
|
14
|
+
exports.default = layanan_default;
|
|
15
|
+
exports.key = key;
|
|
16
|
+
exports.mandiri = mandiri;
|
|
17
|
+
exports.ops = ops;
|
|
18
|
+
exports.resources = resources;
|
|
19
|
+
exports.skema = skema;
|
|
20
|
+
//# sourceMappingURL=layanan-RQ2AWCQ5.cjs.map
|