cvgen/src/typs/cv.ts
2022-01-10 11:27:09 +00:00

320 lines
5.8 KiB
TypeScript

export interface AuthInfoType {
editable: boolean
viewchange: boolean
show: boolean
}
export interface SkillsType {
id: string
auth: AuthInfoType
title: string
max: number
value: number
}
export interface CertificationType {
id: string
auth: AuthInfoType
title: string
author: string
date: string
link: string
href: string
certid: string
}
export interface SitesType {
id: string
auth: AuthInfoType
title: string
sub: string
link: string
type: string
alt: string
img: string
}
export interface LangsType {
id: string
title: string
mode: string
}
export interface WorkExperienceType {
[key: string]: any
auth: AuthInfoType
date: string
where: string
wheredef: string
location: string
position: string
description: string
tools: string[]
tasks: string[]
}
export interface TalksType {
[key: string]: any
auth: AuthInfoType
date: string
title: string
org: string
location: string
description: string[]
}
export interface TeachingType {
[key: string]: any
auth: AuthInfoType
date: string
title: string
org: string
location: string
description: string[]
}
export interface EducationType {
[key: string]: any
auth: AuthInfoType
date: string
title: string
org: string
location: string
cert: string
description: string[]
tools: string[]
}
export interface ProjectType {
[key: string]: any
auth: AuthInfoType
date: string
name: string
title: string
img: string
site: string
code: string
purpose: string
for: string
position: string
license: string
demo: string
capture: string
description: string
features: string[]
builtwith: string[]
}
export interface ProfileType {
[key: string]: unknown;
auth: AuthInfoType
desc: string
}
export interface OtherType {
[key: string]: unknown;
auth: AuthInfoType
desc: string
}
export interface MissionHowType {
[key: string]: unknown;
auth: AuthInfoType
desc: string
}
export interface DataCoreType {
[key: string]: any
name: string
fullname: string
title1: string
title2: string
imgalt: string
imgsrc: string
email: string
phone: string
address: string
postalcode: string
state: string
city: string
country: string
birthdate: string
status: string
mission: string
mission_how: MissionHowType[]
profile: ProfileType[]
certifications: CertificationType[]
skills: SkillsType[]
infra: SkillsType[]
sites: SitesType[]
langs: LangsType[]
}
export interface DataLangType {
[key: string]: any
imgalt: string
title1: string
title2: string
country: string
birthdate: string
status: string
mission: string
mission_how: MissionHowType[]
profile: ProfileType[]
certifications: CertificationType[]
work_experiences: WorkExperienceType[]
projects: ProjectType[]
education: EducationType[]
talks: TalksType[]
teaching: TeachingType[]
others: OtherType[]
}
export interface DataLangsType {
[key: string]: DataLangType
}
export interface ShowTalksType {
[key: string]: unknown;
auth: AuthInfoType
date: boolean
title: boolean
org: boolean
location: boolean
description: boolean
}
export interface ShowTeachingType {
[key: string]: unknown;
auth: AuthInfoType
date: boolean
title: boolean
org: boolean
location: boolean
description: boolean
}
export interface ShowWorkExperienceType {
[key: string]: unknown;
auth: AuthInfoType
date: boolean
where: boolean
wheredef: boolean
location: boolean
position: boolean
description: boolean
tools: boolean
tasks: boolean
}
export interface ShowEducationType {
[key: string]: unknown;
auth: AuthInfoType
date: boolean
title: boolean
org: boolean
location: boolean
cert: boolean
description: boolean
tools: boolean
}
export interface ShowProjectType {
[key: string]: unknown;
auth: AuthInfoType
name: boolean
img: boolean
title: boolean
purpose: boolean
site: boolean
code: boolean
date: boolean
for: boolean
position: boolean
license: boolean
demo: boolean
capture: boolean
description: boolean
features: boolean
builtwith: boolean
}
export interface ShowInfoType {
[key: string]: any
id: string
ky: string
auth: AuthInfoType
write: boolean
change: boolean
admin: boolean
// save: boolean
fullname: boolean
personal: boolean
title: boolean
image: boolean
mission: boolean
mission_how: boolean
phone: boolean
address: boolean
status: boolean
birthdate: boolean
sites: boolean
skills: boolean
skills_itms: boolean
infra: boolean
certs: boolean
langs: boolean
profile: boolean
work_experience_itms: boolean
work_experience: ShowWorkExperienceType
project_itms: boolean
projects: ShowProjectType
education_itms: boolean
education: ShowEducationType
talks_itms: boolean
talks: ShowTalksType
teaching_itms: boolean
teaching: ShowTeachingType
others_itms: boolean
others: boolean
}
export interface HtmlAttrsType {
[key: string]: any
bold: string
list: string
text: string
link: string
}
export interface OptionsSelectorType {
title: string
val: string
}
export interface InputBtnsType {
id: string
title: string
typ: string
show: boolean
}
export enum MessageBoxType {
Save = 'save',
Select = 'select',
Input = 'input',
OneInput = 'oneinput',
NotSet = '',
}
export enum NavPosition {
header = 'header',
footer = 'footer',
}
export interface ModelType {
[key: string]: any
id: string
title: string
path: string
}
export interface ModelSelType {
[key: string]: ModelType
}
export interface CVDataType {
models: ModelType[]
showinfo: ShowInfoType[]
core: DataCoreType[]
work_experience: WorkExperienceType[]
projects: ProjectType[]
education: EducationType[]
talks: TalksType[]
teaching: TeachingType[]
others: OtherType[]
}
export interface CVLangDataType {
[key: string]: CVDataType
}
export interface CVModelDataType {
[key: string]: CVLangDataType
}
export interface CVPostDataType {
u: string
data: CVModelDataType
}