wip: add api auth and /resume endpoint

This commit is contained in:
cătălin 2023-12-04 22:21:34 +01:00
commit 2c6d063717
Signed by: catalin
GPG key ID: 0178DF42F43E5FD2
28 changed files with 2486 additions and 271 deletions

228
apischema/openapi.yaml Normal file
View file

@ -0,0 +1,228 @@
openapi: 3.1.0
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
/usage:
get:
summary: Get usage
description: Show usage instructions
operationId: getUsage
responses:
'200':
description: Usage
content:
schema:
type: string
example: pong
/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
/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
/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
/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
/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
/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
/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
/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
/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
/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
/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
/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
/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
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY