ServiceUserRole
Terakhir diperbarui: 3 Juli 2026
ServiceUserRole adalah kumpulan izin yang diberikan kepada end-user yang mendaftar ke produk, yaitu ServiceUser. Resource ini memuat apa yang dapat dilakukan (membaca, membuat, mengedit, menghapus, mempublikasikan) terhadap Content Type, Content, dan Media, beserta filter yang mempersempit cakupan, misalnya hanya Content Type tertentu atau hanya yang dibuat sendiri. Izin ini berlaku pada ACMA/ACDA yang dipanggil oleh ServiceUser.
Posisinya berbeda dari SpaceRole. SpaceRole adalah kumpulan izin untuk Weegloo User (pengguna studio konten) dan berlaku pada CMA/CDA, sedangkan ServiceUserRole adalah kumpulan izin untuk ServiceUser yang mendaftar ke produk dan berlaku pada ACMA/ACDA. ServiceUserRole yang dibuat dengan sendirinya tidak berlaku bagi siapa pun. Anda menerapkannya dengan menetapkannya pada peran default (defaultRole) dari ServiceLogin atau membindingnya ke roleOverride dari ServiceUser.
Struktur resource
Berikut adalah respons single-read dari ServiceUserRole "Pembeli". Selain sys (properti sistem), resource ini memiliki properti badan yang menentukan izin: contentType, content, dan media.
{
"sys": {
"id": "3trmXRLXeZN2RTHvVj3hFDN5546vbp",
"type": "ServiceUserRole",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T12:40:36.944Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T12:40:36.944Z",
"version": 1
},
"name": "Pembeli",
"description": "Anggota yang dapat membaca produk yang dipublikasikan",
"contentType": { "All": { "Allow": [] } },
"content": {
"Read": {
"Allow": [
{ "contentType": { "sys": { "id": "3trmXRLdJF4GBlAjtcuoZ7Pnxj8dlA", "type": "Refer", "targetType": "ContentType" } } }
]
}
},
"media": { "All": { "Allow": [] } }
}Key utama:
contentType: peta izin terhadap Content Type itu sendiri (skema). Menetapkan, per aksi, izin untuk membaca, membuat, mengubah, menghapus, dan mempublikasikan Content Type.content: peta izin terhadap Content (data konten). Contoh di atas membatasi agar hanya Content dari Content Type tertentu yang dapat dibaca.media: peta izin terhadap Media (file dan gambar).
Berbeda dari SpaceRole, ServiceUserRole tidak memiliki settings yang memuat akses ke pengaturan Space. Sebab ServiceUser tidak menangani pengaturan Space. Juga tidak ada sys.isLocked yang menandai apakah resource ini bawaan.
Properti sistem (sys)
Setiap ServiceUserRole memuat properti sistem umum dalam objek sys. space, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Properti | Tipe | Deskripsi |
|---|---|---|
id | string | Pengenal unik resource. |
type | string | Jenis resource. Untuk ServiceUserRole selalu "ServiceUserRole". |
space | Refer<Space> | Space tempat ServiceUserRole ini berada. |
createdBy | Refer<User> | Pengguna yang membuat. |
createdAt | string (date-time) | Waktu pembuatan. |
updatedBy | Refer<User> | Pengguna yang terakhir mengubah. |
updatedAt | string (date-time) | Waktu perubahan terakhir. |
version | integer (≥1) | Versi resource. Naik 1 setiap kali diubah. |
ServiceUserRole adalah resource pengaturan yang tidak memiliki konsep publikasi. Karena itu, berbeda dari Content dan Media, sys tidak memiliki publish, archive, atau status, dan hanya memiliki version. version naik setiap kali ServiceUserRole diubah. Berbeda dari SpaceRole, sys.isLocked juga tidak ada.
Peta izin: contentType, content, media
contentType, content, dan media masing-masing adalah peta yang memiliki aksi sebagai key. Aksinya adalah Read (membaca), Create (membuat), Edit (mengedit), Delete (menghapus), dan Publish (mempublikasikan), serta ada All yang menunjuk semua aksi sekaligus. Nilai dari setiap aksi adalah objek yang memuat array aturan Allow (mengizinkan) dan Deny (menolak). Struktur peta izin ini sama dengan SpaceRole.
"content": {
"Read": { "Allow": [ /* aturan */ ], "Deny": [ /* aturan */ ] },
"Edit": { "Allow": [ /* aturan */ ] }
}Setiap objek aturan (rule) memiliki filter opsional yang mempersempit cakupan izin.
contentType: membatasi target penerapan aturan tersebut pada satu Content Type tertentu. Diisi denganReferyang menunjuk ke Content Type.createdBy: membatasi hanya pada resource yang dibuat oleh pengguna tertentu. Jikasys.iddiisi dengan id tertentu, maka hanya yang dibuat orang itu; jika diisi nilai cadangan:self, maka dibatasi hanya pada "yang dibuat oleh ServiceUser yang sedang memanggil".tag: membatasi hanya pada resource yang diberi Tag tertentu.
Array Allow yang kosong [] berarti mengizinkan aksi pada seluruh jenis tersebut. Karena filternya kosong, tidak ada yang disaring, sehingga aksi itu terbuka untuk semua resource.
Berbeda dari SpaceRole, ServiceUserRole tidak memiliki settings. Peta izin hanya tiga: contentType, content, dan media. Untuk daftar aksi, key filter, makna :self, serta cara menyusun peta izin, silakan rujuk juga penjelasan SpaceRole yang menggunakan struktur yang sama. Contoh penggunaan :self untuk mempersempit agar hanya dapat mengedit Content yang dibuat sendiri ditampilkan pada blok perubahan di bawah.
Daftar aksi (
Read,Create,Edit,Delete,Publish,All), key filter (contentType,createdBy,tag), dan makna:selfmengacu pada definisi aturan izinweegloo-space-role.:selfpada ServiceUserRole diuraikan menjadi hanya yang dibuat oleh ServiceUser saat ini.
API
Base URL untuk semua endpoint di bawah adalah https://cma.weegloo.com/v1, dan header Authorization memerlukan Bearer token yang mengautentikasi ke CMA. Untuk perubahan peran (PUT, PATCH), Anda harus turut mengirim header X-Weegloo-Version (sys.version resource saat ini) demi kontrol konkurensi optimistis. Pembuatan dan penghapusan tidak memerlukan header ini.
Dokumen terkait
- ServiceUser: anggota terdaftar yang menerima peran ini (
roleOverride). - ServiceLogin: menetapkan ServiceUserRole sebagai peran default (
defaultRole). - SpaceRole: kumpulan izin untuk Weegloo User (struktur peta izin yang sama).
