You've already forked isop-mirror
feat: implement InternshipStatus enum
This commit is contained in:
22
backend/app/Enums/InternshipStatus.php
Normal file
22
backend/app/Enums/InternshipStatus.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum InternshipStatus: string
|
||||
{
|
||||
case SUBMITTED = 'SUBMITTED';
|
||||
|
||||
case CONFIRMED_BY_COMPANY = 'CONFIRMED_BY_COMPANY';
|
||||
case CONFIRMED_BY_ADMIN = 'CONFIRMED_BY_ADMIN';
|
||||
|
||||
case DENIED_BY_COMPANY = 'DENIED_BY_COMPANY';
|
||||
case DENIED_BY_ADMIN = 'DENIED_BY_ADMIN';
|
||||
|
||||
case DEFENDED = 'DEFENDED';
|
||||
case NOT_DEFENDED = 'NOT_DEFENDED';
|
||||
|
||||
public static function all(): array
|
||||
{
|
||||
return array_map(fn($case) => $case->value, self::cases());
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,20 @@ class InternshipStatusData extends Model
|
||||
'updated_at',
|
||||
];
|
||||
|
||||
protected $table = 'internship_statuses';
|
||||
|
||||
/**
|
||||
* Get the attributes that should be cast.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
protected function casts(): array
|
||||
{
|
||||
return [
|
||||
'status' => '\App\Enums\InternshipStatus',
|
||||
];
|
||||
}
|
||||
|
||||
public function modifiedBy()
|
||||
{
|
||||
return $this->belongsTo(User::class, 'modified_by');
|
||||
@@ -43,7 +57,7 @@ class InternshipStatusData extends Model
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'internship_id' => $this->internship_id,
|
||||
'status' => $this->status,
|
||||
'status' => $this->status->value,
|
||||
'changed' => $this->changed,
|
||||
'note' => $this->note,
|
||||
'modified_by' => $this->modifiedBy,
|
||||
|
||||
@@ -14,20 +14,29 @@ export interface NewInternshipStatusData {
|
||||
|
||||
export enum InternshipStatus {
|
||||
SUBMITTED = 'SUBMITTED',
|
||||
CONFIRMED = 'CONFIRMED',
|
||||
DENIED = 'DENIED',
|
||||
|
||||
CONFIRMED_BY_COMPANY = 'CONFIRMED_BY_COMPANY',
|
||||
CONFIRMED_BY_ADMIN = 'CONFIRMED_BY_ADMIN',
|
||||
|
||||
DENIED_BY_COMPANY = 'DENIED_BY_COMPANY',
|
||||
DENIED_BY_ADMIN = 'DENIED_BY_ADMIN',
|
||||
|
||||
DEFENDED = 'DEFENDED',
|
||||
NOT_DEFENDED = 'NOT_DEFENDED'
|
||||
};
|
||||
NOT_DEFENDED = 'NOT_DEFENDED',
|
||||
}
|
||||
|
||||
export function prettyInternshipStatus(status: InternshipStatus) {
|
||||
switch (status) {
|
||||
case InternshipStatus.SUBMITTED:
|
||||
return "Zadané";
|
||||
case InternshipStatus.CONFIRMED:
|
||||
return "Potvrdené";
|
||||
case InternshipStatus.DENIED:
|
||||
return "Zamietnuté";
|
||||
case InternshipStatus.CONFIRMED_BY_COMPANY:
|
||||
return "Potvrdené firmou";
|
||||
case InternshipStatus.CONFIRMED_BY_ADMIN:
|
||||
return "Potvrdené garantom";
|
||||
case InternshipStatus.DENIED_BY_COMPANY:
|
||||
return "Zamietnuté firmou";
|
||||
case InternshipStatus.DENIED_BY_ADMIN:
|
||||
return "Zamietnuté garantom";
|
||||
case InternshipStatus.DEFENDED:
|
||||
return "Obhájené";
|
||||
case InternshipStatus.NOT_DEFENDED:
|
||||
|
||||
Reference in New Issue
Block a user