123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- namespace App\Controller;
-
- class XhrController extends SSPController
- {
-
- public function transfer()
- {
- if( $this->request->is('ajax') ) {
- $request = $this->getRequestInput();
-
- if(!$user = $this->Auth->user())
- {
- return $this->response
- ->withStatus(401);
- }
- $_ = $this->EprosumeModel->meterList($user["meter_id"]);
- $role = $user["role"] ?? null;
- $meter_name = $_["name"] ?? null;
- if(!$meter_name) {
- return $this->response
- ->withStatus(403);
- }
- return $this->doTransfer(
- $meter_name,
- $request["prosumer"] ?? null,
- $request["amount"] ?? null,
- $request["asset"] ?? null,
- $request["memo"] ?? null
- );
- } else {
- return null;
- }
- }
-
- public function setPrice()
- {
- if( $this->request->is('ajax') ) {
- $request = $this->getRequestInput();
- $user = $this->Auth->user();
- if(!$user || $user['role'] != 'admin')
- {
- return $this->response
- ->withStatus(401);
- }
- return $this->doSetPrice(
- $request["prosumer"] ?? null,
- $request["buyPrice"] ?? null,
- $request["sellPrice"] ?? null
- );
- }
- return null;
- }
-
- public function history()
- {
- return $this->setResponse("history");
- }
-
- public function historyTransfer()
- {
- return $this->setResponse("historyTransfer");
- }
-
- public function payment()
- {
- return $this->setResponse("payment");
- }
-
- public function priceHistory()
- {
- return $this->setResponse("priceHistory");
- }
-
- public function setResponse($SSPResponse)
- {
- if(!$user = $this->Auth->user())
- {
- return $this->response
- ->withStatus(401);
- }
- $_ = $this->EprosumeModel->meterList($user["meter_id"]);
- $role = $user["role"] ?? null;
- if($role == "admin") {
- $meter_name = null;
- } else {
- $meter_name = $_["name"] ?? null;
- if(!$meter_name) {
- return $this->response
- ->withStatus(403);
- }
- }
- return $this->SSPResponse($SSPResponse, $meter_name);
- }
-
- public function chartsPayments($meter_name)
- {
- if( $this->request->is('ajax') ) {
- return $this->charts('payments', $meter_name);
- } else {
- return null;
- }
- }
-
- }
|