# Functions
CreateTable is the function that creates the table 'Tasks' into the SQLite3 database.
DeleteTask is a function used to delete a specific task from the table 'Tasks', on the SQLite3 database.
GetActiveTasks is a function that returns the tasks with the state `active` from the tasks database.
GetFailedTasks is a function that returns the tasks with the state `failed` from the tasks database.
GetInactiveTasks is a function that returns the tasks with the state `inactive` from the tasks database.
GetOnExecutionTasks is a method of the UserData struct that returns the tasks with the state `on-execution`.
GetTaskByID is a function that returns a specific task, searching it by the ID on the tasks database.
GetTaskByName is a function that returns a specific task, searching it by the name on the tasks database.
GetTasks is a func that returns all the user tasks from the table `Tasks`, from the SQLite3 database.
Init initializes the directory where the tasks will be stored (if not exists).
InitDB is the function used to initialize the SQLite3 database.
NewTask is a function used to add a new task to the table 'Tasks', on the SQLite3 database.
UpdateTask is a function used to update an existing task from the JSON data file.
UpdateTaskState is a function used to change the state of a task.
# Constants
Added represents a new task.
DataFilename is the name of the SQLite file.
DataPath is the path of the user SQLite database.
Deleted represents a task that has been removed.
Failed represents a task that failed during execution.
Modified represents a task that has variated some of its fields.
StateTaskActive is a variable that can be used in the `State` field of each task.
StateTaskFailed is a variable that can be used in the `State` field of each task.
StateTaskInactive is a variable that can be used in the `State` field of each task.
StateTaskOnExecution is a variable that can be used in the `State` field of each task.
# Variables
BackupLoopState is the boolean variable used to show the state of the backup loop.
DB is the instance of the SQLite3 database used to store the user's tasks.
ErrBackupLoopAlreadyActive is the error used when the backup loop was already started and is called to start again.
ErrBadTaskID is an error used when a task with specific ID is not found.
ErrBadTaskName is an error used when a task with specific name is not found.
ErrNoFilenameAssigned is an error used when the name of the json data file was not setted.
EventBus is the channel used to transport the events related to the tasks.
# Structs
Event is the struct used to know which action must be executed by the engine with the given task.
UserAction is a struct for parsing every action.
UserArg is a struct for arg parsing.
UserTask is a struct for parse each task.
UserTrigger is a struct for parsing every trigger.