izzy lyseggen
99f473873a
fix(subs): remove redundant stream sub defs
2020-08-20 10:00:26 +01:00
izzy lyseggen
c6db01420a
test(subs): merge branch 'dim/gql-subscriptions'
2020-08-20 09:50:15 +01:00
Dimitrie Stefanescu
e4f213d4f6
test(subscriptions): works with separate run test server, figuring out starting it from test file
...
doing `npm run dev:server:test` and running the test with that server over port 3000 works. seems
like ws upgrade requests are not honoured when the server is started from the test file (on 3001).
2020-08-20 10:27:48 +03:00
izzy lyseggen
c406abe5ec
feat(subs): subs for branch & commit mutations 🥳
...
also applied @hasRole and @hasScope directives to mutations in this schema
2020-08-19 15:46:40 +01:00
izzy lyseggen
6c3e8b138d
feat(subs): rename stream subs & apply directives
...
- `streamCreated` -> `userStreamCreated
- `streamDeleted` -> `userStreamDeleted`
this is to better show that this is user bound (takes owner id)
rather than stream bound
- @hasRole and @hasScope have been reapplied to each field
2020-08-19 15:45:21 +01:00
izzy lyseggen
222f932547
feat(auth-dirs): revert @hasScope and @hasRole
...
make these field definition only again so it works for now.
the obj directives problem is more messy than i thought 🙃
2020-08-19 15:41:42 +01:00
izzy lyseggen
eabfa99651
feat(auth-dirs): remove @isAuthorized directives
...
was decided that these were a bit too much.
auth will be reverted to `authorizeResolver` within the resolvers
2020-08-19 15:39:52 +01:00
Dimitrie Stefanescu
b3cf8e863a
refactor(test/subscriptions): split out the subs test file & added npm test script for it
2020-08-19 17:27:17 +03:00
Dimitrie Stefanescu
1f25b8c5fe
refactor(subscriptions): fiddles and riddles
2020-08-19 16:49:39 +03:00
izzy lyseggen
7c13ab02f2
feat(auth-dirs): do a check for context.auth
2020-08-18 16:00:49 +01:00
izzy lyseggen
78657bbe7d
feat(subs): finish up streams subscriptions
2020-08-18 10:31:45 +01:00
izzy lyseggen
9bb7b6fe05
feat(auth-dirs): allow hasScope and hasRole on obj
...
implement `visitObject()` so the directives can be applied to objects.
I have applied them to all mutations and tests all still pass.
NOTE: i feel like there must be a way to abstract and reuse directive
definitions as it's very repetitive, but I'm a bit too brain dead today
to think of an elegant solution
2020-08-17 17:12:52 +01:00
izzy lyseggen
3463b998e5
fix(auth-dir): fix silly typo
2020-08-14 16:38:28 +01:00
izzy lyseggen
ee532b2b96
refactor(streams): use directives for auth
...
comment out any auth logic within the streams resolvers and add auth
directives to the graphql schema instead
test:server all pass for me with this, so hoping everything is ok here!!
2020-08-14 15:32:06 +01:00
izzy lyseggen
405964b653
feat(auth-dir): break auth into three directives
...
@isAuthorized directive for Stream, Branch, and Commit
this is a light wrapper around `authorizeResolver` which finds the
`resourceId` depending on where the request is coming from.
it's still not super cleand and I will continue thinking about how to
improve this despite inconsistencies with the id location
2020-08-14 15:23:41 +01:00
izzy lyseggen
11c357a79f
fix(directives): find correct resolver
...
handle case when default field resolver is not the right one to use
2020-08-14 10:39:45 +01:00
izzy lyseggen
ec09927f94
feat(directives): add @hasRole directive
2020-08-12 16:03:13 +01:00
izzy lyseggen
e3f2d73444
feat(subs): add stream updated and deleted subs
2020-08-12 16:01:19 +01:00
izzy lyseggen
0f1dc6078e
fix(directives): typo in hasScope
2020-08-12 10:36:17 +01:00
izzy lyseggen
768ff42a50
refactor(directives): load these nicely
2020-08-12 09:59:07 +01:00
izzy lyseggen
9d34ac0e95
feat(subs): return stream input from streamCreated
2020-08-11 17:47:47 +01:00
izzy lyseggen
fa209157bc
feat(subs): add @hasScope dir to streamCreated
2020-08-11 14:39:48 +01:00
izzy lyseggen
199e576b9f
feat(directives): create HasScopeDirective
2020-08-11 14:36:53 +01:00
izzy lyseggen
fee7ffb257
feat(sub): filter stream created sub by owner id
2020-08-07 15:02:57 +01:00
Dimitrie Stefanescu
7b32d39cac
feat(subs): added redis pubsubber (shared resource), imported it into stream resolvers
2020-08-06 10:42:36 +01:00
Dimitrie Stefanescu
8f25a6f2fb
fix(subs): subscriptions now properly initialising
2020-08-06 10:16:45 +01:00
izzy lyseggen
d7b75f9bfb
feat(subscriptions): trying to figure out subs
...
I added a streamCreated sub to try it out,
but I can't get it to connect 😅
2020-08-05 17:17:18 +01:00
Matteo Cominetti
80b293c592
feat(gql): adds tests for stream search and user search
2020-07-29 18:56:58 +01:00
Matteo Cominetti
64279a867d
feat(gql): limits set to max=100 and default=25 for streams, users, branches & commits. Additional changes as per PR #14 .
2020-07-29 13:10:24 +01:00
Matteo Cominetti
e51345cb9e
feat(gql): adds streamSearch, adds pagination to userSearch
2020-07-28 16:20:45 +01:00
Matteo Cominetti
d2db31381b
refractor: fixes indentation
2020-07-28 14:43:01 +01:00
Matteo Cominetti
5f176421ca
feat(gql): returns error if limit > 100
2020-07-28 14:38:33 +01:00
Matteo Cominetti
304397e1ee
Merge commit '49f05eac5f6a8af2ae71d9ef650bab2e5c995b9d' into matteo/gql
...
# Conflicts:
# readme.md
2020-07-27 23:14:51 +01:00
Matteo Cominetti
c6e08b2c5d
feat(gql): adds UserSearchResults and improves user search
2020-07-27 23:13:20 +01:00
Dimitrie Stefanescu
46e6572ab9
chore(typo & linting): fixed minor typos in readme & linting errors
2020-07-26 20:06:20 +01:00
Matteo Cominetti
8df402e4cb
fix(gql): query users, improves validations
2020-07-25 21:21:59 +01:00
Matteo Cominetti
9733cc602d
feat(gql): search users wip
2020-07-25 21:04:29 +01:00
Matteo Cominetti
f4d236cd63
fix(gql): commitUpdate return type
2020-07-25 14:29:31 +01:00
Matteo Cominetti
72c4a430d1
Merge commit 'ea38bd1c771122eeef373802f221f2f35045598c' into matteo/dev
2020-07-23 16:53:35 +01:00
Dimitrie Stefanescu
f6b1a545e6
feat(gql): implemented stream commit resolver
2020-07-22 21:15:27 +01:00
Matteo Cominetti
eb4f7a9a46
fix(graphql): AuthorizationError is not a constructor
2020-07-22 21:07:09 +01:00
Dimitrie Stefanescu
b14dae6829
feat(gql): implemented resolvers & tests for stream commits & branch commits
2020-07-22 10:58:08 +01:00
Dimitrie Stefanescu
0fe6a0f4af
feat(gql): implemented branch query resolvers & tests
2020-07-22 09:38:13 +01:00
Dimitrie Stefanescu
a9a77872d2
feat(gql): stream users now returns a custom type - no longer polluting the original
...
& many other fixes & squashed bugs (stream counts, other users' streams, etc.)
2020-07-21 23:40:42 +01:00
Dimitrie Stefanescu
a1b1663309
fix(cursor): fixing date-only cursors casting (.toISOString()) in getUserStreams
2020-07-20 18:08:12 +01:00
Dimitrie Stefanescu
6fd72ad0fa
refactor(gql): services & resolvers around user streams, branches, etc
2020-07-20 17:27:39 +01:00
Dimitrie Stefanescu
2b33ab5aa2
feat(various): gql api (tests & resolvers), added eslint & editorconfig
2020-07-20 15:33:56 +01:00
Dimitrie Stefanescu
9715129284
feat(gql): (re-)implemented some commits & re-organized gql tests
2020-07-20 00:58:00 +01:00
Dimitrie Stefanescu
13b6ccb400
chore(naming): renamed apps to auth
2020-07-19 23:57:46 +01:00
Dimitrie Stefanescu
d2ddf03746
feat(api): implemented branch & commit services + tests
2020-07-19 21:56:43 +01:00