init backend presensi
This commit is contained in:
0
app/Database/Seeds/.gitkeep
Normal file
0
app/Database/Seeds/.gitkeep
Normal file
84
app/Database/Seeds/AcademicSeeder.php
Normal file
84
app/Database/Seeds/AcademicSeeder.php
Normal file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Seeds;
|
||||
|
||||
use CodeIgniter\Database\Seeder;
|
||||
|
||||
class AcademicSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$now = date('Y-m-d H:i:s');
|
||||
$todayDayOfWeek = (int) date('N'); // 1=Monday, 7=Sunday
|
||||
|
||||
// Insert 1 class
|
||||
$classData = [
|
||||
[
|
||||
'name' => 'X IPA 1',
|
||||
'grade' => '10',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
];
|
||||
$this->db->table('classes')->insertBatch($classData);
|
||||
$classId = $this->db->insertID();
|
||||
|
||||
// Insert 2 students
|
||||
$studentData = [
|
||||
[
|
||||
'nisn' => '2024001',
|
||||
'name' => 'Student One',
|
||||
'gender' => 'L',
|
||||
'class_id' => $classId,
|
||||
'is_active' => 1,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'nisn' => '2024002',
|
||||
'name' => 'Student Two',
|
||||
'gender' => 'P',
|
||||
'class_id' => $classId,
|
||||
'is_active' => 1,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
];
|
||||
$this->db->table('students')->insertBatch($studentData);
|
||||
|
||||
// Insert 2 subjects
|
||||
$subjectData = [
|
||||
[
|
||||
'name' => 'Mathematics',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
[
|
||||
'name' => 'Physics',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
];
|
||||
$this->db->table('subjects')->insertBatch($subjectData);
|
||||
$subjectIds = $this->db->query('SELECT id FROM subjects ORDER BY id')->getResultArray();
|
||||
$mathSubjectId = $subjectIds[0]['id'];
|
||||
$physicsSubjectId = $subjectIds[1]['id'];
|
||||
|
||||
// Insert 1 schedule for today's weekday
|
||||
// Schedule: 08:00 - 09:30 for Mathematics
|
||||
$scheduleData = [
|
||||
[
|
||||
'class_id' => $classId,
|
||||
'subject_id' => $mathSubjectId,
|
||||
'teacher_name' => 'Mr. Mathematics Teacher',
|
||||
'day_of_week' => $todayDayOfWeek,
|
||||
'start_time' => '08:00:00',
|
||||
'end_time' => '09:30:00',
|
||||
'room' => 'A101',
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
];
|
||||
$this->db->table('schedules')->insertBatch($scheduleData);
|
||||
}
|
||||
}
|
||||
35
app/Database/Seeds/AuthSeeder.php
Normal file
35
app/Database/Seeds/AuthSeeder.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Seeds;
|
||||
|
||||
use CodeIgniter\Database\Seeder;
|
||||
|
||||
class AuthSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$roles = [
|
||||
['role_code' => 'ADMIN', 'role_name' => 'Administrator'],
|
||||
['role_code' => 'WALI_KELAS', 'role_name' => 'Wali Kelas'],
|
||||
['role_code' => 'GURU_BK', 'role_name' => 'Guru BK'],
|
||||
['role_code' => 'GURU_MAPEL', 'role_name' => 'Guru Mata Pelajaran'],
|
||||
['role_code' => 'ORANG_TUA', 'role_name' => 'Orang Tua'],
|
||||
];
|
||||
$this->db->table('roles')->insertBatch($roles);
|
||||
|
||||
$this->db->table('users')->insert([
|
||||
'name' => 'Admin',
|
||||
'email' => 'admin@example.com',
|
||||
'password_hash' => password_hash('admin123', PASSWORD_DEFAULT),
|
||||
'is_active' => 1,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
$adminId = $this->db->insertID();
|
||||
$adminRoleId = $this->db->table('roles')->where('role_code', 'ADMIN')->get()->getRow()->id;
|
||||
$this->db->table('user_roles')->insert([
|
||||
'user_id' => $adminId,
|
||||
'role_id' => $adminRoleId,
|
||||
]);
|
||||
}
|
||||
}
|
||||
38
app/Database/Seeds/DeviceSeeder.php
Normal file
38
app/Database/Seeds/DeviceSeeder.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Seeds;
|
||||
|
||||
use CodeIgniter\Database\Seeder;
|
||||
|
||||
class DeviceSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$data = [
|
||||
[
|
||||
'device_code' => 'SMA1-GATE-01',
|
||||
'device_name' => 'SMAN1 Gate Device 01',
|
||||
'api_key' => 'devkey123',
|
||||
'is_active' => 1,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
],
|
||||
[
|
||||
'device_code' => 'MOBILE_APP',
|
||||
'device_name' => 'Aplikasi Mobile (Presensi Siswa)',
|
||||
'api_key' => 'MOBILE_APP_SECRET',
|
||||
'is_active' => 1,
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
],
|
||||
];
|
||||
|
||||
$table = $this->db->table('devices');
|
||||
foreach ($data as $row) {
|
||||
$exists = $table->where('device_code', $row['device_code'])->countAllResults();
|
||||
if ($exists === 0) {
|
||||
$table->insert($row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
31
app/Database/Seeds/GeoSeeder.php
Normal file
31
app/Database/Seeds/GeoSeeder.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Seeds;
|
||||
|
||||
use CodeIgniter\Database\Seeder;
|
||||
|
||||
class GeoSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$now = date('Y-m-d H:i:s');
|
||||
|
||||
// Insert SMA1-SCHOOL zone
|
||||
// Using dummy coordinates (example: Bandung area)
|
||||
// Latitude: -6.917464, Longitude: 107.619123
|
||||
$zoneData = [
|
||||
[
|
||||
'zone_code' => 'SMA1-SCHOOL',
|
||||
'zone_name' => 'SMAN 1 School Zone',
|
||||
'latitude' => -6.917464,
|
||||
'longitude' => 107.619123,
|
||||
'radius_meters' => 150,
|
||||
'is_active' => 1,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now,
|
||||
],
|
||||
];
|
||||
|
||||
$this->db->table('zones')->insertBatch($zoneData);
|
||||
}
|
||||
}
|
||||
13
app/Database/Seeds/StudentMobileAccountsSeeder.php
Normal file
13
app/Database/Seeds/StudentMobileAccountsSeeder.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Seeds;
|
||||
|
||||
use CodeIgniter\Database\Seeder;
|
||||
|
||||
class StudentMobileAccountsSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user