initial: bootstrap from BukidBountyApp base

This commit is contained in:
Jonathan Sykes
2026-06-06 18:43:00 +08:00
commit eb4a5731fb
5674 changed files with 160857 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
<?php
namespace App\Enums\Market;
use App\Enums\Market\TransactionFlow;
enum ProductTransactionType: int
{
// General
case UNKNOWN = 0;
// Sales & Purchases
case ONLINE_SALE = 1;
case STORE_SALE = 2;
case WHOLESALE_SALE = 3;
case PURCHASE = 4;
// Transfers
case STORE_TO_STORE_TRANSFER = 5;
case OWNER_TO_OWNER_TRANSFER = 6;
// Stock Management
case INVENTORY_ADJUSTMENT = 7;
case STOCK_RETURN = 8;
case RECEIVING = 9;
// System / Admin
case INTERNAL_UPDATE = 10;
case ULTIMATE_UPDATE = 11;
case AUDIT_UPDATE = 12;
case SYSTEM_CORRECTION = 13;
case MANUAL_OVERRIDE = 14;
case DATA_IMPORT = 15;
case TOP_UP = 16;
case TRANSFER = 17;
public function label(): string
{
return match($this) {
self::UNKNOWN => 'Unknown',
self::ONLINE_SALE => 'Online Sale',
self::STORE_SALE => 'Store Sale',
self::WHOLESALE_SALE => 'Wholesale Sale',
self::PURCHASE => 'Purchase',
self::STORE_TO_STORE_TRANSFER => 'Store-to-Store Transfer',
self::OWNER_TO_OWNER_TRANSFER => 'Owner-to-Owner Transfer',
self::INVENTORY_ADJUSTMENT => 'Inventory Adjustment',
self::STOCK_RETURN => 'Stock Return',
self::RECEIVING => 'Receiving',
self::INTERNAL_UPDATE => 'Internal Update',
self::ULTIMATE_UPDATE => 'Ultimate Update',
self::AUDIT_UPDATE => 'Audit Update',
self::SYSTEM_CORRECTION => 'System Correction',
self::MANUAL_OVERRIDE => 'Manual Override',
self::DATA_IMPORT => 'Data Import',
self::TOP_UP => 'Top Up',
self::TRANSFER => 'Transfer',
};
}
public function flow(): TransactionFlow
{
return match($this) {
self::ONLINE_SALE,
self::STORE_SALE,
self::WHOLESALE_SALE,
self::TOP_UP => TransactionFlow::INCOME,
self::PURCHASE => TransactionFlow::EXPENSE,
self::TRANSFER => TransactionFlow::NEUTRAL,
self::STOCK_RETURN => TransactionFlow::NEUTRAL, // Or EXPENSE if it's a return to supplier, keeping neutral for now as default
default => TransactionFlow::NEUTRAL,
};
}
public static function options(): array
{
return collect(self::cases())
->mapWithKeys(fn ($case) => [$case->value => $case->label()])
->toArray();
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Enums\Market;
enum StoreType: int
{
case UNKNOWN = 0;
case PHYSICAL_STORE = 1;
case ONLINE_STORE = 2;
case WHOLESALE = 3;
case SHIPPER = 4;
case INTERNAL = 5;
case GOVERNMENT = 6;
}

View File

@@ -0,0 +1,11 @@
<?php
namespace App\Enums\Market;
enum TransactionFlow: int
{
case EXPENSE = -1;
case NEUTRAL = 0;
case INCOME = 1;
}

144
app/Enums/UserActions.php Normal file
View File

@@ -0,0 +1,144 @@
<?php
namespace App\Enums;
enum UserActions: string
{
case DeleteUser = 'deleteuser';
case ModifyUser = 'modifyuser';
case SetActiveUser = 'setactiveuser';
case SetInActiveUser = 'setinactiveuser';
case CreateUser = 'createuser';
case CreateUserUltimate = 'createuserultimate';
case CreateUserSuperOperator = 'createusersuperoperator';
case CreateUserOperator = 'createuseroperator';
case CreateUserCoordinator = 'createusercoordinator';
case CreateUserSupplierOverseer = 'createusersupplieroverseer';
case CreateUserWholesaleBuyer = 'createuserwholesalebuyer';
case CreateUserSupplier = 'createusersupplier';
case CreateUserStoreOwner = 'createuserstoreowner';
case CreateUserStoreManager = 'createuserstoremanager';
case CreateUserUser = 'createuseruser';
case CreateUserRider = 'createuserrider';
case CreateUserAudit = 'createuseraudit';
case CreateUserPOSTerminal = 'createuserposterminal';
case DeveloperConsole = 'devconsole';
case UltimateConsole = 'ultconsole';
case UltimateLogs = 'ultlogs';
case UltimateReports = 'ultreports';
case SetUserNotes = 'setusernotes';
case DeleteUserNotes = 'deleteusernotes';
case ViewUserNotes = 'viewusernotes';
case ViewUserExec = 'viewuserexec';
case DeleteUserExec = 'deleteuserexec';
case UpdateUserExec = 'updateuserexec';
case SetSelfNotes = 'setselfnotes';
case ViewSelfExec = 'viewselfexec';
case DeleteSelfNotes = 'delteselfnotes';
case UpdateSelfExec = 'updateselfexec';
case ViewGlobalReports = 'viewglobalreports';
case ModifyGlobalReports = 'modifyglobalreports';
case DeleteGlobalReports = 'deleteglobalreports';
case ChangeUserPassword = 'changeuserpassword';
case DirectUserCreditTransfer = 'directusercredittransfer';
case ForceLogoutUser = 'forcelogoutuser';
case UserAllowedtoChangeAnotherUserRoles = 'userchangeroles';
case UserAllowedtoViewSelfRoles = 'selfviewroles';
case UserAllowedtoViewOtherUserRoles = 'userviewroles';
case UserAllowedtoViewAllRoles = 'viewallroles';
case ChangeAnotherUsersParent = 'changeotherusersparents';
case ViewAllUserTypes = 'viewallusertypes';
case ListAllUsersAsParentforUserCreation = 'listallusersasparentforUserCreation';
case CheckifUsernameExists = 'checkifusernameexists';
case CheckifMobileNumberExists = 'checkifmobilenumberexists';
case BypassMobileNumberFormat = 'bypassmobilenumberformat';
case CreateStoreforSelf = 'createstoreforself';
case CreateProductforSelf = 'createproductforself';
case CreateStoreGlobal = 'createstoreglobal';
case CreateProductGlobal = 'createproductglobal';
case CreateProductForOwnStore = 'createproductforownstore';
case ViewOwnStores = 'viewownstores';
case ViewAllStores = 'viewallstores';
case ViewAllProducts = 'viewallproducts';
case ViewOwnProducts = 'viewownproducts';
case ModifyOwnStore = 'modifyownstore';
case ModifyOwnProduct = 'modifyownproduct';
case AddProducttoOwnStore = 'addproducttoownstore';
case DeleteOwnStore = 'deleteownstore';
case DeleteOwnProduct = 'deleteownproduct';
case ModifyAllStores = 'modifyallstores';
case ModifyAllProducts = 'modifyallproducts';
case DeleteAllStores = 'deleteallstores';
case DeleteAllProducts = 'deleteallproducts';
case UploadAllFiles = 'uploadallfiles';
case ViewAllFiles = 'viewallfiles';
case DeleteAllFiles = 'deleteallfiles';
case ModifyAllFiles = 'modifyallfiles';
case AddProducttoAnyStore = 'addproducttoanystore';
case RemoveProductfromAnyStore = 'removeproductfromanystore';
case CreateAnnouncement = 'createannouncement';
case ModifyAnnouncement = 'modifyannouncement';
case DeleteAnnouncement = 'deleteannouncement';
case ViewAllAnnouncements = 'viewallannouncements';
case ViewFarmers = 'viewfarmers';
case VerifyFarmer = 'verifyfarmer';
case CreateOrganization = 'createorganization';
case ViewOrganizations = 'vieworganizations';
case ViewShipments = 'viewshipments';
case CreateShipment = 'createshipment';
case UpdateShipmentStatus = 'updateshipmentstatus';
case CreateCourier = 'createcourier';
case ViewCouriers = 'viewcouriers';
case ViewGlobalTransactions = 'viewglobaltransactions';
case CreateGlobalTransaction = 'createglobaltransaction';
case ViewAccountingReports = 'viewaccountingreports';
case ManageAccounting = 'manageaccounting';
case ViewProperties = 'viewproperties';
case ViewReferrals = 'viewreferrals';
case ViewPosAccessKeys = 'viewposaccesskeys';
case CreatePosAccessKey = 'createposaccesskey';
case DeletePosAccessKey = 'deleteposaccesskey';
case TogglePosAccessKey = 'toggleposaccesskey';
case ViewPosReports = 'viewposreports';
case ViewCustomers = 'viewcustomers';
case ManageOrganizations = 'manageorganizations';
case JoinCooperative = 'joincooperative';
case ViewUserInfo = 'viewuserinfo';
case ManageUserInfo = 'manageuserinfo';
case UltimateMaintenance = 'ultmaintenance';
case UltimateQuery = 'ultquery';
case UltimateBatch = 'ultbatch';
case UltimateGlobalMessage = 'ultglobalmessage';
case UltimateFlush = 'ultflush';
case ManageLandingPages = 'managelandingpages';
case CreateResolution = 'createresolution';
case VoteResolution = 'voteresolution';
case ViewResolutions = 'viewresolutions';
case ManageQrphPaymentCode = 'manageqrphpaymentcode';
case SearchStockPhotos = 'searchstockphotos';
case DownloadStockPhoto = 'downloadstockphoto';
case ViewChapterOrgChart = 'viewchapterorgchart';
case ManageChapterMembers = 'managechaptermembers';
case ViewScopedMemberReports = 'viewscopedmemberreports';
case AssignChapterOfficer = 'assignchapterofficer';
}

26
app/Enums/UserTypes.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
namespace App\Enums;
enum UserTypes: string
{
case ULTIMATE = 'ult';
case SUPER_OPERATOR = 'super operator';
case OPERATOR = 'operator';
case COORDINATOR = 'coordinator';
case COOP_OFFICER = 'coop officer';
case COOP_MEMBER = 'coop member';
case SUPPLIER_OVERSEER = 'supplier overseer';
case WHOLESALE_BUYER = 'wholesale buyer';
case SUPPLIER = 'supplier';
case STORE_OWNER = 'store owner';
case STORE_MANAGER = 'store manager';
case USER = 'user';
case RIDER = 'rider';
case AUDIT = 'audit';
case POS_TERMINAL = 'pos terminal';
case ANY_USER = 'default';
case PUBLIC = 'public';
}