wip: add api auth and /resume endpoint
This commit is contained in:
parent
22e2f6005f
commit
2c6d063717
28 changed files with 2486 additions and 271 deletions
228
apischema/openapi.yaml
Normal file
228
apischema/openapi.yaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue