Initial commit of unified WebGIS projects
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
openapi: 3.0.3
|
||||
info:
|
||||
title: WebGIS API
|
||||
version: 1.0.0
|
||||
description: API untuk autentikasi pengelola, data lokasi, unggah foto, dan persetujuan admin.
|
||||
servers:
|
||||
- url: .
|
||||
components:
|
||||
securitySchemes:
|
||||
bearerAuth:
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: JWT
|
||||
basicAuth:
|
||||
type: http
|
||||
scheme: basic
|
||||
schemas:
|
||||
RegisterRequest:
|
||||
type: object
|
||||
required:
|
||||
- email
|
||||
- password
|
||||
- name
|
||||
- organization
|
||||
- org_address
|
||||
- org_phone
|
||||
- verify_code
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
format: email
|
||||
password:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
organization:
|
||||
type: string
|
||||
org_address:
|
||||
type: string
|
||||
org_phone:
|
||||
type: string
|
||||
verify_code:
|
||||
type: string
|
||||
pattern: '^[0-9]{6}$'
|
||||
LoginRequest:
|
||||
type: object
|
||||
required:
|
||||
- email
|
||||
- password
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
format: email
|
||||
password:
|
||||
type: string
|
||||
LocationRequest:
|
||||
type: object
|
||||
properties:
|
||||
nama:
|
||||
type: string
|
||||
jenis:
|
||||
type: string
|
||||
no_telp:
|
||||
type: string
|
||||
alamat:
|
||||
type: string
|
||||
latitude:
|
||||
type: number
|
||||
longitude:
|
||||
type: number
|
||||
assisted:
|
||||
type: integer
|
||||
enum: [0, 1]
|
||||
paths:
|
||||
/src/api/auth/register.php:
|
||||
post:
|
||||
summary: Daftar pengelola baru
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
$ref: '#/components/schemas/RegisterRequest'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/RegisterRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Pendaftaran berhasil dan akun menunggu persetujuan admin
|
||||
/src/api/auth/send_verification_code.php:
|
||||
post:
|
||||
summary: Kirim kode verifikasi email
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required: [email]
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
format: email
|
||||
responses:
|
||||
'200':
|
||||
description: Kode verifikasi terkirim
|
||||
/src/api/auth/login.php:
|
||||
post:
|
||||
summary: Login pengguna
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/LoginRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Login berhasil
|
||||
/src/api/auth/logout.php:
|
||||
post:
|
||||
summary: Logout pengguna
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Logout berhasil
|
||||
/src/api/auth/me.php:
|
||||
get:
|
||||
summary: Ambil sesi pengguna aktif
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Status autentikasi saat ini
|
||||
/src/api/get_client_config.php:
|
||||
get:
|
||||
summary: Konfigurasi klien yang aman untuk frontend
|
||||
responses:
|
||||
'200':
|
||||
description: Data konfigurasi klien
|
||||
/src/api/get_lokasi.php:
|
||||
get:
|
||||
summary: Ambil daftar lokasi
|
||||
responses:
|
||||
'200':
|
||||
description: Daftar lokasi
|
||||
/src/api/tambah_lokasi.php:
|
||||
post:
|
||||
summary: Tambah lokasi baru
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/LocationRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Data berhasil dibuat
|
||||
/src/api/update_lokasi.php:
|
||||
post:
|
||||
summary: Perbarui lokasi
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Data berhasil diperbarui
|
||||
/src/api/hapus_lokasi.php:
|
||||
post:
|
||||
summary: Hapus lokasi
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Data berhasil dihapus
|
||||
/src/api/upload_photo.php:
|
||||
post:
|
||||
summary: Unggah foto lokasi
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Foto berhasil diunggah
|
||||
/src/api/admin/list_pending_managers.php:
|
||||
get:
|
||||
summary: Daftar pengelola menunggu persetujuan
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Daftar akun pending
|
||||
/src/api/admin/approve_user.php:
|
||||
post:
|
||||
summary: Setujui akun pengelola
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Akun disetujui
|
||||
/src/api/admin/reject_user.php:
|
||||
post:
|
||||
summary: Tolak akun pengelola
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: Akun ditolak
|
||||
Reference in New Issue
Block a user