Browse Source

Merge pull request #5801 from Atry/fix-login-openapi

fix: properly document `/users/login`
Lauri Ojansivu 1 week ago
parent
commit
6fed9e73d8
2 changed files with 86 additions and 54 deletions
  1. 43 27
      openapi/generate_openapi.py
  2. 43 27
      public/api/wekan.yml

+ 43 - 27
openapi/generate_openapi.py

@@ -932,47 +932,63 @@ paths:
       operationId: login
       summary: Login with REST API
       consumes:
-        - application/x-www-form-urlencoded
         - application/json
+        - application/x-www-form-urlencoded
       tags:
         - Login
       parameters:
-        - name: username
-          in: formData
+        - name: loginRequest
+          in: body
           required: true
-          description: |
-            Your username
-          type: string
-        - name: password
-          in: formData
-          required: true
-          description: |
-            Your password
-          type: string
-          format: password
+          description: Login credentials
+          schema:
+            type: object
+            required:
+              - username
+              - password
+            properties:
+              username:
+                description: |
+                  Your username
+                type: string
+              password:
+                description: |
+                  Your password
+                type: string
+                format: password
       responses:
         200:
           description: |-
             Successful authentication
           schema:
-            items:
-              properties:
-                id:
-                  type: string
-                token:
-                  type: string
-                tokenExpires:
-                  type: string
+            type: object
+            required:
+              - id
+              - token
+              - tokenExpires
+            properties:
+              id:
+                type: string
+                description: User ID
+              token:
+                type: string
+                description: |
+                  Authentication token
+              tokenExpires:
+                type: string
+                format: date-time
+                description: |
+                  Token expiration date
         400:
           description: |
             Error in authentication
           schema:
-            items:
-              properties:
-                error:
-                  type: number
-                reason:
-                  type: string
+            type: object
+            properties:
+              error:
+                type: string
+              reason:
+                type: string
         default:
           description: |
             Error in authentication

+ 43 - 27
public/api/wekan.yml

@@ -31,47 +31,63 @@ paths:
       operationId: login
       summary: Login with REST API
       consumes:
-        - application/x-www-form-urlencoded
         - application/json
+        - application/x-www-form-urlencoded
       tags:
         - Login
       parameters:
-        - name: username
-          in: formData
+        - name: loginRequest
+          in: body
           required: true
-          description: |
-            Your username
-          type: string
-        - name: password
-          in: formData
-          required: true
-          description: |
-            Your password
-          type: string
-          format: password
+          description: Login credentials
+          schema:
+            type: object
+            required:
+              - username
+              - password
+            properties:
+              username:
+                type: string
+                description: |
+                  Your username
+              password:
+                type: string
+                format: password
+                description: |
+                  Your password
       responses:
         200:
           description: |-
             Successful authentication
           schema:
-            items:
-              properties:
-                id:
-                  type: string
-                token:
-                  type: string
-                tokenExpires:
-                  type: string
+            type: object
+            required:
+              - id
+              - token
+              - tokenExpires
+            properties:
+              id:
+                type: string
+                description: User ID
+              token:
+                type: string
+                description: |
+                  Authentication token
+              tokenExpires:
+                type: string
+                format: date-time
+                description: |
+                  Token expiration date
         400:
           description: |
             Error in authentication
           schema:
-            items:
-              properties:
-                error:
-                  type: number
-                reason:
-                  type: string
+            type: object
+            properties:
+              error:
+                type: string
+              reason:
+                type: string
         default:
           description: |
             Error in authentication