General fixes to table design, added state and district seeder for china, made changes to create order process, and ui and vue js components changes for registration, dashboard and registration

This commit is contained in:
omair saleh
2021-08-14 09:28:36 +08:00
parent dda0cf0b02
commit 8c4bac81e6
46 changed files with 1302 additions and 704 deletions
@@ -9,30 +9,38 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\CompanyType;
use App\Classes\ValueObjects\Constants\DocumentType;
use App\Models\Document;
use Illuminate\Http\Request;
use App\Models\Company;
class UploadIdentityDocumentProcessor
{
/** @var CreatesDocument */
private $createsDocument;
/** @var CreatesFiles */
private $createsFiles;
/**
* UploadIdentityDocumentProcessor constructor.
* @param CreatesDocument $createsDocument
* @param CreatesFiles $createsFile
* @param CreatesFiles $createsFiles
*/
public function __construct(CreatesDocument $createsDocument, CreatesFiles $createsFile)
public function __construct(CreatesDocument $createsDocument, CreatesFiles $createsFiles)
{
$this->createsDocument = $createsDocument;
$this->createsFile = $createsFile;
$this->createsFiles = $createsFiles;
}
/**
* @param DocumentObject $object
* @return Array
* @throws \App\Classes\Exceptions\AccessForbiddenException
* @param Request $request
* @param Company $company
* @return array
* @throws \App\Classes\Exceptions\MalformedRequestException
* @throws \App\Classes\Exceptions\RequestValidationException
*/
public function execute(Request $request, Company $company): Array {
public function execute(Request $request, Company $company): array {
$object = new DocumentObject($company->type === CompanyType::COMPANY_BUSINESS ?
DocumentType::SSM_REGISTRATION : DocumentType::IDENTITY_CARD, $request->input('files'),
@@ -40,7 +48,8 @@ class UploadIdentityDocumentProcessor
/** @var Document $document */
$document = $this->createsDocument->execute($company, $object);
return $this->createsFile->execute($document, $object);
return $this->createsFiles->execute($document, $object);
}
}