/**
 * 현재 사용 중인 페이지를 pages 테이블에 업데이트
 */

exports.up = async function(knex) {
  // 기존 페이지 모두 삭제
  await knex('pages').del();

  // 현재 사용 중인 페이지들을 등록
  await knex('pages').insert([
    // 공통 페이지
    {
      page_key: 'dashboard',
      page_name: '대시보드',
      page_path: '/pages/dashboard.html',
      category: 'common',
      description: '전체 현황 대시보드',
      is_admin_only: 0,
      display_order: 1
    },

    // 작업 관련 페이지
    {
      page_key: 'work.tbm',
      page_name: 'TBM',
      page_path: '/pages/work/tbm.html',
      category: 'work',
      description: 'TBM (Tool Box Meeting) 관리',
      is_admin_only: 0,
      display_order: 10
    },
    {
      page_key: 'work.report_create',
      page_name: '작업보고서 작성',
      page_path: '/pages/work/report-create.html',
      category: 'work',
      description: '일일 작업보고서 작성',
      is_admin_only: 0,
      display_order: 11
    },
    {
      page_key: 'work.report_view',
      page_name: '작업보고서 조회',
      page_path: '/pages/work/report-view.html',
      category: 'work',
      description: '작업보고서 조회 및 검색',
      is_admin_only: 0,
      display_order: 12
    },
    {
      page_key: 'work.analysis',
      page_name: '작업 분석',
      page_path: '/pages/work/analysis.html',
      category: 'work',
      description: '작업 통계 및 분석',
      is_admin_only: 0,
      display_order: 13
    },

    // Admin 페이지
    {
      page_key: 'admin.accounts',
      page_name: '계정 관리',
      page_path: '/pages/admin/accounts.html',
      category: 'admin',
      description: '사용자 계정 관리',
      is_admin_only: 1,
      display_order: 20
    },
    {
      page_key: 'admin.page_access',
      page_name: '페이지 권한 관리',
      page_path: '/pages/admin/page-access.html',
      category: 'admin',
      description: '사용자별 페이지 접근 권한 관리',
      is_admin_only: 1,
      display_order: 21
    },
    {
      page_key: 'admin.workers',
      page_name: '작업자 관리',
      page_path: '/pages/admin/workers.html',
      category: 'admin',
      description: '작업자 정보 관리',
      is_admin_only: 1,
      display_order: 22
    },
    {
      page_key: 'admin.projects',
      page_name: '프로젝트 관리',
      page_path: '/pages/admin/projects.html',
      category: 'admin',
      description: '프로젝트 관리',
      is_admin_only: 1,
      display_order: 23
    },
    {
      page_key: 'admin.workplaces',
      page_name: '작업장 관리',
      page_path: '/pages/admin/workplaces.html',
      category: 'admin',
      description: '작업장소 관리',
      is_admin_only: 1,
      display_order: 24
    },
    {
      page_key: 'admin.codes',
      page_name: '코드 관리',
      page_path: '/pages/admin/codes.html',
      category: 'admin',
      description: '시스템 코드 관리',
      is_admin_only: 1,
      display_order: 25
    },
    {
      page_key: 'admin.tasks',
      page_name: '작업 관리',
      page_path: '/pages/admin/tasks.html',
      category: 'admin',
      description: '작업 유형 관리',
      is_admin_only: 1,
      display_order: 26
    },

    // 프로필 페이지
    {
      page_key: 'profile.info',
      page_name: '내 정보',
      page_path: '/pages/profile/info.html',
      category: 'profile',
      description: '내 프로필 정보',
      is_admin_only: 0,
      display_order: 30
    },
    {
      page_key: 'profile.password',
      page_name: '비밀번호 변경',
      page_path: '/pages/profile/password.html',
      category: 'profile',
      description: '비밀번호 변경',
      is_admin_only: 0,
      display_order: 31
    }
  ]);

};

exports.down = async function(knex) {
  await knex('pages').del();
};
