Commit graph

187 commits

Author SHA1 Message Date
Harshil Sharma
e0ec1c03e0
New Props: Created By, Created At, Updated By, Updated At (#583)
* Added create_at column for blocks

* Populating created by

* Added logic for storing created by

* Added GetBlock by ID to store interface

* Added creayed by and modified by properties

* Added created by and modified by properties

* Added lastmodifiedat property

* Fixed existing webapp test

* Added webapp unit tests

* Added webapp unit tests

* Added webapp unit tests

* Adding server test

* Added server tests

* Fixed a bug causing created by to be set empty

* Avodining timezone specific test behavior

* Made cypress viewport bigger to avoid out-of-viewoport issues in multiple tests

* Removed a leftover comment

* Added updated at/by in table view

* Added updated at in card view

* Fixing sort

* Fixed sorting of updated by

* Fixed existing tests

* Added table tests

* Added cardTree fix

* Fixed tests

* Removed unused import

* Update snapshots

* Added a tamper attempt test

* Removed some leftover debug code

* Removed sending creator from client

* Fixed lint error

* Fixed a build issue

* Avoided setting insert query params multiple times

* Multiple minor review fixes

* Fixed test
2021-07-08 20:06:43 +05:30
Doug Lauder
6e214ebc3d
Ensure all code paths close *sql.Rows (#679)
* ensure all code paths close *sql.Rows
2021-07-06 16:44:11 -04:00
Jesús Espino
0811052a9b Fixing workspace title generation 2021-07-01 11:29:12 +02:00
Agniva De Sarker
8e72b9c528
Add RPC API support to plugin (#619)
* Add RPC API support to plugin

We use the mattermost-plugin-api client to create the sql.DB object
and pass it to the store.

To keep a common point of entry for both the standalone server
and plugin, we refactor the store creation part out of server.New
and pass the DB as a dependency to the server constructor.

This allow us to create different stores in plugin and standalone,
so that the server code remains unaware of any differences.

https://focalboard-community.octo.mattermost.com/workspace/zyoahc9uapdn3xdptac6jb69ic?id=285b80a3-257d-41f6-8cf4-ed80ca9d92e5&v=495cdb4d-c13a-4992-8eb9-80cfee2819a4&c=c7386db7-65fd-469b-8bcf-8dc8f8e61e4f

* Support linux desktop app

* refactor

* fix typos

* Change authlayer to use existing DB conn too
2021-06-25 16:49:06 +02:00
Doug Lauder
66975bdfe9
First pass linter cleanup (#603)
* first pass linter cleanup

* address review comments
2021-06-21 11:21:42 +02:00
Jesús Espino
3ae3c5fce1
Adding the users for workspace in mattermost layer (#564) 2021-06-11 12:40:22 +02:00
Miguel de la Cruz
9b5e0483f5
Fix MySQL migration connection when the DSN doesn't contain any query parameters (#557) 2021-06-11 11:18:11 +02:00
Doug Lauder
46243c1ad1
Telemetry and metrics (#496)
- total blocks by block type
- total workspaces
- blocks activity (insert/delete)
- login success / fail
2021-06-04 10:38:49 -04:00
Harshil Sharma
90f6389745
Person Property Type (#406)
* Added getWorkspaceUsers API

* Integrated workspace user API in UI

* Integrated workspace user API in UI

* Added toto for implementation slot

* Implemenmted getWorkspaceUSers to get data from Focalboard DB

* Updated store mocks

* Made select styles a shared constant

* Removed unwanted diffs

* Removed unwanted diffs

* Updated snapshots for new property type

* Added user store test

* Added missing copyright notice

* Returning error if no users found to retain original behavior

* Minor fixes and added tests

* Minor fixes

* Used React context for workspace users

* Used useContext hook, and added additional user ID -> user context to avoid that computation by all componnets

* Mergerd both workspace user contextx

* Minor review fix
2021-06-04 18:53:15 +05:30
Doug Lauder
417de9f837
Logger for FocalBoard server (#466)
- structured, asynchronous logging
- supports discreet log levels, including custom levels
- supports output to console, files, and all common log aggregators.
- supports JSON, plain text and GELF formats
- lazy formatting and writing
2021-05-29 02:23:10 -04:00
Jesús Espino
f1b8d88d6b
Changing mattermost-auth method to work based on shared database access (#335)
* Improving mattermost auth implementation

* Making mattermost-auth based on shared database access

* Reverting unneeded changes in the config.json file

* Fixing tiny problems

* Removing the need of using the mattermost session token

* Fixing some bugs and allowing to not-bind the server to any port

* Small fix to correctly get the templates

* Adding the mattermost-plugin code inside focalboard repo

* Adding a not working code part of the cluster websocket communication

* Updating the mattermost version

* Adding the cluster messages for the websockets

* Updating to the new node version

* Making it compatible with S3

* Addressing some tiny problems

* Fixing server tests

* Adds support for MySQL migrations and initialization

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2021-05-24 19:06:11 +02:00
Chen-I Lim
4c3f14e027 Merge release-0.6.7 2021-05-24 09:59:30 -07:00
Hossein
e2dd9a978a
Add Export/import board (#403)
* Resolve GH-261

* fix eslint

* Address comments

* update mocks

* add test
2021-05-13 15:04:49 -06:00
Jesús Espino
842c2cc0ab Adding system store tests 2021-04-30 16:48:45 +02:00
Jesús Espino
8860f60948 Adding extra test to cover more functions in blocks store 2021-04-30 16:31:04 +02:00
Chen-I Lim
1801422543
Fixes for workspace support (#321) 2021-04-26 13:43:02 +02:00
Jesús Espino
2d261fde59
Adding mysql support to the database (#301)
* Adding mysql support

* Fixing other test cases

* Tests passing on mysql

* Fix the row number generation

* Adding blocks_history table

* merging the migrations in one single set of files

* Passing mysql tests

* Fixing default encoding on mysql

* Simplifying things

* Removing from the blocks table all deleted blocks

* Better indentation

* Moving db types to constants to make it less error prone

* reducing duplicated code

* Removing log line

* Now sql tests are running properly in mysql, sqlite and postgres
2021-04-22 22:53:01 +02:00
Jesús Espino
ec1de1c9c2
merging the migrations in one single set of files (#289) 2021-04-20 11:27:20 +02:00
Jesús Espino
d668bf6626 Fix a backward compatibility problem 2021-04-17 10:05:07 +02:00
Jesús Espino
83375684af Adding tablePrefix support 2021-04-17 09:09:34 +02:00
Chen-I Lim
3531c8307d Global template support 2021-03-30 14:04:00 -07:00
Chen-I Lim
68f2b5bedb Fix delimiter for postgres 2021-03-26 13:55:14 -07:00
Chen-I Lim
725971784b Workspace backend support 2021-03-26 11:01:54 -07:00
Bo-Yi Wu
2b4e03eed6 chore(format): update coding style 2021-03-21 16:28:26 +08:00
Chen-I Lim
af7f666eff Return JSON empty array when not found, and handle null arrays 2021-03-08 16:08:17 -08:00
Chen-I Lim
12d24a5aed Check user not found for updateUser 2021-02-01 10:49:57 -08:00
Jesús Espino
52c38ff7c2 Add sharing unit tests 2021-01-29 20:27:43 +01:00
Jesús Espino
68561f0f6b Add more block store tests 2021-01-29 19:32:33 +01:00
Jesús Espino
7ee3213641 Improving blocks tests 2021-01-29 19:21:55 +01:00
Jesús Espino
baad055cc9 Moving tests outside the sqlstore to allow future no-sql implementations 2021-01-29 17:50:20 +01:00
Jesús Espino
8eb1559898 Fixing update session store call 2021-01-27 19:24:19 +01:00
Chen-I Lim
3b4f712649 active user count 2021-01-27 10:01:24 -08:00
Chen-I Lim
d641039131 Registered user count 2021-01-27 09:22:33 -08:00
Chen-I Lim
3995cbd0e4 Product name 2021-01-26 14:13:46 -08:00
Chen-I Lim
6af0780c17 Merge branch 'main' into admin-local 2021-01-22 11:28:45 -08:00
Chen-I Lim
dfbc07c06d make generate 2021-01-21 10:25:35 -08:00
Chen-I Lim
1286349a22 Change password 2021-01-21 10:16:40 -08:00
Chen-I Lim
e15728d003 make generate 2021-01-20 13:52:54 -08:00
Chen-I Lim
91f51fe0b9 Local server on unix port, admin set password 2021-01-20 13:52:25 -08:00
Chen-I Lim
ed2ff2d6b0 make generate 2021-01-13 17:09:43 -08:00
Chen-I Lim
7915564d2c Require signup token to register 2021-01-13 16:56:01 -08:00
Chen-I Lim
36b5bec65f make generate 2021-01-13 13:01:34 -08:00
Chen-I Lim
61fb38d418 Allow GetSubTree without auth. WIP 2021-01-12 18:49:08 -08:00
Chen-I Lim
1048c009c3 Sharing integration tests 2021-01-12 16:44:50 -08:00
Chen-I Lim
2f71295275 Get/set sharing 2021-01-12 15:35:30 -08:00
Chen-I Lim
7052a022b3 Store modifiedBy for deleted blocks 2021-01-12 11:16:25 -08:00
Chen-I Lim
f2e8bc8285 Store blocks modified_by userID 2021-01-11 18:53:08 -08:00
Jesús Espino
20a223a091 Fixing tests 2021-01-11 15:33:34 +01:00
Jesús Espino
daae244cba Merge remote-tracking branch 'origin/main' into auth 2021-01-11 13:56:26 +01:00
Chen-I Lim
593e077fb9 Fix Go integration tests 2021-01-05 19:47:18 -08:00
Chen-I Lim
77de551fdd Clear visible and hidden columns (options) when changing groupBy 2021-01-04 14:26:18 -08:00
Chen-I Lim
b47ae9197f Change project tasks icon 2021-01-04 10:43:02 -08:00
Chen-I Lim
1c719d3a16 Update duplicate to handle card contentOrder 2020-12-18 14:28:54 -08:00
Chen-I Lim
0bd645df4e Filter orphaned nodes on export 2020-12-14 11:24:38 -08:00
Chen-I Lim
0b1370ab35 Cleanup meeting notes template 2020-12-11 12:40:48 -08:00
Chen-I Lim
b8851c89e0 Meeting notes template 2020-12-11 12:13:47 -08:00
Chen-I Lim
578cdc7caa Personal Goals template 2020-12-11 11:45:08 -08:00
Chen-I Lim
6d1782256c Menu text consistent sentence casing 2020-12-11 11:10:25 -08:00
Chen-I Lim
0900546b68 Load default templates on server initialization 2020-12-10 12:41:06 -08:00
Jesús Espino
e5941d6440 More work on auth 2020-12-07 20:40:16 +01:00
Jesús Espino
e08f9a9c96 Improving sessions handling 2020-12-07 17:04:35 +01:00
Jesús Espino
bbddba2d2b Addressing review concerns 2020-12-07 16:00:13 +01:00
Jesús Espino
c8ac701587 Merge remote-tracking branch 'origin/main' into auth 2020-12-04 16:04:28 +01:00
Chen-I Lim
850f60e1fb Add rootId to blocks. Requires archive export / re-import. 2020-12-03 14:09:48 -08:00
Jesús Espino
7382f9c55c Adding sessions code 2020-12-02 21:12:14 +01:00
Jesús Espino
dc5fb0cfc1 Merge branch 'main' into auth 2020-12-02 15:53:38 +01:00
Jesús Espino
cc065ef869 Adding another error handling to the migrations 2020-11-19 17:51:39 +01:00
Jesús Espino
ea81d04937 Adding migration files for users tables 2020-11-17 19:44:13 +01:00
Jesús Espino
11d336fef0 Merge remote-tracking branch 'origin/main' into auth 2020-11-17 15:44:04 +01:00
Jesús Espino
a1008fee1c Working on auth 2020-11-17 15:43:56 +01:00
Chen-I Lim
257a74954d Unit tests for store.getSubTree 2020-11-12 10:48:08 -08:00
Chen-I Lim
37fd30413b Duplicate board 2020-11-12 10:16:59 -08:00
Jesús Espino
35ebd44d24 More work on authentication 2020-11-06 16:46:35 +01:00
Jesús Espino
0568006a27 Auth WIP 2020-10-28 14:35:41 +01:00
Chen-I Lim
c1fe8c3c0d Fix db migration error check 2020-10-22 08:41:47 -07:00
Jesús Espino
72f4783e34 Some other code improvements from the golangci 2020-10-22 15:22:36 +02:00
Jesús Espino
607b8aa063 Some improvements based on golangci-lint checks, and adding more rules 2020-10-22 13:34:42 +02:00
Jesús Espino
fe39696e26 Adding mock store and pin the generators/tools to specific versions 2020-10-21 09:56:03 +02:00
Jesús Espino
6f82a8a095 Adding squirrel query builder 2020-10-20 20:00:46 +02:00
Chen-I Lim
2c594854a0 Change fields type in Postgres to JSON 2020-10-19 12:10:26 -07:00
Jesús Espino
94bfa840e8 Add initial telemetry code, system_settings table and the task scheduler 2020-10-19 14:55:31 +02:00
Jesús Espino
53b051816c Passing an initial golangci-lint pass 2020-10-18 02:07:35 +02:00
Jesús Espino
868be73d5b Making the migrations embeded, and add an initial store test 2020-10-18 01:09:12 +02:00
Jesús Espino
61cdfecef9 Adding missed files 2020-10-16 22:27:16 +02:00
Jesús Espino
3c15957e3d Adding golang migrate to handle database migrations 2020-10-16 22:26:47 +02:00
Jesús Espino
55e49bea51 Abstracting more the store concept 2020-10-16 19:20:43 +02:00
Jesús Espino
19ab85b329 Splitting the server in multiple packages 2020-10-16 19:12:53 +02:00