Commit Graph

19 Commits

Author SHA1 Message Date
Jordan Knott
eff2044a6b feat: so many stuffs 2020-12-05 15:19:34 -06:00
Jordan Knott
262f9cbdda feat: redesign project invite popup 2020-10-20 18:59:21 -05:00
Jordan Knott
737d2b640f feat: redesign project sharing 2020-10-20 18:59:21 -05:00
Jordan Knott
36f25391b4 feat: add public projects 2020-10-20 18:59:21 -05:00
Jordan Knott
4277b7b2a8 feat: add personal projects
personal projects are projects that have no team.

they can only seen by the project members (one of which is whoever first
creates the project).
2020-09-19 20:23:16 -05:00
Jordan Knott
0d4fb6a0d0 fix: member permissions now works correctly 2020-09-19 17:26:02 -05:00
Jordan Knott
923d7f7372 feat: add user profile settings tab 2020-09-11 14:26:02 -05:00
Jordan Knott
4272fefa28 feat: implement task group actions
- allow sorting specifc task groups
- duplicate task group
- delete all tasks in task group
2020-09-10 23:58:10 -05:00
Jordan Knott
0caa803d27 feat: add notification UI
showPopup was also refactored to be better
2020-09-10 15:31:04 -05:00
Jordan Knott
66583bb4fb feat: add task sorting & filtering
adds filtering by task status (completion date, incomplete, completion)
adds filtering by task metadata (task name, labels, members, due date)
adds sorting by task name, labels, members, and due date
2020-08-28 23:32:17 -07:00
Jordan Knott
9dba566660 feat: add pre-commit hooks & refactor code to pass linting 2020-08-20 18:37:36 -05:00
Jordan Knott
e64f6f8569 feat: enforce user roles
enforces user admin role requirement for
- creating / deleting / setting role for organization users
- creating / deleting / setting role for project users
- updating project name
- deleting project

hides action elements based on role for
- admin console
- team settings if team is only visible through project membership
- add project tile if not team admin
- project name text editor if not team / project admin
- add redirect from team page if settings only visible through project
  membership
- add redirect from admin console if not org admin

role enforcement is handled on the api side through a custom GraphQL
directive `hasRole`. on the client side, role information is fetched in
the TopNavbar's `me` query and stored in the `UserContext`.

there is a custom hook, `useCurrentUser`, that provides a user object
with two functions, `isVisibile` & `isAdmin` which is used to check
roles in order to render/hide relevant UI elements.
2020-08-11 21:03:21 -05:00
Jordan Knott
e5bfe9b9ab feature: fix user admin related bugs 2020-07-17 21:55:38 -05:00
Jordan Knott
68fa7aef94 feature: add user project count to Admin component 2020-07-17 19:40:05 -05:00
Jordan Knott
d3f29134e0 fix: ignore system user in users query & add full name to user in install route 2020-07-16 21:57:02 -05:00
Jordan Knott
2cf6be082c feature: add first time install process 2020-07-16 19:40:23 -05:00
Jordan Knott
90515f6aa4 feature: add web & migrate commands 2020-07-15 18:22:25 -05:00
Jordan Knott
a20ff90106 chore: project cleanup and bugfixes 2020-07-12 02:06:11 -05:00
Jordan Knott
e5d5e6da01 arch: move web folder into api & move api to top level 2020-07-04 18:08:37 -05:00