wip: add api auth and /resume endpoint

This commit is contained in:
cătălin 2023-12-04 22:13:37 +01:00
commit aaec8ec08d
Signed by: catalin
GPG key ID: 0178DF42F43E5FD2
23 changed files with 1244 additions and 271 deletions

260
apischema/openapi.yaml Normal file
View file

@ -0,0 +1,260 @@
openapi: 3.1.0
x-stoplight:
id: 8awcrxb6k3l5z
info:
contact:
email: catalin@roboces.dev
name: cătălin
license:
name: GNU General Public License v3.0 or later
identifier: GPL-3.0-or-later
title: CVVV
description: JSON Resume Schema Explorer
version: 0.1.0
servers:
- url: 'https://cvvvvv.roboces.dev/api/v1'
security:
- ApiKeyAuth: []
paths:
/ping:
get:
summary: Healthcheck
description: Check if the server is alive
operationId: getPing
responses:
'200':
description: Ping
content:
schema:
type: string
example: pong
x-stoplight:
id: qrrj5n6zobz3p
/usage:
get:
summary: Get usage
description: Show usage instructions
operationId: getUsage
responses:
'200':
description: Usage
content:
schema:
type: string
example: pong
x-stoplight:
id: xt6go87v6s1rz
/resume:
get:
summary: Get resume
description: Retrieve the full JSON resume
operationId: getResume
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume
content:
application/json:
schema:
$ref: ./resumeschema.json
x-stoplight:
id: w9tzzy49yf2sw
/resume/basics:
get:
summary: Get basics
description: Retrieve the basics section from the JSON resume
operationId: getResumeBasics
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume basics
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/basics
x-stoplight:
id: 40upzt6ummt0i
/resume/work:
get:
summary: Get work
description: Retrieve the work section from the JSON resume
operationId: getResumeWork
security:
- ApiKeyAuth
responses:
'200':
description: Resume work
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/work
x-stoplight:
id: 310a662ft52e4
/resume/volunteer:
get:
summary: Get volunteer
description: Retrieve the volunteer section from the JSON resume
operationId: getResumeVolunteer
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume volunteer
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/volunteer
x-stoplight:
id: 5hqoylsv7zfu3
/resume/education:
get:
summary: Get education
description: Retrieve the education section from the JSON resume
operationId: getResumeEducation
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume education
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/education
x-stoplight:
id: u4jgzg5nksvps
/resume/awards:
get:
summary: Get awards
description: Retrieve the awards section from the JSON resume
operationId: getResumeAwards
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume awards
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/awards
x-stoplight:
id: 0zjhsoqee1cvj
/resume/certificates:
get:
summary: Get certificates
description: Retrieve the certificates section from the JSON resume
operationId: getResumeCertificates
security:
- ApiKeyAuth
responses:
'200':
description: Resume certificates
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/certificates
x-stoplight:
id: wy17alifr6isl
/resume/publications:
get:
summary: Get publications
description: Retrieve the publications section from the JSON resume
operationId: getResumePublications
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume publications
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/publications
x-stoplight:
id: tr5v58qwzhjah
/resume/skills:
get:
summary: Get skills
description: Retrieve the skills section from the JSON resume
operationId: getResumeSkills
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume skills
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/skills
x-stoplight:
id: 2of3u7x07mh02
/resume/languages:
get:
summary: Get languages
description: Retrieve the languages section from the JSON resume
operationId: getResumeLanguages
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume languages
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/languages
x-stoplight:
id: 22ndcxgbjnwhh
/resume/interests:
get:
summary: Get interests
description: Retrieve the interests section from the JSON resume
operationId: getResumeInterests
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume interests
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/interests
x-stoplight:
id: 7dv8xl1apkm2y
/resume/references:
get:
summary: Get references
description: Retrieve the references section from the JSON resume
operationId: getResumeReferences
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume references
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/references
x-stoplight:
id: 2wl5vh02k4jpo
/resume/projects:
get:
summary: Get projects
description: Retrieve the projects section from the JSON resume
operationId: getResumeProjects
security:
- ApiKeyAuth: []
responses:
'200':
description: Resume projects
content:
application/json:
schema:
$ref: ./resumeschema.json#/properties/projects
x-stoplight:
id: 0ck9me9tw4m3e
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY