From 4879df024403c53400261e55ff51f1ab3dc5ffb8 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 15 May 2020 20:20:29 +0300 Subject: v4.02 --- CHANGELOG.md | 2 +- Stackerfile.yml | 2 +- package-lock.json | 2 +- package.json | 2 +- public/api/wekan.html | 661 +++++++++++++++++++++++++------------------------ public/api/wekan.yml | 9 +- sandstorm-pkgdef.capnp | 4 +- 7 files changed, 347 insertions(+), 335 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c90ff173..fd943e6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v4.02 2020-05-15 Wekan release This release adds the following server platforms: diff --git a/Stackerfile.yml b/Stackerfile.yml index 5ad6cdf5..880700ea 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v4.01.0" +appVersion: "v4.02.0" files: userUploads: - README.md diff --git a/package-lock.json b/package-lock.json index 93ab5e39..8b8a38a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.01.0", + "version": "v4.02.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 50ce8f24..8ba378ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.01.0", + "version": "v4.02.0", "description": "Open-Source kanban", "private": true, "scripts": { diff --git a/public/api/wekan.html b/public/api/wekan.html index cb4772e4..714b4f64 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -1458,12 +1458,12 @@ Darkula color scheme from the JetBrains family of IDEs opacity: 0.5; } - + - + @@ -1477,552 +1477,552 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
- +
- - + + Shell - - - + + + HTTP - - - + + + JavaScript - - - + + + Node.js - - - + + + Ruby - - - + + + Python - - - + + + Java - - - + + + Go - - + +
- - + + - +
- + - +
-

Wekan REST API v4.01

+

Wekan REST API v4.02

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

@@ -2160,7 +2160,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"application/x-www-form-urlencoded"}, "Accept": []string{"*/*"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -2435,7 +2435,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"application/x-www-form-urlencoded"}, "Accept": []string{"*/*"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -2718,7 +2718,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -2924,7 +2924,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -3219,7 +3219,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -3444,7 +3444,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -3505,8 +3505,8 @@ System.out.println(response.toString()); To perform this operation, you must be authenticated by means of one of the following methods: UserSecurity -

export

-

+

exportJson

+

Code samples

@@ -3606,7 +3606,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -3620,12 +3620,12 @@ System.out.println(response.toString());

GET /api/boards/{board}/export

-

This route is used to export the board.

+

This route is used to export the board to a json file format.

If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/export?authToken=:token'

See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ for detailed explanations

-

Parameters

+

Parameters

@@ -3648,7 +3648,7 @@ for detailed explanations

Detailed descriptions

board: the ID of the board we are exporting

-

Responses

+

Responses

@@ -3789,7 +3789,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -3994,7 +3994,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -4216,7 +4216,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -4421,7 +4421,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -4598,7 +4598,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -4792,7 +4792,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -4965,7 +4965,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -5139,7 +5139,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -5330,7 +5330,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -5538,7 +5538,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -5727,7 +5727,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -5958,7 +5958,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -6152,7 +6152,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -6325,7 +6325,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -6507,7 +6507,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -6740,7 +6740,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -7000,7 +7000,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -7166,7 +7166,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -7341,7 +7341,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -7635,7 +7635,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -7857,7 +7857,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -8069,7 +8069,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -8331,7 +8331,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -8533,7 +8533,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -8709,7 +8709,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -8904,7 +8904,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -9125,7 +9125,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -9347,7 +9347,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -9550,7 +9550,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -9763,7 +9763,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -10005,7 +10005,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -10267,7 +10267,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -10468,7 +10468,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -10805,7 +10805,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -10978,7 +10978,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -11165,7 +11165,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -11432,7 +11432,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Content-Type": []string{"multipart/form-data"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -11626,7 +11626,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -11827,7 +11827,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -12028,7 +12028,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -12258,7 +12258,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -12492,7 +12492,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -12729,7 +12729,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -12933,7 +12933,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -13154,7 +13154,7 @@ System.out.println(response.toString()); "Content-Type": []string{"multipart/form-data"}, "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -13376,7 +13376,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -13564,7 +13564,7 @@ System.out.println(response.toString()); headers := map[string][]string{ "Authorization": []string{"API_KEY"}, - + } data := bytes.NewBuffer([]byte{jsonReq}) @@ -14402,7 +14402,8 @@ UserSecurity "string" ], "end": "string", - "public": true + "public": true, + "allowNonBoardMembers": true } } @@ -14753,7 +14754,8 @@ UserSecurity "string" ], "end": "string", - "public": true + "public": true, + "allowNonBoardMembers": true } @@ -14804,6 +14806,13 @@ UserSecurity + + + + + + +
none none
allowNonBoardMembersbooleantruenonenone

CardsCustomfields

@@ -16128,43 +16137,43 @@ UserSecurity
- +
- - + + Shell - - - + + + HTTP - - - + + + JavaScript - - - + + + Node.js - - - + + + Ruby - - - + + + Python - - - + + + Java - - - + + + Go - - + +
- +
diff --git a/public/api/wekan.yml b/public/api/wekan.yml index 1e3c2498..d8460f36 100644 --- a/public/api/wekan.yml +++ b/public/api/wekan.yml @@ -1,7 +1,7 @@ swagger: '2.0' info: title: Wekan REST API - version: v4.01 + version: v4.02 description: | The REST API allows you to control and extend Wekan with ease. @@ -797,8 +797,8 @@ paths: 200 response /api/boards/{board}/export: get: - operationId: export - summary: This route is used to export the board. + operationId: exportJson + summary: This route is used to export the board to a json file format. description: | If user is already logged-in, pass loginToken as param "authToken": '/api/boards/:boardId/export?authToken=:token' @@ -2565,9 +2565,12 @@ definitions: type: string public: type: boolean + allowNonBoardMembers: + type: boolean required: - question - public + - allowNonBoardMembers CardsCustomfields: type: object ChecklistItems: diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 64ab1078..f8a0c191 100644 --- a/sandstorm-pkgdef.capnp +++ b/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 = 401, + appVersion = 402, # Increment this for every release. - appMarketingVersion = (defaultText = "4.01.0~2020-04-28"), + appMarketingVersion = (defaultText = "4.02.0~2020-05-15"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22