require "./gitlab" require "./list" module AutoBoard class Board property project_id : Int32 property board_id : Int32 property lists : Array(List) def initialize(@project_id : Int32, @board_id : Int32) @lists = [] of List end def load_lists_from_gitlab gitlab = Gitlab.client(endpoint: "https://gitlab.com/api/v4", private_token: "your_private_token") board = gitlab.boards(@project_id, @board_id) @lists = board.lists.map { |list| List.new(list.name, list.label.name) } end def save_lists_to_gitlab gitlab = Gitlab.client(endpoint: "https://gitlab.com/api/v4", private_token: "your_private_token") @lists.each do |list| gitlab.create_list(@project_id, @board_id, list.name, label_id: list.label) end end def apply_template(template : Template) @lists = template.lists save_lists_to_gitlab end def inspect puts "Project ID: #{@project_id}" puts "Board ID: #{@board_id}" puts "Lists:" @lists.each do |list| puts "- #{list.name} (Label: #{list.label})" end end end end