35 Commits

Author SHA1 Message Date
Robert Schäfer
61813c4eb8
refactor(backend): put config into context (#8603)
This is a side quest of #8558. The motivation is to be able to do dependency injection in the tests without overwriting global data. I saw the first merge conflict from #8551 and voila: It seems @Mogge could have used this already.

refactor: follow @Mogge's review

See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8603#pullrequestreview-2880714796

refactor: better test helper methods

wip: continue refactoring

wip: continue posts

continue

wip: continue groups

continue registration

registration

continue messages

continue observeposts

continue categories

continue posts in groups

continue invite codes

refactor: continue notificationsMiddleware

continue statistics spec

followed-users

online-status

mentions-in-groups

posts-in-groups

email spec

finish all tests

improve typescript

missed one test

remove one more reference of CONFIG

eliminate one more global import of CONFIG

fix language spec test

fix two more test suites

refactor: completely mock out 3rd part API request

refactor test

fixed user_management spec

fixed more locatoin specs

install types for jsonwebtoken

one more fetchmock

fixed one more suite

fix one more spec

yet another spec

fix spec

delete whitespaces

remove beforeAll that the same as the default

fix merge conflict

fix e2e test

refactor: use single callback function for `context` setup

refactor: display logs from backend during CI

Because why not?

fix seeds

fix login

refactor: one unnecessary naming

refactor: better editor support

refactor: fail early

Interestingly, I've had to destructure `context.user` in order to make
typescript happy. Weird.

refactor: undo changes to workflows - no effect

We're running in `--detached` mode on CI, so I guess we won't be able to
see the logs anyways.

refactor: remove fetch from context after review

See:

refactor: found an easier way for required props

Co-authored-by: Max <maxharz@gmail.com>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-07-03 11:58:03 +02:00
edce234745
move models into database folder (#8471)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-02 11:34:43 +00:00
507179738a
refactor(backend): types for neo4j & neode (#8409)
* type for neo4j and neode

* fix build

* remove flakyness

* wait for neode to install schema

* remove flakyness

* explain why we wait for a non-promise
2025-04-25 08:04:58 +00:00
b464a380ca
refactor(backend): lint @typescript-eslint/recommended-requiring-type-checking (#8407)
* lint @typescript-eslint/recommended

* lint @typescript-eslint/recommended-requiring-type-checking

fix type not detected locally due to wierd uuid typings

missing save

error not reported locally

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-21 10:32:44 +00:00
f782032563
refactor(backend): lint - import/order (#8350)
* lint - import/no-relative-parent-imports

fix build error

* fix md

* lint import/order

enabled rule import/order and fixed impot order in each file
2025-04-09 09:44:48 +02:00
a4f391930c
lint - import/no-relative-parent-imports (#8349)
enable import/no-relative-parent-imports
2025-04-08 23:18:07 +02:00
d6cb9b51c3
feat(backend): lint rules (#8339)
* eslint import

* eslint comments

* eslint security

* eslint import - rules

* eslint n

* eslint promise

* eslint no-catch-all

* eslint jest

* missing ignore

* disable import/unambiguous as conflicting
2025-04-07 10:53:44 +00:00
Moriz Wahl
ecf351988f fix(backend): expired jwt in unit test 2023-11-27 22:22:41 +01:00
ebddfa7df4
all files as .ts 2023-06-12 13:25:21 +02:00
Moriz Wahl
7b3d530023 close neo4j driver at the end of each test suite 2023-02-13 15:31:58 +01:00
Wolfgang Huß
46eb6b82ea Renew JWT in decode test 2021-11-23 06:34:50 +01:00
Wolfgang Huß
f60ddda230 Fix as quick fix for first backend tests 2021-07-22 13:34:49 +02:00
a8b0699ebb
make jwt expire time configurable like in the frontend 2021-04-01 02:32:30 +02:00
Moriz Wahl
5f0ed256d6 set expiresIn of JWT to 2 years 2021-03-04 16:36:22 +01:00
roschaefer
276ea79e8f Update prettier to v2 2020-03-24 21:11:11 +01:00
Robert Schäfer
512ef672bf
feat: Introduce graphql image type (#3043)
* refactor(graphql): Introduce image type

* Undo changes to .travis.yml

* chore: Upgrade travis to node LTS

- URL is available since v10

* chore: use lts

Co-authored-by: mattwr18 <mattwr18@gmail.com>
2020-03-16 15:32:19 +01:00
roschaefer
e41a639cf1 fix(jwt): Encode only 3 attributes in JWT
This will prevent unintentional encoding of users email addresses in the
JWT.

@steffi201028 this might be interesting for you as well.
2020-02-18 11:23:04 +01:00
roschaefer
fa0e64b7cb Merge remote-tracking branch 'origin/master' into refactor_factories_with_rosie
There was a single step definition that created a post and a comment. I
would say let's put that in two different steps.
2020-02-01 13:33:07 +01:00
roschaefer
fc367297e3 Get rid of different factory files
..and fix some cypress tests
2020-01-28 23:12:50 +01:00
roschaefer
2a79c53765 Refactor user factory 2020-01-28 22:43:26 +01:00
roschaefer
b063847849 refactor: Make db:setup init stage of migrate 2020-01-20 11:00:52 +01:00
mattwr18
79d23cc6de Merge branch 'master' of github.com:Human-Connection/Human-Connection into 2412-favor-transaction-function 2019-12-11 10:56:42 +01:00
mattwr18
a1acd48821 Use verbose variables 2019-12-06 14:56:14 +01:00
roschaefer
8f0ce19f09 Implement getDriver() and getNeode() the same way
I want to introduce `neode` and `neo4j-graphql-js` to my students and
saw this.
2019-12-05 21:00:24 +01:00
mattwr18
1827889582 Refactor notificationsMiddleware/locations
- start refactoring
- locations does not have any automated tests, which makes it more
difficult to refactor and have confidence that functionality will not be
broken
- notificationsMiddleware in progress
2019-12-05 20:42:45 +01:00
mattwr18
f2743c992f Use transaction function jwt/decode 2019-12-05 13:18:06 +01:00
roschaefer
132c12a7d3 Close neo4j driver sessions
We had this error in our neo4j pod recently:

```
2019-12-02 08:29:42.680+0000 ERROR Unable to schedule bolt session 'bolt-1018230' for execution since there are no available threads to serve it at the moment. You can retry at a later time or consider increasing max thread pool size for bolt connector(s).
2019-12-02 08:29:42.680+0000 ERROR Unable to schedule bolt session 'bolt-1018224' for execution since there are no available threads to serve it at the moment. You can retry at a later time or consider increasing max thread pool size for bolt connector(s).
2019-12-02 08:29:42.681+0000 ERROR Unable to schedule bolt session 'bolt-1018352' for execution since there are no available threads to serve it at the moment. You can retry at a later time or consider increasing max thread pool size for bolt connector(s).
2019-12-02 08:29:42.682+0000 ERROR Unable to schedule bolt session 'bolt-1018243' for execution since there are no available threads to serve it at the moment. You can retry at a later time or consider increasing max thread pool size for bolt connector(s).
```

Apparently the default is 400 threads. So we must have a leak somewhere.
2019-12-02 18:12:11 +01:00
roschaefer
78bf076498 test: add tests for #1809 2019-10-04 01:39:18 +02:00
Ivy
57c3d949cf fixes#1305 lastActiveAt 2019-10-03 13:08:06 -07:00
roschaefer
2b83745f6b You cannot login if your account is deleted 2019-09-03 21:28:29 +02:00
roschaefer
62c8d34079 Fix expiration dates of JWT and cookie
This won't fix the bug that can happen in `nuxtServerInit`. However,
according to the docs, we accepted JWT which was valid for 1000 days and
our cookie was valid for 3 days - completely weird.

See:
https://github.com/auth0/node-jsonwebtoken
https://github.com/nuxt-community/apollo-module
2019-08-22 22:29:50 +02:00
Robert Schäfer
314b257b45 Replace dependency ms completely
I have seen this PR here: https://github.com/Human-Connection/Human-Connection/pull/774 and I thought: Never saw that one before, where is it used and what is the purpose? I could find this line only and thought this is not a justification for having the package installed.
2019-06-07 15:49:18 +02:00
4fd2885b26
reference global config 2019-06-03 13:19:08 +02:00
cfd0975b24
backend linting 2019-05-23 19:23:03 +02:00
Robert Schäfer
7a72185c9e Merging backend to master 2019-03-20 21:00:59 +01:00