Compare commits

...

2 Commits

Author SHA1 Message Date
7fac1c97a8 chore: change tools functions import 2022-01-10 20:20:53 +00:00
563672d7ec chore: yaml config/settings 2022-01-10 10:46:55 +00:00
7 changed files with 481 additions and 6 deletions

2
components.d.ts vendored
View File

@ -9,10 +9,12 @@ declare module 'vue' {
AppLogoText: typeof import('./src/components/icons/AppLogoText.vue')['default']
AppLogoV: typeof import('./src/components/icons/AppLogoV.vue')['default']
BellIcon: typeof import('./src/components/icons/BellIcon.vue')['default']
CarbonDicomOverlay: typeof import('~icons/carbon/dicom-overlay')['default']
CarbonEdit: typeof import('~icons/carbon/edit')['default']
CarbonErase: typeof import('~icons/carbon/erase')['default']
CarbonHome: typeof import('~icons/carbon/home')['default']
CarbonLanguage: typeof import('~icons/carbon/language')['default']
CarbonWarning: typeof import('~icons/carbon/warning')['default']
CheckInput: typeof import('./src/components/forms/CheckInput.vue')['default']
ChevronDoubleRight: typeof import('./src/components/icons/ChevronDoubleRight.vue')['default']
CloseIcon: typeof import('./src/components/icons/CloseIcon.vue')['default']

48
public/config.yaml Normal file
View File

@ -0,0 +1,48 @@
APPNAME: GenAdmin
ASSETS_PATH: /assets
DATA_PATH: /assets/data
# DATA_URL: ${DATA_PATH}/dist/info.json
MODEL_ID: cv
URLKEY: "?k="
AUTH_URL: /auth/URLKEY
AUTH_SEPCHAR: ;
PASSWD_ENC: enc;
URLS:
root: http://localhost:8080
data: /getdata
send: /info
tracking: /tracking
trackinglist: /trackinglist
refreshauth: /refreshauth
varsconfig: /varsconfig.yaml
varsuser: /varsuser.yaml
login: /login
newuser: /newuser
users: /users
sendusers: /users
invitation: /invitation
sendinvitation: /sendinvitation
srvconfig: /config
sendsrvconfig: /config
recovery: /recoveryaccess
sendrecovery: /recoveryaccess
AUTHKEY: auth
UUIDNONE: none
TKNLIMIT: 20
REFRESHTIME: 3
ALLOW_REGISTER: false
RESET_PASSWORD: true
isDevelmode: true
htmlAttrs:
bold: #itm-title
list: list-circle ml-5
link: linkl
text:
dataSections:
cv_model:
cv:
id: cv
title: CV
path: ~/cv.json

321
public/varsconfig.yaml Normal file
View File

@ -0,0 +1,321 @@
sec_logs:
logOut:
typ: String
dflt: logout.json
requestOut:
typ: String
dflt: requests_log.json
requestStore:
typ: String
dflt: fs
trackingOut:
typ: String
dflt: track_log.json
trackingStore:
typ: String
dflt: fs
debugLevel:
typ: Number
dflt: 0
sec_webserver:
host:
dflt: localhost
typ: String
port:
typ: Number
dflt: 8080
protocol:
typ: String
dflt: http
keyPem:
typ: String
dflt: ssl/key.pem
certPem:
typ: String
dflt: ssl/cert.pem
allowOrigins:
typ: Array:String
dflt:
- "http://localhost:3333"
- "http://localhost:5555"
sec_jwt:
useJWT:
typ: Bool
dflt: true
jwtRealm:
typ: String
dflt: cvgen
jwtKey:
typ: String
dflt: "cvsecret-here"
jwtTimeout:
typ: Number
dflt: 20
jwtMaxRefresh:
typ: Number
dflt: 10
signingAlgorithm:
typ: String
dflt: "RS256"
jwtKeyPem:
typ: String
dflt: "ssl/jwt_key.pem"
jwtCertPem:
typ: String
dflt: "ssl/jwt_cert.pem"
sec_auth:
authSep:
typ: String
dflt: ;
passwdEnc:
typ: String
dflt: enc;
invitationsPath:
typ: String
dflt: invitations.yaml
recoveryTime:
typ: Number
dflt: 5
useAuthz:
typ: Bool
dflt: true
authzModel:
typ: String
dflt: rbac_model.conf
authzPolicy:
typ: String
dflt: rbac_policy.csv
adminRole:
typ: String
dflt: admin
usersStore:
typ: String
dflt: fs
sec_perms:
pubUser:
typ: String
dflt: none
usersPath:
typ: String
dflt: users.yaml
usersModelsPath:
typ: String
dflt: usersmodels.yaml
identityKey:
typ: String
dflt: id
sec_routes:
rootAuthGroup:
typ: String
dflt: /
routes:
typ: Object
labelitms: Route
vars:
path:
typ: String
dflt: ''
param:
typ: String
dflt: ''
dflt:
root:
path: /
param: ""
page:
path: "/page/:id"
param: id
data:
path: "/getdata/:target"
param: target
post_data:
path: /info
auth:
path: "/auth/:target"
param: target
refreshauth:
path: "/refreshauth"
post_login:
path: "/login"
sec_templates:
templatesRoot:
typ: String
dflt: templates
templatesExt:
typ: String
dflt: .tmpl
# @ willl be replace with 'templatesRoot'
templatesIncludes:
typ: String
dflt: "@includes"
templatesLayouts:
typ: String
dflt: "@layouts"
templatesFiles:
typ: Object
labelitms: Template
vars:
path:
typ: String
dflt: ''
route:
typ: String
dflt: ''
dflt:
index:
path: "@index.html"
route: /
welcome:
path: "@welcome.tmpl"
route: /welcome
foo_bar:
path: "@foo/bar.tmpl"
route: /foobar
sec_mail:
mailHost:
typ: String
dflt: localhost
mailPort:
typ: Number
dflt: 465
mailFrom:
typ: String
valid: Email
dflt: info@
mailPswd:
typ: Password
dflt:
mailCertPath:
typ: String
dflt: dkim.cert
mailCertDom:
typ: String
dflt: ""
tplsMailPath:
typ: String
dflt: mail
tplsMail:
typ: Object
labelitms: Template
vars:
path:
typ: String
dflt: ''
route:
typ: String
dflt: ''
dflt:
path: newuser
type: text
sec_assets:
assetsPath:
typ: String
dflt: ./assets
assetsURL:
typ: String
dflt: /assets
sec_models:
useDist:
typ: Bool
dflt: true
genDist:
typ: Bool
dflt: true
genExcludeList:
typ: Array:String
dflt:
- cv
dataDistPath:
typ: String
dflt: ./data/dist
dataPath:
typ: String
dflt: ./data
dataModelsRoot:
typ: String
dflt: models.yaml
dataCorePath:
typ: String
dflt: core.yaml
dataDflt:
typ: String
dflt: cv
dataItems:
typ: Array:String
dflt:
- showinfo
- models
- core
- profile
- projects
- work_experience
- education
- teaching
- talks
- others
# - expandskills
dataStore:
typ: String
dflt: fs
sec_langs:
langs:
typ: Array:String
labelitms: Lang
dflt:
- es
- en
mainLang:
typ: String
dflt: en
sec_git:
useRepo:
typ: Bool
dflt: true
useRepoOnReq:
typ: Bool
dflt: false
quietGit:
typ: Bool
dflt: true
backgGit:
typ: Bool
dflt: true
repoPath:
typ: String
dflt: ./data
repoName:
typ: String
dflt: origin
repoCommit:
dflt: "chore: update srvcvgen"
typ: String
sec_others:
openBrowser:
typ: Bool
dflt: true
sec_redis:
redisHost:
typ: String
dflt: localhost
redisPort:
typ: Number
dflt: 6379
redisDB:
typ: String
dflt: cvgen
redisPswd:
typ: String
dflt: ""

103
public/varsuser.yaml Normal file
View File

@ -0,0 +1,103 @@
sec_usersData:
usersData:
typ: Object
labelitms: Name
from:
typ: Content
mode: yaml
dflt: ''
rows: 11
vars:
username:
typ: String
dflt: ''
passwd:
typ: Password
dflt: ''
email:
typ: String
valid: Email
dflt: info@
description:
typ: String
dflt: ''
data:
typ: String
dflt: ''
web:
typ: Bool
dflt: true
sec_modelsData:
modelsData:
typ: Object
labelitms: Name
gen: uuid
from:
typ: Content
mode: yaml
dflt: ''
rows: 11
vars:
model:
typ: String
dflt: ''
user:
typ: String
dflt: ''
data:
typ: String
dflt: ''
active:
typ: Bool
dflt: true
sec_invitations:
invitations:
typ: Object
labelitms: Name
gen: uuid
email: true
from:
typ: Content
mode: yaml
dflt: ''
rows: 5
vars:
email:
typ: String
dflt: ''
valid: Email
createdby:
typ: String
dflt: ''
expire:
typ: String
dflt: ''
gen: NowSet
frmt: ISO
howmany:
typ: Number
dflt: -1
role:
typ: String
dflt: ''
description:
typ: String
dflt: ''
data:
typ: String
dflt: ''
active:
typ: Bool
dflt: true
sec_authzModel:
authzModel:
typ: Content
mode: text
dflt: ''
rows: 11
sec_authzPolicy:
authzPolicy:
typ: Content
mode: text
dflt: ''
rows: 8

View File

@ -81,7 +81,7 @@ import { PropType } from 'vue'
import TextInput from './forms/TextInput.vue'
import CheckInput from './forms/CheckInput.vue'
import { InputValueOption,InputValidateOption,InputValueModeOption} from '~/typs/inputs'
import { generate_value } from '~/hooks/utils'
import { generate_value } from '~/hooks/tools'
const emit = defineEmits(['inputChange','inputAdd','inputDelete'])
const t = useI18n().t
@ -172,4 +172,4 @@ const onAddItem= () => {
}
onBeforeMount(async() => {
})
</script>
</script>

View File

@ -80,7 +80,7 @@ import { PropType } from 'vue'
import { useI18n } from 'vue-i18n'
import InputValue from '@/InputValue.vue'
import { InputValueOption, InputValidateOption,VarsDataType} from '~/typs/inputs'
import { generate_value,email_info } from '~/hooks/utils'
import { generate_value,email_info } from '~/hooks/tools'
const emit = defineEmits(['inputChange','inputModelAdd','inputModelDelete'])
const t = useI18n().t
@ -179,4 +179,4 @@ const onEmailItem= (id: string) => {
email_info(props.varname,props.vardef,ky,targetData[ky],t(props.title,props.varname))
})
}
</script>
</script>

View File

@ -66,7 +66,8 @@ import { useI18n } from 'vue-i18n'
const { t } = useI18n()
import { MessageType} from '~/typs'
import { InputValueOption,InputValidateOption,InputValueModeOption} from '~/typs/inputs'
import { show_message,generate_value} from '~/hooks/utils'
import { show_message } from '~/hooks/utils'
import { generate_value} from '~/hooks/tools'
import { input_validate } from '~/hooks/validation'
const emit = defineEmits(['inputChange'])
const props = defineProps({
@ -141,4 +142,4 @@ const onInputChange = (ev: any) => {
show_message(MessageType.Error, `${t(props.title,props.varname)} not valid`,5000)
}
}
</script>
</script>