Documentation ¶
Overview ¶
Neat Note. A notes sharing platform for university students. Copyright (C) 2020 Humaid AlQassimi
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Index ¶
Constants ¶
const ( // MySQL indicates to use the MySQL database driver. MySQL = iota // SQLite indicates to use the SQLite database driver. SQLite )
Variables ¶
var ( // WorkingDir is the current working directory of the project. WorkingDir string // ConfigPath is the configuration file name. ConfigPath = "config.toml" // Config is where the current configuration is loaded. Config Configuration // StartTime is the time when the server started. StartTime = time.Now() )
Functions ¶
func LoadConfig ¶
func LoadConfig()
LoadConfig loads the configuration file from disk. It will also generate one if it doesn't exist.
Types ¶
type Configuration ¶
type Configuration struct { SiteName string // SiteName is the name of the site. SitePort string // SitePort is the port to run the web server on. DevMode bool // DevMode is whether to disable authentication for development. UniEmailDomain string // UniEmailDomain is the university domain for login. EmailAddress string // EmailAddress is the email address which sends the OTPs. EmailPassword string // EmailPassword is the password of the email used to send OTPs. EmailSMTPServer string // EmailSMTPServer is the SMTP server including the port. DBConfig DatabaseConfiguration // DBConfig is the database configuration. Badges []string // Badges is the available badges which the users can use. }
Configuration represents the configuration file format.
type DatabaseConfiguration ¶
type DatabaseConfiguration struct { Type DBType // Type refers to which database driver to use. Host string // Host refers to the host of the database (MySQL only). Name string // Name refers to the name of the database (MySQL only). User string // User refers to the user of the database (MySQL only). Password string // Password refers to the database passsword (MySQL only). Path string // Path refers to the database file path (SQLite only). }
DatabaseConfiguration represents the general database configuration for all database drivers.