Create JSON modell
parent
fac781a053
commit
91f2e1abcb
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"authUser": "Unique Username (from ",
|
||||||
|
"nextcloudUrl": "https://cloud.myDomain.de",
|
||||||
|
"username": "MyUsername",
|
||||||
|
"password": "App Password",
|
||||||
|
|
||||||
|
"jobs": [
|
||||||
|
{
|
||||||
|
"jobName": "",
|
||||||
|
"sourceDir": "Arbeit/",
|
||||||
|
"destinationDir": "Ebooks/",
|
||||||
|
"keepFolders": true,
|
||||||
|
"recursive": true,
|
||||||
|
"execution": [ "01:00", "15:00" ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
type User struct {
|
||||||
|
AuthUser string`json:"authUser"`
|
||||||
|
NextcloudBaseUrl string`json:"nextcloudUrl"`
|
||||||
|
Username string`json:"username"`
|
||||||
|
Password string`json:"password"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ConvertJob struct {
|
||||||
|
JobName string`json:"jobName"`
|
||||||
|
SourceDir string`json:"sourceDir"`
|
||||||
|
DestinationDir string`json:"destinationDir"`
|
||||||
|
KeepFolders string`json:"keepFolders"`
|
||||||
|
Recursive string`json:"recursive"`
|
||||||
|
Executions []string`json:"execution"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type NcConverter struct {
|
||||||
|
Users []User`json:"users"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parses the given file to the in memory struct
|
||||||
|
func ParseUsers(filePath string) (*NcConverter, error) {
|
||||||
|
|
||||||
|
file, err := os.OpenFile(filePath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to open the file '%s': %s", filePath, err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
byteValue, err := ioutil.ReadAll(file)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to parse 'ncConverter.json': %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var conv NcConverter
|
||||||
|
|
||||||
|
json.Unmarshal(byteValue, &conv)
|
||||||
|
|
||||||
|
return &conv, nil
|
||||||
|
}
|
|
@ -2,7 +2,6 @@ package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
yaml "gopkg.in/yaml.v3"
|
yaml "gopkg.in/yaml.v3"
|
||||||
|
@ -27,6 +26,7 @@ type Logging struct {
|
||||||
LogFilePath string `yaml:"logFilePath"`
|
LogFilePath string `yaml:"logFilePath"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parses the given configuration file (.yaml file) to an WebConfiguration
|
||||||
func ParseConfig(webConfig *WebConfig, file string) (*WebConfig, error) {
|
func ParseConfig(webConfig *WebConfig, file string) (*WebConfig, error) {
|
||||||
if file == "" {
|
if file == "" {
|
||||||
return webConfig, nil
|
return webConfig, nil
|
||||||
|
@ -70,7 +70,9 @@ func SetConfig() (*WebConfig, error) {
|
||||||
webConfig := getDefaultConfig()
|
webConfig := getDefaultConfig()
|
||||||
webConfig, err := ParseConfig(webConfig, configPath)
|
webConfig, err := ParseConfig(webConfig, configPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("unable to parse the configuration file '%s': %s", configPath, err)
|
logger.Error("Unable to parse the configuration file '%s': %s", configPath, err)
|
||||||
|
webConfig = getDefaultConfig()
|
||||||
|
err = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
_ = flag.String("config", "./config.yaml", "Path to the configuration file (see configs/config.yaml) for an example")
|
_ = flag.String("config", "./config.yaml", "Path to the configuration file (see configs/config.yaml) for an example")
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package ncworker
|
||||||
|
|
||||||
|
type NcConverter struct {
|
||||||
|
NextcloudBaseUrl string`json:"nextcloudUrl"`
|
||||||
|
Username string`json:"username"`
|
||||||
|
App
|
||||||
|
SourceDir string`json:"users"`
|
||||||
|
DestinationDir string`json:"users"`
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
package ncworker
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func scheduleExecutions() {
|
||||||
|
|
||||||
|
}
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
nodemon --delay 1s -e go,html --ignore web/app/ --exec go run ./cmd/ncDocConverth --signal SIGTERM
|
./web/app/node_modules/.bin/nodemon --delay 10s -e go,html --ignore web/app/ --signal SIGTERM --exec go run ./cmd/ncDocConverth || exit 1
|
Loading…
Reference in New Issue