D
Modul

Manajemen Toko

Pengaturan store, shipping config (ongkir, kurir), warehouse, AI agent character, OTP verifikasi. Shipping sekarang bagian dari sini.

Modul Manajemen Toko mencakup pengaturan store, shipping config, warehouse, AI agent character, dan OTP verifikasi. Shipping sekarang masuk di sini (bukan modul terpisah).

File kunci

FileBarisPeran
app/Http/Controllers/SettingController.php1.993Semua setting store
app/Models/Store.php35Model store
app/Models/Setting.php26Document polimorfik per store (shipping, followup, globalAssignation, dll)
app/Models/PlatformSetting.php35Setting platform-level (withdraw fees)
app/Models/Warehouse.phpGudang merchant

Model

Store

Field: username, sequence (untuk shortlink), plan ('trial'/lainnya), expired_at, features (array kuota_produk/batasan_produk), addresses, logo, phone, email, social_media.

Setting (document per store)

Field: followup_before_sales, followup_after_sales, shipping ({otomatic: {logistics: [...]}, province, city, postal_code, payment_method, cod_*}), general_setting, globalAssignation (rotator CS), warehouse_base_on, ai_agent_character, payment_qr, logo.

Controller method utama

MethodFungsi
store_information()Render Setting/StoreSetting — auto-tambah kurir “store_courier”
update_shipping()Update shipping config (2 mode: lama & baru)
update_shipping_cost()Update shipping_cost untuk kurir custom
warehouse()Render Setting/Warehouse
store_warehouse()Buat warehouse
update_warehouse()Update warehouse
update_phone() / update_email()Update + OTP via WaController
update_logo()Upload logo ke S3
update_social_media()Update social media
update_ai_agent_character()Tambah karakter AI agent
general_setting()Render Setting/General/Index

Route

Web (routes/web.php:325)

Prefix /setting:

MethodPathFungsi
GET/setting/store_informationStore info
GET/setting/editEdit store
GET/setting/warehouseWarehouse
POST/setting/warehouse-storeBuat warehouse
POST/setting/warehouse-updateUpdate warehouse
POST/setting/store/shipping/updateUpdate shipping
POST/setting/store/shipping/update-costUpdate shipping cost
GET/setting/verificationVerifikasi WA/email
GET/setting/generalGeneral setting
POST/setting/general/updateUpdate general

API (routes/api.php:443)

Prefix /setting:

MethodPathFungsi
GET/setting/listGet setting + warehouse + addon
POST/setting/update_logoUpdate logo
POST/setting/setting_warehouseSetting warehouse config

Prefix /warehouse:

MethodPathFungsi
GET/warehouse/listList warehouse
DELETE/warehouse/destroy/{id}Hapus
GET/warehouse/check-warehouseCek warehouse

Frontend

FileBarisCatatan
StoreSetting.vue1.397Yang dirender
StoreInformation.vue584Orphan — sudah digantikan
Warehouse.vue629
AddWarehouse.vue698
Shipping.vue611
General/Index.vue702

Integrasi

ServiceUntuk
AWS S3Upload logo, QR, social media
Engine WA (via WaController)OTP untuk update phone
RajaongkirShipping expedition

Temuan

  • store_information() GET request menulis ke MongoDB — auto-tambah store_courier saat GET. Side-effect melanggar REST
  • StoreInformation.vue (584 baris) orphan — sudah digantikan StoreSetting.vue (:743-744)
  • update_shipping() tidak return response — frontend tidak tahu sukses/gagal
  • setting_warehouse() validator tidak menghentikan — update jalan walau data invalid
  • 3 tempat shipping configShipping.vue, ShippingSetting.vue, embed di StoreSetting.vue. Risiko duplikat