2
0
Lauri Ojansivu 4 жил өмнө
parent
commit
010a1d07d9

+ 1 - 1
CHANGELOG.md

@@ -1,4 +1,4 @@
-# Upcoming Wekan release
+# v4.90 2021-01-28 Wekan release
 
 This release adds the following new features:
 

+ 1 - 1
Stackerfile.yml

@@ -1,5 +1,5 @@
 appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v4.89.0"
+appVersion: "v4.90.0"
 files:
   userUploads:
     - README.md

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v4.89.0",
+  "version": "v4.90.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v4.89.0",
+  "version": "v4.90.0",
   "description": "Open-Source kanban",
   "private": true,
   "scripts": {

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 271 - 293
public/api/wekan.html


+ 624 - 1
public/api/wekan.yml

@@ -1,7 +1,7 @@
 swagger: '2.0'
 info:
   title: Wekan REST API
-  version: v4.89
+  version: v4.90
   description: |
     The REST API allows you to control and extend Wekan with ease.
 
@@ -134,6 +134,198 @@ paths:
           description: |
             Error in registration
 
+  /api/boards:
+    get:
+      operationId: get_public_boards
+      summary: Get all public boards
+      tags:
+        - Boards
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            type: array
+            items:
+              type: object
+              properties:
+                _id:
+                  type: string
+                title:
+                  type: string
+    post:
+      operationId: new_board
+      summary: Create a board
+      description: |
+        This allows to create a board.
+
+         The color has to be chosen between `belize`, `nephritis`, `pomegranate`,
+         `pumpkin`, `wisteria`, `moderatepink`, `strongcyan`,
+         `limegreen`, `midnight`, `dark`, `relax`, `corteza`:
+
+         <img src="https://wekan.github.io/board-colors.png" width="40%" alt="Wekan logo" />
+      tags:
+        - Boards
+      consumes:
+        - multipart/form-data
+        - application/json
+      parameters:
+        - name: title
+          in: formData
+          description: |
+            the new title of the board
+          type: string
+          required: true
+        - name: owner
+          in: formData
+          description: |
+            "ABCDE12345" <= User ID in Wekan.
+                 (Not username or email)
+          type: string
+          required: true
+        - name: isAdmin
+          in: formData
+          description: |
+            is the owner an admin of the board (default true)
+          type: boolean
+          required: false
+        - name: isActive
+          in: formData
+          description: |
+            is the board active (default true)
+          type: boolean
+          required: false
+        - name: isNoComments
+          in: formData
+          description: |
+            disable comments (default false)
+          type: boolean
+          required: false
+        - name: isCommentOnly
+          in: formData
+          description: |
+            only enable comments (default false)
+          type: boolean
+          required: false
+        - name: isWorker
+          in: formData
+          description: |
+            only move cards, assign himself to card and comment (default false)
+          type: boolean
+          required: false
+        - name: permission
+          in: formData
+          description: |
+            "private" board <== Set to "public" if you
+                 want public Wekan board
+          type: string
+          required: false
+        - name: color
+          in: formData
+          description: |
+            the color of the board
+          type: string
+          required: false
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            type: object
+            properties:
+              _id:
+                type: string
+              defaultSwimlaneId:
+                type: string
+  /api/boards/{board}:
+    get:
+      operationId: get_board
+      summary: Get the board with that particular ID
+      tags:
+        - Boards
+      parameters:
+        - name: board
+          in: path
+          description: |
+            the ID of the board to retrieve the data
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            $ref: "#/definitions/Boards"
+    delete:
+      operationId: delete_board
+      summary: Delete a board
+      tags:
+        - Boards
+      parameters:
+        - name: board
+          in: path
+          description: |
+            the ID of the board
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+  /api/boards/{board}/attachments:
+    get:
+      operationId: get_board_attachments
+      summary: Get the list of attachments of a board
+      tags:
+        - Boards
+      parameters:
+        - name: board
+          in: path
+          description: |
+            the board ID
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            type: array
+            items:
+              type: object
+              properties:
+                attachmentId:
+                  type: string
+                attachmentName:
+                  type: string
+                attachmentType:
+                  type: string
+                cardId:
+                  type: string
+                listId:
+                  type: string
+                swimlaneId:
+                  type: string
   /api/boards/{board}/cards/{card}/checklists:
     get:
       operationId: get_all_checklists
@@ -1096,6 +1288,40 @@ paths:
             200 response
           schema:
             $ref: "#/definitions/Integrations"
+  /api/boards/{board}/labels:
+    put:
+      operationId: add_board_label
+      summary: Add a label to a board
+      description: |
+        If the board doesn't have the name/color label, this function
+         adds the label to the board.
+      tags:
+        - Boards
+      consumes:
+        - multipart/form-data
+        - application/json
+      parameters:
+        - name: label
+          in: formData
+          description: the label value
+          type: string
+          required: true
+        - name: board
+          in: path
+          description: |
+            the board
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            type: string
   /api/boards/{board}/lists:
     get:
       operationId: get_all_lists
@@ -1577,6 +1803,61 @@ paths:
             properties:
               _id:
                 type: string
+  /api/boards/{board}/members/{member}:
+    post:
+      operationId: set_board_member_permission
+      summary: Change the permission of a member of a board
+      tags:
+        - Boards
+        - Users
+      consumes:
+        - multipart/form-data
+        - application/json
+      parameters:
+        - name: isAdmin
+          in: formData
+          description: |
+            admin capability
+          type: boolean
+          required: true
+        - name: isNoComments
+          in: formData
+          description: |
+            NoComments capability
+          type: boolean
+          required: true
+        - name: isCommentOnly
+          in: formData
+          description: |
+            CommentsOnly capability
+          type: boolean
+          required: true
+        - name: isWorker
+          in: formData
+          description: |
+            Worker capability
+          type: boolean
+          required: true
+        - name: board
+          in: path
+          description: |
+            the ID of the board that we are changing
+          type: string
+          required: true
+        - name: member
+          in: path
+          description: |
+            the ID of the user to change permissions
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
   /api/boards/{board}/members/{user}/add:
     post:
       operationId: add_board_member
@@ -2033,7 +2314,349 @@ paths:
             properties:
               _id:
                 type: string
+  /api/users/{user}/boards:
+    get:
+      operationId: get_boards_from_user
+      summary: Get all boards attached to a user
+      tags:
+        - Boards
+      parameters:
+        - name: user
+          in: path
+          description: |
+            the ID of the user to retrieve the data
+          type: string
+          required: true
+      produces:
+        - application/json
+      security:
+          - UserSecurity: []
+      responses:
+        '200':
+          description: |-
+            200 response
+          schema:
+            type: array
+            items:
+              type: object
+              properties:
+                _id:
+                  type: string
+                title:
+                  type: string
 definitions:
+  Boards:
+    type: object
+    description:  This is a Board.
+    properties:
+      title:
+        description: |
+           The title of the board
+        type: string
+      slug:
+        description: |
+           The title slugified.
+        type: string
+      archived:
+        description: |
+           Is the board archived?
+        type: boolean
+      createdAt:
+        description: |
+           Creation time of the board
+        type: string
+      modifiedAt:
+        description: |
+           Last modification time of the board
+        type: string
+        x-nullable: true
+      stars:
+        description: |
+           How many stars the board has
+        type: number
+      labels:
+        description: |
+           List of labels attached to a board
+        type: array
+        items:
+          $ref: "#/definitions/BoardsLabels"
+      members:
+        description: |
+           List of members of a board
+        type: array
+        items:
+          $ref: "#/definitions/BoardsMembers"
+      permission:
+        description: |
+           visibility of the board
+        type: string
+        enum:
+          - public
+          - private
+      color:
+        description: |
+           The color of the board.
+        type: string
+        enum:
+          - belize
+          - nephritis
+          - pomegranate
+          - pumpkin
+          - wisteria
+          - moderatepink
+          - strongcyan
+          - limegreen
+          - midnight
+          - dark
+          - relax
+          - corteza
+          - clearblue
+          - natural
+          - modern
+          - moderndark
+      description:
+        description: |
+           The description of the board
+        type: string
+        x-nullable: true
+      subtasksDefaultBoardId:
+        description: |
+           The default board ID assigned to subtasks.
+        type: string
+        x-nullable: true
+      subtasksDefaultListId:
+        description: |
+           The default List ID assigned to subtasks.
+        type: string
+        x-nullable: true
+      dateSettingsDefaultBoardId:
+        type: string
+        x-nullable: true
+      dateSettingsDefaultListId:
+        type: string
+        x-nullable: true
+      allowsSubtasks:
+        description: |
+           Does the board allows subtasks?
+        type: boolean
+      allowsAttachments:
+        description: |
+           Does the board allows attachments?
+        type: boolean
+      allowsChecklists:
+        description: |
+           Does the board allows checklists?
+        type: boolean
+      allowsComments:
+        description: |
+           Does the board allows comments?
+        type: boolean
+      allowsDescriptionTitle:
+        description: |
+           Does the board allows description title?
+        type: boolean
+      allowsDescriptionText:
+        description: |
+           Does the board allows description text?
+        type: boolean
+      allowsActivities:
+        description: |
+           Does the board allows comments?
+        type: boolean
+      allowsLabels:
+        description: |
+           Does the board allows labels?
+        type: boolean
+      allowsAssignee:
+        description: |
+           Does the board allows assignee?
+        type: boolean
+      allowsMembers:
+        description: |
+           Does the board allows members?
+        type: boolean
+      allowsRequestedBy:
+        description: |
+           Does the board allows requested by?
+        type: boolean
+      allowsAssignedBy:
+        description: |
+           Does the board allows requested by?
+        type: boolean
+      allowsReceivedDate:
+        description: |
+           Does the board allows received date?
+        type: boolean
+      allowsStartDate:
+        description: |
+           Does the board allows start date?
+        type: boolean
+      allowsEndDate:
+        description: |
+           Does the board allows end date?
+        type: boolean
+      allowsDueDate:
+        description: |
+           Does the board allows due date?
+        type: boolean
+      presentParentTask:
+        description: |
+           Controls how to present the parent task:
+
+           - `prefix-with-full-path`: add a prefix with the full path
+           - `prefix-with-parent`: add a prefisx with the parent name
+           - `subtext-with-full-path`: add a subtext with the full path
+           - `subtext-with-parent`: add a subtext with the parent name
+           - `no-parent`: does not show the parent at all
+        type: string
+        enum:
+          - prefix-with-full-path
+          - prefix-with-parent
+          - subtext-with-full-path
+          - subtext-with-parent
+          - no-parent
+        x-nullable: true
+      startAt:
+        description: |
+           Starting date of the board.
+        type: string
+        x-nullable: true
+      dueAt:
+        description: |
+           Due date of the board.
+        type: string
+        x-nullable: true
+      endAt:
+        description: |
+           End date of the board.
+        type: string
+        x-nullable: true
+      spentTime:
+        description: |
+           Time spent in the board.
+        type: number
+        x-nullable: true
+      isOvertime:
+        description: |
+           Is the board overtimed?
+        type: boolean
+        x-nullable: true
+      type:
+        description: |
+           The type of board
+        type: string
+      sort:
+        description: |
+           Sort value
+        type: number
+    required:
+      - title
+      - slug
+      - archived
+      - createdAt
+      - stars
+      - labels
+      - members
+      - permission
+      - color
+      - allowsSubtasks
+      - allowsAttachments
+      - allowsChecklists
+      - allowsComments
+      - allowsDescriptionTitle
+      - allowsDescriptionText
+      - allowsActivities
+      - allowsLabels
+      - allowsAssignee
+      - allowsMembers
+      - allowsRequestedBy
+      - allowsAssignedBy
+      - allowsReceivedDate
+      - allowsStartDate
+      - allowsEndDate
+      - allowsDueDate
+      - type
+      - sort
+  BoardsLabels:
+    type: object
+    properties:
+      _id:
+        description: |
+           Unique id of a label
+        type: string
+      name:
+        description: |
+           Name of a label
+        type: string
+      color:
+        description: |
+           color of a label.
+
+           Can be amongst `green`, `yellow`, `orange`, `red`, `purple`,
+           `blue`, `sky`, `lime`, `pink`, `black`,
+           `silver`, `peachpuff`, `crimson`, `plum`, `darkgreen`,
+           `slateblue`, `magenta`, `gold`, `navy`, `gray`,
+           `saddlebrown`, `paleturquoise`, `mistyrose`, `indigo`
+        type: string
+        enum:
+          - green
+          - yellow
+          - orange
+          - red
+          - purple
+          - blue
+          - sky
+          - lime
+          - pink
+          - black
+          - silver
+          - peachpuff
+          - crimson
+          - plum
+          - darkgreen
+          - slateblue
+          - magenta
+          - gold
+          - navy
+          - gray
+          - saddlebrown
+          - paleturquoise
+          - mistyrose
+          - indigo
+    required:
+      - _id
+      - color
+  BoardsMembers:
+    type: object
+    properties:
+      userId:
+        description: |
+           The uniq ID of the member
+        type: string
+      isAdmin:
+        description: |
+           Is the member an admin of the board?
+        type: boolean
+      isActive:
+        description: |
+           Is the member active?
+        type: boolean
+      isNoComments:
+        description: |
+           Is the member not allowed to make comments
+        type: boolean
+      isCommentOnly:
+        description: |
+           Is the member only allowed to comment on the board
+        type: boolean
+      isWorker:
+        description: |
+           Is the member only allowed to move card, assign himself to card and comment
+        type: boolean
+    required:
+      - userId
+      - isAdmin
+      - isActive
   CardComments:
     type: object
     description:  A comment on a card

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
 
-    appVersion = 489,
+    appVersion = 490,
     # Increment this for every release.
 
-    appMarketingVersion = (defaultText = "4.89.0~2021-01-28"),
+    appMarketingVersion = (defaultText = "4.90.0~2021-01-28"),
     # Human-readable presentation of the app version.
 
     minUpgradableAppVersion = 0,

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно