|
- <?php
-
- namespace App\Transmission\Layouts;
-
- use Illuminate\Http\Client\Response;
- use Illuminate\Http\Request;
-
- class SIFCommonHeader
- {
- public string $interfaceId = '';
- public string $sendDatetime = '';
- public string $resultCode = '';
-
-
- const COL_NAME_HEADER = 'Header';
- const COL_NAME_BODY = 'Body';
- const COL_NAME_INTERFACE_ID = 'InterfaceID';
- const COL_NAME_SEND_DATETIME = 'SendDatetime';
- const COL_NAME_RESULT_CODE = 'ResultCode';
-
- public static function validateLayout(Request $request)
- {
- $request->validate([
- self::COL_NAME_HEADER => 'required|array',
- self::COL_NAME_HEADER.".".self::COL_NAME_INTERFACE_ID => 'required|string',
- self::COL_NAME_HEADER.".".self::COL_NAME_SEND_DATETIME => 'required|string',
- self::COL_NAME_HEADER.".".self::COL_NAME_RESULT_CODE => 'required|string',
- ]);
- }
-
-
- /**
- * Requestはバリデート済みである前提
- *
- * @param Request $request
- * @return SIFCommonHeader
- */
- public static function createFromRequest(Request $request) : self
- {
- $requestHeader = $request[self::COL_NAME_HEADER];
- $header = new SIFCommonHeader();
- $header->interfaceId = $requestHeader[self::COL_NAME_INTERFACE_ID];
- $header->sendDatetime = $requestHeader[self::COL_NAME_SEND_DATETIME];
- return $header;
- }
-
- /**
- * @param Response $request
- * @return SIFCommonHeader
- */
- public static function createFromResponse(Response $response) : self
- {
- $responseHeader = $response[self::COL_NAME_HEADER];
- $header = new SIFCommonHeader();
- $header->interfaceId = $responseHeader[self::COL_NAME_INTERFACE_ID];
- $header->sendDatetime = $responseHeader[self::COL_NAME_SEND_DATETIME];
- $header->resultCode = $responseHeader[self::COL_NAME_RESULT_CODE];
- return $header;
- }
-
- public function toArray() : array
- {
- $result = [];
- $result[self::COL_NAME_INTERFACE_ID] = $this->interfaceId;
- $result[self::COL_NAME_SEND_DATETIME] = $this->sendDatetime;
- $result[self::COL_NAME_RESULT_CODE] = $this->resultCode;
- return $result;
- }
- }
|