sampler-fork/metadata/license.go

52 lines
887 B
Go
Raw Normal View History

2019-05-24 02:58:46 +00:00
package metadata
import (
2019-06-21 04:45:32 +00:00
"gopkg.in/yaml.v3"
"log"
)
type License struct {
2019-07-22 03:30:05 +00:00
Key *string `yaml:"k"`
Username *string `yaml:"u"`
Company *string `yaml:"c"`
Type *LicenseType `yaml:"t"`
Valid bool `yaml:"v"`
}
2019-07-22 03:30:05 +00:00
type LicenseType rune
const (
TypePersonal LicenseType = 0
TypeCommercial LicenseType = 1
)
const licenseFileName = "license.yml"
func GetLicense() *License {
2019-07-27 04:15:35 +00:00
if !fileExists(licenseFileName) {
return nil
2019-07-27 04:15:35 +00:00
}
2019-07-27 04:15:35 +00:00
file := readStorageFile(getPlatformStoragePath(licenseFileName))
2019-07-27 04:15:35 +00:00
license := new(License)
err := yaml.Unmarshal(file, license)
2019-07-27 04:15:35 +00:00
if err != nil {
log.Fatalf("Failed to read license file: %v", err)
}
2019-07-27 04:15:35 +00:00
return license
}
func SaveLicense(license License) {
file, err := yaml.Marshal(license)
if err != nil {
log.Fatalf("Failed to marshal license file: %v", err)
}
saveStorageFile(file, licenseFileName)
}