feat: add cv benchmark workflow and admin visibility
This commit is contained in:
@@ -44,6 +44,7 @@ export type StructuredCvJob = {
|
||||
|
||||
export type StructuredCvEducation = {
|
||||
qualification?: string;
|
||||
qualificationLevel?: string;
|
||||
institution?: string;
|
||||
location?: string;
|
||||
start?: string;
|
||||
@@ -51,6 +52,24 @@ export type StructuredCvEducation = {
|
||||
details: string[];
|
||||
};
|
||||
|
||||
export type StructuredCvCertification = {
|
||||
name?: string;
|
||||
issuer?: string;
|
||||
location?: string;
|
||||
date?: string;
|
||||
details: string[];
|
||||
};
|
||||
|
||||
export type StructuredCvProject = {
|
||||
name?: string;
|
||||
role?: string;
|
||||
location?: string;
|
||||
start?: string;
|
||||
end?: string;
|
||||
bullets: string[];
|
||||
skills: string[];
|
||||
};
|
||||
|
||||
export type StructuredCvLanguage = {
|
||||
name?: string;
|
||||
level?: string;
|
||||
@@ -69,6 +88,8 @@ export type StructuredCvProfile = {
|
||||
summary: string[];
|
||||
jobs: StructuredCvJob[];
|
||||
education: StructuredCvEducation[];
|
||||
certifications: StructuredCvCertification[];
|
||||
projects: StructuredCvProject[];
|
||||
skills: string[];
|
||||
languages: StructuredCvLanguage[];
|
||||
interests: string[];
|
||||
@@ -95,6 +116,8 @@ export function emptyStructuredCv(): StructuredCvProfile {
|
||||
summary: [],
|
||||
jobs: [],
|
||||
education: [],
|
||||
certifications: [],
|
||||
projects: [],
|
||||
skills: [],
|
||||
languages: [],
|
||||
interests: [],
|
||||
@@ -214,6 +237,7 @@ export function normalizeStructuredCv(value: unknown): StructuredCvProfile {
|
||||
education: Array.isArray(source.education)
|
||||
? source.education.map((education: any) => ({
|
||||
qualification: normalizeString(education?.qualification),
|
||||
qualificationLevel: normalizeString(education?.qualificationLevel),
|
||||
institution: normalizeString(education?.institution),
|
||||
location: normalizeString(education?.location),
|
||||
start: normalizeString(education?.start),
|
||||
@@ -221,6 +245,26 @@ export function normalizeStructuredCv(value: unknown): StructuredCvProfile {
|
||||
details: normalizeList(education?.details),
|
||||
}))
|
||||
: [],
|
||||
certifications: Array.isArray(source.certifications)
|
||||
? source.certifications.map((certification: any) => ({
|
||||
name: normalizeString(certification?.name),
|
||||
issuer: normalizeString(certification?.issuer),
|
||||
location: normalizeString(certification?.location),
|
||||
date: normalizeString(certification?.date),
|
||||
details: normalizeList(certification?.details),
|
||||
}))
|
||||
: [],
|
||||
projects: Array.isArray(source.projects)
|
||||
? source.projects.map((project: any) => ({
|
||||
name: normalizeString(project?.name),
|
||||
role: normalizeString(project?.role),
|
||||
location: normalizeString(project?.location),
|
||||
start: normalizeString(project?.start),
|
||||
end: normalizeString(project?.end),
|
||||
bullets: normalizeList(project?.bullets),
|
||||
skills: normalizeList(project?.skills),
|
||||
}))
|
||||
: [],
|
||||
skills: normalizeList(source.skills),
|
||||
languages: Array.isArray(source.languages)
|
||||
? source.languages.map((language: any) => ({
|
||||
|
||||
Reference in New Issue
Block a user