feat: initialize agentic development kit with workflow, skill, and agent definitions and add foundational module controllers and components
This commit is contained in:
@@ -60,7 +60,7 @@ class ContractorController extends Controller
|
||||
$validated = $request->validate([
|
||||
'company_name' => 'required|string|max:255',
|
||||
'contact_person' => 'required|string|max:255',
|
||||
'email' => 'required|email|unique:contractors',
|
||||
'email' => 'required|email|unique:contractors,email',
|
||||
'phone' => 'nullable|string|max:50',
|
||||
'specialization' => 'nullable|string|max:100',
|
||||
'address' => 'nullable|string',
|
||||
@@ -68,12 +68,12 @@ class ContractorController extends Controller
|
||||
'payment_terms' => 'required|in:net_15,net_30,net_60',
|
||||
'shares_materials_catalog' => 'nullable|boolean',
|
||||
'create_admin' => 'nullable|boolean',
|
||||
'admin_name' => 'required_if:create_admin,true|string|max:255',
|
||||
'admin_email' => 'required_if:create_admin,true|email|unique:users,email',
|
||||
'admin_password' => 'required_if:create_admin,true|string|min:8',
|
||||
'admin_name' => 'required_if:create_admin,true,1|nullable|string|max:255',
|
||||
'admin_email' => 'required_if:create_admin,true,1|nullable|email|unique:users,email',
|
||||
'admin_password' => 'required_if:create_admin,true,1|nullable|string|min:8',
|
||||
]);
|
||||
|
||||
DB::transaction(function () use ($validated) {
|
||||
DB::transaction(function () use ($validated, $request) {
|
||||
$contractorData = collect($validated)->except([
|
||||
'create_admin',
|
||||
'admin_name',
|
||||
@@ -81,9 +81,12 @@ class ContractorController extends Controller
|
||||
'admin_password'
|
||||
])->toArray();
|
||||
|
||||
$contractorData['status'] = 'active';
|
||||
$contractorData['type'] = 'main';
|
||||
|
||||
$contractor = Contractor::create($contractorData);
|
||||
|
||||
if (!empty($validated['create_admin']) && $validated['create_admin']) {
|
||||
if ($request->boolean('create_admin')) {
|
||||
$user = User::create([
|
||||
'name' => $validated['admin_name'],
|
||||
'email' => $validated['admin_email'],
|
||||
@@ -96,8 +99,12 @@ class ContractorController extends Controller
|
||||
|
||||
// Provision every contractor administrator with the single supported contractor role.
|
||||
$roleName = 'Main Contractor Admin';
|
||||
$role = Role::firstOrCreate(['name' => $roleName]);
|
||||
$role->givePermissionTo('users.access');
|
||||
$role = Role::firstOrCreate(['name' => $roleName, 'guard_name' => 'web']);
|
||||
$permission = \Spatie\Permission\Models\Permission::firstOrCreate([
|
||||
'name' => 'users.access',
|
||||
'guard_name' => 'web',
|
||||
]);
|
||||
$role->givePermissionTo($permission);
|
||||
$user->assignRole($role);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user