mirror of
https://github.com/resources-manager/resources-manager-api.git
synced 2024-12-22 14:04:00 +01:00
Merge pull request #7 from gnieark/usersAndAuth
Swagger Users and Session WIP
This commit is contained in:
commit
d26510810c
|
@ -1,110 +1,270 @@
|
||||||
swagger: "2.0"
|
swagger: "2.0"
|
||||||
info:
|
info:
|
||||||
description: "SimplePAD API"
|
description: "Resources Manager API"
|
||||||
version: "1.0.0"
|
version: "1.0.0"
|
||||||
title: "SimplePad API"
|
title: "SimplePad API"
|
||||||
host: "simplepad.localhost"
|
host: "localhost"
|
||||||
basePath: "/api"
|
basePath: "/api"
|
||||||
tags:
|
tags:
|
||||||
- name: "pad"
|
- name: "user"
|
||||||
description: "CRUD Pads"
|
description: "Operations about user"
|
||||||
|
- name: "session"
|
||||||
|
description: "logon and log out methods to get a token"
|
||||||
schemes:
|
schemes:
|
||||||
- "https"
|
- "https"
|
||||||
- "http"
|
|
||||||
paths:
|
paths:
|
||||||
/pad:
|
/user:
|
||||||
post:
|
post:
|
||||||
tags:
|
tags:
|
||||||
- "pad"
|
- "user"
|
||||||
summary: "Create a new pad"
|
summary: "Create user"
|
||||||
description: "Create a new PAD (with a random id)"
|
description: "Need pass an api key to authentificate."
|
||||||
consumes:
|
|
||||||
- "application/json"
|
|
||||||
produces:
|
produces:
|
||||||
- "application/json"
|
- "application/json"
|
||||||
parameters:
|
parameters:
|
||||||
- in: "body"
|
- in: "body"
|
||||||
name: "body"
|
name: "body"
|
||||||
|
description: "Created user object"
|
||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/definitions/Pad"
|
$ref: "#/definitions/User"
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
responses:
|
responses:
|
||||||
405:
|
default:
|
||||||
description: "Invalid input"
|
description: "successful operation"
|
||||||
200:
|
401:
|
||||||
description: "SuccessFull"
|
description: Authentification failed
|
||||||
|
403:
|
||||||
|
description: You are not allowed to do that
|
||||||
|
/user/createWithList:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- "user"
|
||||||
|
summary: "Creates list of users with given input array"
|
||||||
|
description: ""
|
||||||
|
produces:
|
||||||
|
- "application/json"
|
||||||
|
parameters:
|
||||||
|
- in: "body"
|
||||||
|
name: "body"
|
||||||
|
description: "List of user object"
|
||||||
|
required: true
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/definitions/Pad"
|
type: "array"
|
||||||
|
items:
|
||||||
/pad/{pad_id}:
|
$ref: "#/definitions/User"
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
default:
|
||||||
|
description: "successful operation"
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
|
403:
|
||||||
|
description: You are not allowed to do that
|
||||||
|
/user/{username}:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
- "pad"
|
- "user"
|
||||||
|
summary: "Get user by user name"
|
||||||
|
description: ""
|
||||||
produces:
|
produces:
|
||||||
- "application/json"
|
- "application/json"
|
||||||
parameters:
|
parameters:
|
||||||
- in: "path"
|
- name: "username"
|
||||||
name: "pad_id"
|
in: "path"
|
||||||
|
description: "The name that needs to be fetched."
|
||||||
required: true
|
required: true
|
||||||
|
type: "string"
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
type: string
|
type: string
|
||||||
maxLength: 6
|
required: false
|
||||||
minLength: 6
|
|
||||||
responses:
|
responses:
|
||||||
404:
|
|
||||||
description: "Does not exists"
|
|
||||||
200:
|
200:
|
||||||
description: "SuccessFull"
|
description: "successful operation"
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/definitions/Pad"
|
$ref: "#/definitions/UserInfo"
|
||||||
post:
|
400:
|
||||||
|
description: "Invalid username supplied"
|
||||||
|
404:
|
||||||
|
description: "User not found"
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
|
403:
|
||||||
|
description: You are not allowed to do that
|
||||||
|
put:
|
||||||
tags:
|
tags:
|
||||||
- "pad"
|
- "user"
|
||||||
description: "Create a new PAD with the given ID"
|
summary: "Updated user"
|
||||||
|
description: "This can only be done by the logged in user."
|
||||||
produces:
|
produces:
|
||||||
- "application/json"
|
- "application/json"
|
||||||
parameters:
|
parameters:
|
||||||
- in: "path"
|
- name: "username"
|
||||||
name: "pad_id"
|
in: "path"
|
||||||
|
description: "name that need to be updated"
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: "string"
|
||||||
maxLength: 6
|
|
||||||
minLength: 6
|
|
||||||
- in: "body"
|
- in: "body"
|
||||||
name: "body"
|
name: "body"
|
||||||
description: "content"
|
description: "Updated user object"
|
||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/definitions/PadPost"
|
$ref: "#/definitions/User"
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
responses:
|
responses:
|
||||||
405:
|
400:
|
||||||
description: "Invalid input"
|
description: "Invalid user supplied"
|
||||||
409:
|
404:
|
||||||
description: "Given Id already exists"
|
description: "User not found"
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
|
403:
|
||||||
|
description: You are not allowed to do that
|
||||||
|
delete:
|
||||||
|
tags:
|
||||||
|
- "user"
|
||||||
|
summary: "Delete user"
|
||||||
|
description: "This can only be done by the logged in user."
|
||||||
|
operationId: "deleteUser"
|
||||||
|
produces:
|
||||||
|
- "application/json"
|
||||||
|
parameters:
|
||||||
|
- name: "username"
|
||||||
|
in: "path"
|
||||||
|
description: "The name that needs to be deleted"
|
||||||
|
required: true
|
||||||
|
type: "string"
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
400:
|
||||||
|
description: "Invalid username supplied"
|
||||||
|
404:
|
||||||
|
description: "User not found"
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
|
403:
|
||||||
|
description: You are not allowed to do that
|
||||||
|
/session:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- session
|
||||||
|
summary: "Get current session info"
|
||||||
|
parameters:
|
||||||
|
- in: header
|
||||||
|
name: X-API-Key
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
200:
|
200:
|
||||||
description: "SuccessFull"
|
description: "successful operation"
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/definitions/Pad"
|
$ref: "#/definitions/Session"
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- session
|
||||||
|
summary: "Try to auth and retrive an api key"
|
||||||
|
parameters:
|
||||||
|
- in: "body"
|
||||||
|
name: "body"
|
||||||
|
description: "auth"
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/InternalAuth"
|
||||||
|
responses:
|
||||||
|
401:
|
||||||
|
description: Authentification failed
|
||||||
|
200:
|
||||||
|
description: "successful operation"
|
||||||
|
schema:
|
||||||
|
$ref: "#/definitions/Session"
|
||||||
|
|
||||||
|
|
||||||
definitions:
|
definitions:
|
||||||
Pad:
|
User:
|
||||||
type: "object"
|
type: "object"
|
||||||
properties:
|
properties:
|
||||||
id:
|
id:
|
||||||
type: string
|
type: "integer"
|
||||||
maxLength: 6
|
format: "int64"
|
||||||
minLength: 6
|
username:
|
||||||
content:
|
type: "string"
|
||||||
type: string
|
firstName:
|
||||||
create_date:
|
type: "string"
|
||||||
type: string
|
lastName:
|
||||||
format: date
|
type: "string"
|
||||||
PadPost:
|
email:
|
||||||
|
type: "string"
|
||||||
|
password:
|
||||||
|
type: "string"
|
||||||
|
format: "password"
|
||||||
|
phone:
|
||||||
|
type: "string"
|
||||||
|
userStatus:
|
||||||
|
type: "integer"
|
||||||
|
format: "int32"
|
||||||
|
description: "User Status"
|
||||||
|
authMethod:
|
||||||
|
type: "string"
|
||||||
|
pattern: '^(internal|ldap|cas)$'
|
||||||
|
UserInfo:
|
||||||
type: "object"
|
type: "object"
|
||||||
required:
|
|
||||||
- content
|
|
||||||
properties:
|
properties:
|
||||||
content:
|
id:
|
||||||
|
type: "integer"
|
||||||
|
format: "int64"
|
||||||
|
username:
|
||||||
|
type: "string"
|
||||||
|
firstName:
|
||||||
|
type: "string"
|
||||||
|
lastName:
|
||||||
|
type: "string"
|
||||||
|
email:
|
||||||
|
type: "string"
|
||||||
|
phone:
|
||||||
|
type: "string"
|
||||||
|
userStatus:
|
||||||
|
type: "integer"
|
||||||
|
format: "int32"
|
||||||
|
description: "User Status"
|
||||||
|
authMethod:
|
||||||
|
type: "string"
|
||||||
|
pattern: '^(internal|ldap|cas)$'
|
||||||
|
lastConnect:
|
||||||
|
type: "string"
|
||||||
|
format: date-time
|
||||||
|
Session:
|
||||||
|
type: "object"
|
||||||
|
properties:
|
||||||
|
user:
|
||||||
|
type: object
|
||||||
|
createDate:
|
||||||
type: string
|
type: string
|
||||||
|
format: date-time
|
||||||
|
endDate:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
X-API-Key:
|
||||||
|
type: string
|
||||||
|
InternalAuth:
|
||||||
|
type: "object"
|
||||||
|
properties:
|
||||||
|
username:
|
||||||
|
type: "string"
|
||||||
|
password:
|
||||||
|
type: "string"
|
||||||
|
format: password
|
Loading…
Reference in New Issue
Block a user