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',
|
'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()
|
public function modifiedBy()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(User::class, 'modified_by');
|
return $this->belongsTo(User::class, 'modified_by');
|
||||||
@@ -43,7 +57,7 @@ class InternshipStatusData extends Model
|
|||||||
return [
|
return [
|
||||||
'id' => $this->id,
|
'id' => $this->id,
|
||||||
'internship_id' => $this->internship_id,
|
'internship_id' => $this->internship_id,
|
||||||
'status' => $this->status,
|
'status' => $this->status->value,
|
||||||
'changed' => $this->changed,
|
'changed' => $this->changed,
|
||||||
'note' => $this->note,
|
'note' => $this->note,
|
||||||
'modified_by' => $this->modifiedBy,
|
'modified_by' => $this->modifiedBy,
|
||||||
|
|||||||
@@ -14,20 +14,29 @@ export interface NewInternshipStatusData {
|
|||||||
|
|
||||||
export enum InternshipStatus {
|
export enum InternshipStatus {
|
||||||
SUBMITTED = 'SUBMITTED',
|
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',
|
DEFENDED = 'DEFENDED',
|
||||||
NOT_DEFENDED = 'NOT_DEFENDED'
|
NOT_DEFENDED = 'NOT_DEFENDED',
|
||||||
};
|
}
|
||||||
|
|
||||||
export function prettyInternshipStatus(status: InternshipStatus) {
|
export function prettyInternshipStatus(status: InternshipStatus) {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case InternshipStatus.SUBMITTED:
|
case InternshipStatus.SUBMITTED:
|
||||||
return "Zadané";
|
return "Zadané";
|
||||||
case InternshipStatus.CONFIRMED:
|
case InternshipStatus.CONFIRMED_BY_COMPANY:
|
||||||
return "Potvrdené";
|
return "Potvrdené firmou";
|
||||||
case InternshipStatus.DENIED:
|
case InternshipStatus.CONFIRMED_BY_ADMIN:
|
||||||
return "Zamietnuté";
|
return "Potvrdené garantom";
|
||||||
|
case InternshipStatus.DENIED_BY_COMPANY:
|
||||||
|
return "Zamietnuté firmou";
|
||||||
|
case InternshipStatus.DENIED_BY_ADMIN:
|
||||||
|
return "Zamietnuté garantom";
|
||||||
case InternshipStatus.DEFENDED:
|
case InternshipStatus.DEFENDED:
|
||||||
return "Obhájené";
|
return "Obhájené";
|
||||||
case InternshipStatus.NOT_DEFENDED:
|
case InternshipStatus.NOT_DEFENDED:
|
||||||
|
|||||||
Reference in New Issue
Block a user