Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
# frozen_string_literal: true

require 'date'
require 'sequel/extensions/pg_range'

module Faculty
  module DatabaseHelper
    # Database helpers for SITS schema
    module Sits
      extend TableMacros

      # rubocop:disable Naming/VariableNumber
      define_table :student, ExternalTableHelper, default_record: {
        gender: 'Other',
        domicile_code: nil,
        origin: 'Home',
        college_code: 'G',
        tier_4: false,
        over_18: true,
        disability_code: 'A'
      }
      # rubocop:enable Naming/VariableNumber

      define_table :student_course, ExternalTableHelper, default_record: {
        start_date: Date.today.prev_year(1),
        expected_end_date: Date.today.next_year(1),
        start_academic_year: Date.today.year - 1,
        intended_award_code: 'MAT',
        mode_of_attendance_code: 'FTYI'
      }

      define_table :enrolment, ExternalTableHelper, default_record: {
        academic_year: Date.today.year,
        course_block: '2',
        occurrence: 'A1',
        status: 'RSR'
      }

      define_table :department, ExternalTableHelper, default_record: {
        name: 'Department Name',
        in_use: true
      }

      define_table :module_occurrence, ExternalTableHelper, default_record: {
        module_code: 'ABC00001C',
        module_name: 'Fake Module',
        occurrence: 'A',
        module_leader: 'leader',
        start_academic_year: Date.today.year - 1,
        assessment_pattern_code: 'ABC00001C223'
      }

      define_table :module_period, ExternalTableHelper, default_record: {
        academic_year: Date.today.year - 1,
        period_code: 'T1'
      }

      define_table :route, ExternalTableHelper, default_record: {
        name: 'Route Name',
        in_use: true
      }

      define_table :student_course_department, ExternalTableHelper, default_record: {
        department_type: 'DEPT1'
      }

      define_table :student_module, ExternalTableHelper

      define_table :supervisor, ExternalTableHelper, default_record: {
        supervision_dates: Sequel::Postgres::PGRange.new(Date.today.prev_year(1), Date.today.next_year(1),
                                                         db_type: :daterange)
      }

      define_table :placement_year, ExternalTableHelper

      define_table :period, ExternalTableHelper
    end
  end
end