REST API Service KMS
Description
RESTful KMS adalah REST service yang menggunakan NodeJS, ExpressJS, dan CORS untuk menyediakan beberapa layanan KMS. Layanan tersebut salah satunya meliputi resource management yang dipakai oleh service-service lain.
RESTful KMS terhubung dengan service-service lain seperti SPA, SOAP, dan Web untuk menyediakan resource yang dibutuhkan, seperti subscription management, user management, lyrics database, dan lain-lain.
Database scheme
DBMS yang digunakan adalah PostgreSQL.
Endpoints
Endpoint (/services) | Method | Description |
---|---|---|
Coins (/coins) Authorization Needed |
GET (/:accountId) | Mendapatkan jumlah koin yang dimiliki account |
POST (/) | Memberikan koin ke account lain | |
PUT (/) | Top up koin account | |
DELETE (/:accountId) | Kurangi jumlah koin account | |
Subscription (/subscription) Authorization Needed |
GET (/:accountId) | Cek status account |
POST (/) | Subscribe ke premium account | |
DELETE (/:accountId) | Unsubscribe account | |
Lyrics (/lyrics) | GET (/:songId) | Mendapatkan lyrics untuk satu lagu |
PUT (/) | Menambahkan atau meng-update lyrics untuk satu lagu | |
DELETE (/:songId) | Menghapuskan lyrics untuk satu lagu | |
Creator (/creator) | GET (/:creatorId) | Mendapatkan ID dan nama seorang creator |
GET (/) | Mendapatkan ID dan nama semua creator | |
Creator Request (/request) | GET (/byuser/:accountId) | Mendapatkan semua creator request yang account telah submit |
GET (/:creatorId) | Mendapatkan semua request yang bersangkutan dengan creator | |
POST (/) | Request ke seorang creator | |
DELETE (/:creatorId/all) | Hapus semua request pada creator | |
DELETE (/:creatorId) | Hapus salah satu request pada creator | |
Thread (/thread) | GET (/) | Mendapatkan semua thread |
GET (/:threadId) | Hanya GET salah satu thread/chat | |
POST (/) | Menambahkan thread | |
POST (/:threadId) | Mengirimkan chat | |
Payment History (/history) | GET (/) | Mendapatkan payment history |
GET (/pdf) | Download payment history dalam bentuk PDF | |
POST (/email) | Kirim payment history ke email |
|
Login (/login) |
POST (/) | Log in menggunakan username dan password |
POST (/token) | Log in menggunakan token | |
Logout (/logout) | POST (/) | Log out |
Relaxed Subscription (/relaxed/subscription) | GET (/:accountId) | Mendapatkan status subscription suatu account tanpa membutuhkan authorization |
Pembagian Tugas
- Coins: 13521136
- Subscription: 13521136
- Lyrics: 13521136
- Creator: 13521136
- Creator Request: 13521136, 13521128
- Thread: 13521163
- Payment History: 13521136
- Login: 13521163
- Logout: 13521163
- Relaxed Subscription: 13521163
- Authentication and Authorization: 13521163
- Database connection: 13521136
- SOAP connection: 13521136
- Caching: 13521136
- Docker Setup: 13521136