Skip to content

Commit

Permalink
fundamental changes
Browse files Browse the repository at this point in the history
  • Loading branch information
bykovme committed Aug 29, 2022
1 parent 0748836 commit 9095c18
Show file tree
Hide file tree
Showing 52 changed files with 725 additions and 835 deletions.
12 changes: 6 additions & 6 deletions resources_fa.go → assets/resources_fa.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package oxilib
package assets

import (
"embed"
Expand All @@ -7,19 +7,19 @@ import (
)

var (
//go:embed assets/fa/brands/*.svg
//go:embed fa/brands/*.svg
iconsBrandsFS embed.FS
//go:embed assets/fa/regular/*.svg
//go:embed fa/regular/*.svg
iconsRegularFS embed.FS
//go:embed assets/fa/solid/*.svg
//go:embed fa/solid/*.svg
iconsSolidFS embed.FS
//go:embed assets/fa/search.json
//go:embed fa/search.json
searchResBin []byte

searchRes map[string]string
)

const cFAprefix = "assets/fa/"
const cFAprefix = "fa/"
const cRegularPrefix = "regular/"
const cSolidPrefix = "solid/"
const cBrandsPrefix = "brands/"
Expand Down
7 changes: 4 additions & 3 deletions resources_fa_test.go → assets/resources_fa_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package oxilib
package assets

import (
"errors"
"github.com/oxipass/oxilib/consts"
"strings"
"testing"
)
Expand All @@ -13,7 +14,7 @@ const cTestNotExistingIcon = "not-existing-icon"
const cSVGPrefix = "<svg xmlns="

func TestLoadingDefaultIcon(t *testing.T) {
icon, err := getSVGImageFromFilePath(cIconDefaultItem)
icon, err := getSVGImageFromFilePath(consts.CIconDefaultItem)
if err != nil {
t.Error(err)
}
Expand Down Expand Up @@ -61,7 +62,7 @@ func TestLoadingNotExistingIcon(t *testing.T) {
t.Error("icon is empty or is not svg")
}
// Icon should be stanard document by default
iconDoc, errDoc := getSVGImageFromFilePath(cIconDefaultItem)
iconDoc, errDoc := getSVGImageFromFilePath(consts.CIconDefaultItem)
if errDoc != nil {
t.Error(errDoc)
}
Expand Down
19 changes: 10 additions & 9 deletions resources_langs.go → assets/resources_langs.go
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
package oxilib
package assets

import (
"embed"
"encoding/json"
"errors"
"github.com/oxipass/oxilib/consts"
"github.com/oxipass/oxilib/models"
"io/fs"
)

var (
//go:embed assets/langs/*.json
//go:embed langs/*.json
langsResources embed.FS
)

var tr map[string]string
var currentLanguage string

func getLangsFiles() ([]fs.DirEntry, error) {
return langsResources.ReadDir(cLangsFolder)
return langsResources.ReadDir(consts.CLangsFolder)
}

func initLang(langCode string) (string, error) {
Expand All @@ -27,7 +28,7 @@ func initLang(langCode string) (string, error) {
}
for _, file := range files {
var lang models.Lang
fileBytes, errFile := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
fileBytes, errFile := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errFile != nil {
return "", errFile
}
Expand All @@ -37,7 +38,7 @@ func initLang(langCode string) (string, error) {
}
if lang.Code == langCode {
var translations models.Translations
transBytes, errTrans := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
transBytes, errTrans := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errTrans != nil {
return "", errTrans
}
Expand All @@ -55,7 +56,7 @@ func initLang(langCode string) (string, error) {
return "", errors.New("language not loaded")
}

func t(key string) string {
func T(key string) string {
var err error
if tr == nil {
currentLanguage, err = initLang("en")
Expand All @@ -66,7 +67,7 @@ func t(key string) string {
return tr[key]
}

func setLang(langCode string) error {
func SetLang(langCode string) error {
var err error
currentLanguage, err = initLang(langCode)
if err != nil {
Expand All @@ -75,15 +76,15 @@ func setLang(langCode string) error {
return nil
}

func getLangs() []models.Lang {
func GetLangs() []models.Lang {
files, err := getLangsFiles()
if err != nil {
return nil
}
langs := make([]models.Lang, len(files))
for i, file := range files {
var lang models.Lang
fileBytes, errFile := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
fileBytes, errFile := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errFile != nil {
return nil
}
Expand Down
23 changes: 12 additions & 11 deletions resources_langs_test.go → assets/resources_langs_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package oxilib
package assets

import (
"encoding/json"
"github.com/oxipass/oxilib/consts"
"github.com/oxipass/oxilib/models"
"strings"
"testing"
Expand All @@ -16,15 +17,15 @@ func TestWrongLanguage(t *testing.T) {
}

func TestSetWrongLanguage(t *testing.T) {
err := setLang("wrong")
err := SetLang("wrong")
if err != nil {
t.Error("English should be loaded instead of wrong language, no error expected")
t.FailNow()
}
}

func TestInitLang(t *testing.T) {
langs := getLangs()
langs := GetLangs()
for _, lang := range langs {
setLang, errLang := initLang(lang.Code)
if errLang != nil || setLang != lang.Code {
Expand All @@ -38,17 +39,17 @@ func TestInitLang(t *testing.T) {
}

func TestSetLang(t *testing.T) {
langs := getLangs()
langs := GetLangs()
for _, lang := range langs {
errLang := setLang(lang.Code)
errLang := SetLang(lang.Code)
if errLang != nil {
t.Error(errLang)
}
}
}

func TestGetLangs(t *testing.T) {
langs := getLangs()
langs := GetLangs()

errHappened := false
for _, lang := range langs {
Expand Down Expand Up @@ -90,7 +91,7 @@ func TestLangsContent(t *testing.T) {
errHappened := false
for _, file := range files {
var translations models.Translations
fileBytes, errFile := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
fileBytes, errFile := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errFile != nil {
t.Error(errFile)
errHappened = true
Expand Down Expand Up @@ -145,7 +146,7 @@ func TestLangsHaveEngKeys(t *testing.T) {
}

var engTranslations models.Translations
engBytes, errEngFile := langsResources.ReadFile(cLangsFolder + "/" + "en.json")
engBytes, errEngFile := langsResources.ReadFile(consts.CLangsFolder + "/" + "en.json")
if errEngFile != nil {
t.Error(errEngFile)
t.FailNow()
Expand All @@ -161,7 +162,7 @@ func TestLangsHaveEngKeys(t *testing.T) {
errHappened := false
for _, file := range files {
var translations models.Translations
fileBytes, errFile := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
fileBytes, errFile := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errFile != nil {
t.Error(errFile)
errHappened = true
Expand Down Expand Up @@ -200,7 +201,7 @@ func TestLangsKeysHaveEngKey(t *testing.T) {
}

var engTranslations models.Translations
engBytes, errEngFile := langsResources.ReadFile(cLangsFolder + "/" + "en.json")
engBytes, errEngFile := langsResources.ReadFile(consts.CLangsFolder + "/" + "en.json")
if errEngFile != nil {
t.Error(errEngFile)
t.FailNow()
Expand All @@ -216,7 +217,7 @@ func TestLangsKeysHaveEngKey(t *testing.T) {
errHappened := false
for _, file := range files {
var translations models.Translations
fileBytes, errFile := langsResources.ReadFile(cLangsFolder + "/" + file.Name())
fileBytes, errFile := langsResources.ReadFile(consts.CLangsFolder + "/" + file.Name())
if errFile != nil {
t.Error(errFile)
errHappened = true
Expand Down
17 changes: 9 additions & 8 deletions resources_templates.go → assets/resources_templates.go
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
package oxilib
package assets

import (
"embed"
"encoding/json"
"github.com/oxipass/oxilib/consts"
"github.com/oxipass/oxilib/models"
)

var (

//go:embed assets/templates/*.json
//go:embed templates/*.json
templatesResources embed.FS
)

// GetTagsTemplate - returns embedded template data for tags
func GetTagsTemplate() (tagsTemplate models.TagsTemplateJSON, err error) {
fileBytes, errFile := templatesResources.ReadFile(cTemplatesFolder + "/" + cTagsTemplates)
fileBytes, errFile := templatesResources.ReadFile(consts.CTemplatesFolder + "/" + consts.CTagsTemplates)
if errFile != nil {
return tagsTemplate, errFile
}
Expand All @@ -26,7 +27,7 @@ func GetTagsTemplate() (tagsTemplate models.TagsTemplateJSON, err error) {
}

func GetFieldsTemplate() (fieldsTemplate models.FieldsTemplateJSON, err error) {
fileBytes, errFile := templatesResources.ReadFile(cTemplatesFolder + "/" + cFieldsTemplates)
fileBytes, errFile := templatesResources.ReadFile(consts.CTemplatesFolder + "/" + consts.CFieldsTemplates)
if errFile != nil {
return fieldsTemplate, errFile
}
Expand All @@ -38,7 +39,7 @@ func GetFieldsTemplate() (fieldsTemplate models.FieldsTemplateJSON, err error) {
}

func GetItemsTemplate() (itemsTemplate models.ItemsTemplateJSON, err error) {
fileBytes, errFile := templatesResources.ReadFile(cTemplatesFolder + "/" + cItemsTemplates)
fileBytes, errFile := templatesResources.ReadFile(consts.CTemplatesFolder + "/" + consts.CItemsTemplates)
if errFile != nil {
return itemsTemplate, errFile
}
Expand All @@ -49,8 +50,8 @@ func GetItemsTemplate() (itemsTemplate models.ItemsTemplateJSON, err error) {
return itemsTemplate, nil
}

// TODO: Store/update tags templates in database
// TODO: Store/update tags templates in db

// TODO: Store/update fields templates in database
// TODO: Store/update fields templates in db

// TODO: Store/update items templates in database
// TODO: Store/update items templates in db
37 changes: 6 additions & 31 deletions resources_templates_test.go → assets/resources_templates_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package oxilib
package assets

import (
"github.com/oxipass/oxilib/consts"
"testing"
)

Expand Down Expand Up @@ -43,7 +44,7 @@ func TestTagsTemplatesTranslations(tst *testing.T) {
tst.Error(err)
}
for _, tag := range tagsTemplate.Tags {
transl := t(tag.ID)
transl := T(tag.ID)
if transl == "" {
tst.Error("tag translation is empty for tag id: " + tag.ID)
}
Expand All @@ -54,32 +55,6 @@ func TestTagsTemplatesTranslations(tst *testing.T) {

}

func TestDefaultTagsAvailable(t *testing.T) {
storage := GetInstance()
tags, err := storage.GetTags()
if err != nil {
t.Error(err)
}
tagsTemplate, errTempl := GetTagsTemplate()
if errTempl != nil {
t.Error(errTempl)
}

for _, tagTemplate := range tagsTemplate.Tags {
found := false
for _, tag := range tags {
if tag.ExtId == tagTemplate.ID {
found = true
break
}
}
if !found {
t.Error("tag " + tagTemplate.ID + " is not found as default tag in tags")
}

}
}

func TestFieldsTemplates(t *testing.T) {
fieldsTemplate, err := GetFieldsTemplate()
if err != nil {
Expand Down Expand Up @@ -118,7 +93,7 @@ func TestFieldsTemplatesTranslations(tst *testing.T) {
tst.Error(err)
}
for _, field := range fieldsTemplate.Fields {
transl := t(field.ID)
transl := T(field.ID)
if transl == "" {
tst.Error("field translation is empty for field id: " + field.ID)
}
Expand All @@ -136,7 +111,7 @@ func TestFieldsTemplatesTypes(tst *testing.T) {
}
for _, field := range fieldsTemplate.Fields {

if CheckValueType(field.FieldType) == false {
if consts.CheckValueType(field.FieldType) == false {
tst.Error("field type is not valid for field " + field.ID)
}
}
Expand Down Expand Up @@ -169,7 +144,7 @@ func TestItemsTemplatesTranslations(tst *testing.T) {
tst.Error(err)
}
for _, item := range itemsTemplate.Items {
transl := t(item.ID)
transl := T(item.ID)
if transl == "" {
tst.Error("item translation is empty for item id: " + item.ID)
}
Expand Down
Loading

0 comments on commit 9095c18

Please sign in to comment.