Compare commits
	
		
			14 Commits
		
	
	
		
			2b641faa29
			...
			v0.13.3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						3bac75e7ab
	
				 | 
					
					
						|||
| d05eddcae1 | |||
| 
						
						
							
						
						d5c689d693
	
				 | 
					
					
						|||
| 
						
						
							
						
						8fedd4ef3b
	
				 | 
					
					
						|||
| 
						
						
							
						
						e8b2e6f261
	
				 | 
					
					
						|||
| 39f3b0e01f | |||
| 
						
						
							
						
						edaf255e8f
	
				 | 
					
					
						|||
| 41c4ed4d0f | |||
| 
						
						
							
						
						f2bd88aadf
	
				 | 
					
					
						|||
| 
						
						
							
						
						67a3661448
	
				 | 
					
					
						|||
| 
						
						
							
						
						0c763a2dfd
	
				 | 
					
					
						|||
| 
						
						
							
						
						a7297ff933
	
				 | 
					
					
						|||
| 
						
						
							
						
						4cdba8bc77
	
				 | 
					
					
						|||
| 
						
						
							
						
						77c6303014
	
				 | 
					
					
						
							
								
								
									
										35
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -78,41 +78,6 @@ steps:
 | 
			
		||||
        - dev
 | 
			
		||||
      cache: true
 | 
			
		||||
      registry: registry.odit.services
 | 
			
		||||
  - name: run changelog export
 | 
			
		||||
    depends_on: ["clone"]
 | 
			
		||||
    image: registry.odit.services/hub/library/node:19.5.0-alpine3.16
 | 
			
		||||
    commands:
 | 
			
		||||
      - apk add git
 | 
			
		||||
      - npx auto-changelog --commit-limit false -p -u --hide-credit
 | 
			
		||||
  - name: push new changelog to repo
 | 
			
		||||
    depends_on: ["run changelog export"]
 | 
			
		||||
    image: appleboy/drone-git-push
 | 
			
		||||
    settings:
 | 
			
		||||
      branch: dev
 | 
			
		||||
      commit: true
 | 
			
		||||
      commit_message: 🧾New changelog file version [CI SKIP] [skip ci]
 | 
			
		||||
      author_email: bot@odit.services
 | 
			
		||||
      remote: git@git.odit.services:lfk/backend.git
 | 
			
		||||
      ssh_key:
 | 
			
		||||
        from_secret: git_ssh
 | 
			
		||||
  - name: run full license export
 | 
			
		||||
    depends_on: ["clone"]
 | 
			
		||||
    image: registry.odit.services/hub/library/node:19.5.0-alpine3.16
 | 
			
		||||
    commands:
 | 
			
		||||
      - yarn
 | 
			
		||||
      - yarn licenses:export
 | 
			
		||||
  - name: push new licenses file to repo
 | 
			
		||||
    depends_on: ["run full license export"]
 | 
			
		||||
    image: appleboy/drone-git-push
 | 
			
		||||
    settings:
 | 
			
		||||
      branch: dev
 | 
			
		||||
      commit: true
 | 
			
		||||
      commit_message: 📖New license file version [CI SKIP] [skip ci]
 | 
			
		||||
      author_email: bot@odit.services
 | 
			
		||||
      remote: git@git.odit.services:lfk/backend.git
 | 
			
		||||
      skip_verify: true
 | 
			
		||||
      ssh_key:
 | 
			
		||||
        from_secret: git_ssh
 | 
			
		||||
 | 
			
		||||
trigger:
 | 
			
		||||
  branch:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										34
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -2,14 +2,44 @@
 | 
			
		||||
 | 
			
		||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
 | 
			
		||||
 | 
			
		||||
#### [v0.12.0](https://git.odit.services/lfk/backend/compare/v0.12.0...v0.12.0)
 | 
			
		||||
#### [v0.13.3](https://git.odit.services/lfk/backend/compare/v0.13.2...v0.13.3)
 | 
			
		||||
 | 
			
		||||
- Merge pull request 'feature/201-no_citizen-deletion' (#202) from feature/201-no_citizen-deletion into dev [`d05eddc`](https://git.odit.services/lfk/backend/commit/d05eddcae198427ce9a334096563b3aadcff2b56)
 | 
			
		||||
- Updated tests [`d5c689d`](https://git.odit.services/lfk/backend/commit/d5c689d6937288df7dca14ce26fbbd4f46a8752a)
 | 
			
		||||
- Added delete check for citizen org [`8fedd4e`](https://git.odit.services/lfk/backend/commit/8fedd4ef3bdd48dc42abc1d53006eefc145175e3)
 | 
			
		||||
 | 
			
		||||
#### [v0.13.2](https://git.odit.services/lfk/backend/compare/v0.13.1...v0.13.2)
 | 
			
		||||
 | 
			
		||||
> 3 February 2023
 | 
			
		||||
 | 
			
		||||
- 🚀Bumped version to v0.13.2 [`e8b2e6f`](https://git.odit.services/lfk/backend/commit/e8b2e6f26140a18c06b017e4461742d7e7942f08)
 | 
			
		||||
- Merge pull request 'move selfservice magic link endpoint to 15min rate limit' (#200) from feature/runner-selfservice-login-link-rate-limit into dev [`39f3b0e`](https://git.odit.services/lfk/backend/commit/39f3b0e01f03bfbcfcb0ea08d697268ce068e63d)
 | 
			
		||||
- move to 15min limit [`edaf255`](https://git.odit.services/lfk/backend/commit/edaf255e8f609185dcd6c2c0cd2e8b007b785e0c)
 | 
			
		||||
- Merge pull request 'Releases 0.12.0 and 0.13.0' (#199) from dev into main [`41c4ed4`](https://git.odit.services/lfk/backend/commit/41c4ed4d0faaed382801bbe480f31dafa6f3912d)
 | 
			
		||||
 | 
			
		||||
#### [v0.13.1](https://git.odit.services/lfk/backend/compare/v0.13.0...v0.13.1)
 | 
			
		||||
 | 
			
		||||
> 2 February 2023
 | 
			
		||||
 | 
			
		||||
- 🚀Bumped version to v0.13.1 [`f2bd88a`](https://git.odit.services/lfk/backend/commit/f2bd88aadfcb6ffa0485ea6afac8c7664a37f5f4)
 | 
			
		||||
- Updated description [`67a3661`](https://git.odit.services/lfk/backend/commit/67a36614485b2ea83c2de41e0684708b95a05b32)
 | 
			
		||||
 | 
			
		||||
#### [v0.13.0](https://git.odit.services/lfk/backend/compare/v0.12.0...v0.13.0)
 | 
			
		||||
 | 
			
		||||
> 2 February 2023
 | 
			
		||||
 | 
			
		||||
- Merge pull request 'feature/197-duplicate_runner_mail' (#198) from feature/197-duplicate_runner_mail into dev [`4b676bc`](https://git.odit.services/lfk/backend/commit/4b676bc85336c2d494e9e74823d38deec5cc0400)
 | 
			
		||||
- Added faker for testing [`e184673`](https://git.odit.services/lfk/backend/commit/e1846739638905aab6ba7e059fd2cbf8ff467bf3)
 | 
			
		||||
- 📖New license file version [CI SKIP] [skip ci] [`2b641fa`](https://git.odit.services/lfk/backend/commit/2b641faa29c47d95f69983770dc4ab37e674604f)
 | 
			
		||||
- 🚀Bumped version to v0.13.0 [`0c763a2`](https://git.odit.services/lfk/backend/commit/0c763a2dfd39607b480d9aff7d3c883791f41700)
 | 
			
		||||
- Updated selfservice tests to prevent email duplication [`9bc80aa`](https://git.odit.services/lfk/backend/commit/9bc80aac8aab9b4dedc26c9bc3ce705d7fe9c0bf)
 | 
			
		||||
- Moved license and changelog export to releaseit hooks [`77c6303`](https://git.odit.services/lfk/backend/commit/77c6303014578edbbadeeaa790f7974bde2a9764)
 | 
			
		||||
- Updated readme [`4cdba8b`](https://git.odit.services/lfk/backend/commit/4cdba8bc77ce543f6fb636711b8728bce794eac7)
 | 
			
		||||
- 🧾New changelog file version [CI SKIP] [skip ci] [`ae14d6c`](https://git.odit.services/lfk/backend/commit/ae14d6c74f9205440b41ca5fdbd052ca449148fc)
 | 
			
		||||
- Added selfservice runner create check to prevent duplicate email [`68cd746`](https://git.odit.services/lfk/backend/commit/68cd746a9f3360b3630a9ba570213d2aa62497b4)
 | 
			
		||||
- Updated tests for new login in selfservice [`39aa759`](https://git.odit.services/lfk/backend/commit/39aa7598b7cd0ecb0f077f50ebdd31c6e205f06d)
 | 
			
		||||
- 🧾New changelog file version [CI SKIP] [skip ci] [`9fa8b93`](https://git.odit.services/lfk/backend/commit/9fa8b93c08ee52335b18e743f9d205b19e6095c6)
 | 
			
		||||
- Moved changelog generation to package script [`a7297ff`](https://git.odit.services/lfk/backend/commit/a7297ff933ae1372a9d508cdae1a54d2ebbcc647)
 | 
			
		||||
- Merge pull request 'feature/197-duplicate_runner_mail' (#198) from feature/197-duplicate_runner_mail into dev [`4b676bc`](https://git.odit.services/lfk/backend/commit/4b676bc85336c2d494e9e74823d38deec5cc0400)
 | 
			
		||||
- Updated logo url [`4433ddb`](https://git.odit.services/lfk/backend/commit/4433ddb1e15a35481728670e22049200644bf337)
 | 
			
		||||
- depends_on: ["clone"] [`9cc66ee`](https://git.odit.services/lfk/backend/commit/9cc66eebdfe8e7a2888bbc97197d1756ff44de30)
 | 
			
		||||
- Fixed typo [`19a290c`](https://git.odit.services/lfk/backend/commit/19a290c3a931ead0d9ae9ebb0985bfbaac54df59)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								README.md
									
									
									
									
									
								
							@@ -51,23 +51,23 @@ yarn docs
 | 
			
		||||
> You can provide them via .env file or docker env vars.
 | 
			
		||||
> You can use the `test:ci:generate_env` package script to generate a example env (uses bs data as test server and ignores the errors).
 | 
			
		||||
 | 
			
		||||
| Name | Type | Default | Description
 | 
			
		||||
| - | - | - | -
 | 
			
		||||
| APP_PORT | Number | 4010 | The port the backend server listens on. Is optional.
 | 
			
		||||
| DB_TYPE | String | N/A | The type of the db u want to use. It has to be supported by typeorm. Possible: `sqlite`, `mysql`, `postgresql`
 | 
			
		||||
| DB_HOST | String | N/A | The db's host's ip-address/fqdn or file path for sqlite
 | 
			
		||||
| DB_PORT | String | N/A | The db's port
 | 
			
		||||
| DB_USER | String | N/A | The user for accessing the db
 | 
			
		||||
| DB_PASSWORD | String | N/A | The user's password for accessing the db
 | 
			
		||||
| DB_NAME | String | N/A | The db's name
 | 
			
		||||
| NODE_ENV | String | dev | The apps env - influences debug info. Also when the env is set to "test", mailing errors get ignored.
 | 
			
		||||
| POSTALCODE_COUNTRYCODE | String/CountryCode | N/A | The countrycode used to validate address's postal codes
 | 
			
		||||
| PHONE_COUNTRYCODE | String/CountryCode | null (international) | The countrycode used to validate phone numers
 | 
			
		||||
| SEED_TEST_DATA | Boolean | False | If you want the app to seed some example data set this to true
 | 
			
		||||
| MAILER_URL | String(Url) | N/A | The mailer's base url (no trailing slash)
 | 
			
		||||
| MAILER_KEY | String | N/A | The mailer's api key.
 | 
			
		||||
| IMPRINT_URL | String(Url) | /imprint | The link to a imprint page for the system (Defaults to the frontend's imprint)
 | 
			
		||||
| PRIVACY_URL | String(Url) | /privacy | The link to a privacy page for the system (Defaults to the frontend's privacy page)
 | 
			
		||||
| Name                   | Type               | Default              | Description                                                                                                    |
 | 
			
		||||
| ---------------------- | ------------------ | -------------------- | -------------------------------------------------------------------------------------------------------------- |
 | 
			
		||||
| APP_PORT               | Number             | 4010                 | The port the backend server listens on. Is optional.                                                           |
 | 
			
		||||
| DB_TYPE                | String             | N/A                  | The type of the db u want to use. It has to be supported by typeorm. Possible: `sqlite`, `mysql`, `postgresql` |
 | 
			
		||||
| DB_HOST                | String             | N/A                  | The db's host's ip-address/fqdn or file path for sqlite                                                        |
 | 
			
		||||
| DB_PORT                | String             | N/A                  | The db's port                                                                                                  |
 | 
			
		||||
| DB_USER                | String             | N/A                  | The user for accessing the db                                                                                  |
 | 
			
		||||
| DB_PASSWORD            | String             | N/A                  | The user's password for accessing the db                                                                       |
 | 
			
		||||
| DB_NAME                | String             | N/A                  | The db's name                                                                                                  |
 | 
			
		||||
| NODE_ENV               | String             | dev                  | The apps env - influences debug info. Also when the env is set to "test", mailing errors get ignored.          |
 | 
			
		||||
| POSTALCODE_COUNTRYCODE | String/CountryCode | N/A                  | The countrycode used to validate address's postal codes                                                        |
 | 
			
		||||
| PHONE_COUNTRYCODE      | String/CountryCode | null (international) | The countrycode used to validate phone numers                                                                  |
 | 
			
		||||
| SEED_TEST_DATA         | Boolean            | False                | If you want the app to seed some example data set this to true                                                 |
 | 
			
		||||
| MAILER_URL             | String(Url)        | N/A                  | The mailer's base url (no trailing slash)                                                                      |
 | 
			
		||||
| MAILER_KEY             | String             | N/A                  | The mailer's api key.                                                                                          |
 | 
			
		||||
| IMPRINT_URL            | String(Url)        | /imprint             | The link to a imprint page for the system (Defaults to the frontend's imprint)                                 |
 | 
			
		||||
| PRIVACY_URL            | String(Url)        | /privacy             | The link to a privacy page for the system (Defaults to the frontend's privacy page)                            |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Recommended Editor
 | 
			
		||||
@@ -85,8 +85,8 @@ yarn docs
 | 
			
		||||
   * A new release tag automaticly triggers the release ci pipeline
 | 
			
		||||
* main: Protected "release" branch
 | 
			
		||||
   * The latest tag of the docker image get's build from this
 | 
			
		||||
   * New releases get created as tags from this   
 | 
			
		||||
* dev: Current dev branch for merging the different feature branches and bugfixes
 | 
			
		||||
   * New releases get created as tags from this   
 | 
			
		||||
   * The dev tag of the docker image get's build from this
 | 
			
		||||
   * Only push minor changes to this branch!
 | 
			
		||||
   * To merge a feature branch into this please create a pull request
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								licenses.md
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								licenses.md
									
									
									
									
									
								
							@@ -444,6 +444,25 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
**License**: MIT
 | 
			
		||||
**Description**: A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 100% MIT licensed.
 | 
			
		||||
## License Text
 | 
			
		||||
Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors
 | 
			
		||||
 | 
			
		||||
 Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
 of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
 in the Software without restriction, including without limitation the rights
 | 
			
		||||
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
 copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
 furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
 The above copyright notice and this permission notice shall be included in
 | 
			
		||||
 all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
 THE SOFTWARE.
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
# pg
 | 
			
		||||
@@ -995,6 +1014,35 @@ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
    SOFTWARE
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
# auto-changelog
 | 
			
		||||
**Author**: Pete Cook <pete@cookpete.com> (https://github.com/cookpete)
 | 
			
		||||
**Repo**: [object Object]
 | 
			
		||||
**License**: MIT
 | 
			
		||||
**Description**: Command line tool for generating a changelog from git tags and commit history
 | 
			
		||||
## License Text
 | 
			
		||||
The MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2017 Pete Cook https://cookpete.com
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in
 | 
			
		||||
all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
# cp-cli
 | 
			
		||||
**Author**: undefined
 | 
			
		||||
**Repo**: [object Object]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "@odit/lfk-backend",
 | 
			
		||||
  "version": "0.12.0",
 | 
			
		||||
  "version": "0.13.3",
 | 
			
		||||
  "main": "src/app.ts",
 | 
			
		||||
  "repository": "https://git.odit.services/lfk/backend",
 | 
			
		||||
  "author": {
 | 
			
		||||
@@ -60,6 +60,7 @@
 | 
			
		||||
    "@types/jsonwebtoken": "8.5.0",
 | 
			
		||||
    "@types/node": "14.14.22",
 | 
			
		||||
    "@types/uuid": "8.3.0",
 | 
			
		||||
    "auto-changelog": "^2.4.0",
 | 
			
		||||
    "cp-cli": "2.0.0",
 | 
			
		||||
    "jest": "26.6.3",
 | 
			
		||||
    "nodemon": "2.0.7",
 | 
			
		||||
@@ -83,6 +84,7 @@
 | 
			
		||||
    "seed": "ts-node ./node_modules/typeorm/cli.js schema:sync && ts-node ./node_modules/typeorm-seeding/dist/cli.js seed",
 | 
			
		||||
    "openapi:export": "ts-node scripts/openapi_export.ts",
 | 
			
		||||
    "licenses:export": "license-exporter --markdown",
 | 
			
		||||
    "changelog:export": "auto-changelog --commit-limit false -p -u --hide-credit",
 | 
			
		||||
    "release": "release-it --only-version"
 | 
			
		||||
  },
 | 
			
		||||
  "release-it": {
 | 
			
		||||
@@ -98,6 +100,9 @@
 | 
			
		||||
    },
 | 
			
		||||
    "npm": {
 | 
			
		||||
      "publish": false
 | 
			
		||||
    },
 | 
			
		||||
    "hooks": {
 | 
			
		||||
      "after:bump": "npm run changelog:export && npm run licenses:export && git add CHANGELOG.md && git add licenses.md"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "nodemonConfig": {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
 | 
			
		||||
import { Authorized, BadRequestError, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
 | 
			
		||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
 | 
			
		||||
import { getConnectionManager, Repository } from 'typeorm';
 | 
			
		||||
import { RunnerOrganizationHasRunnersError, RunnerOrganizationHasTeamsError, RunnerOrganizationIdsNotMatchingError, RunnerOrganizationNotFoundError } from '../errors/RunnerOrganizationErrors';
 | 
			
		||||
@@ -114,6 +114,10 @@ export class RunnerOrganizationController {
 | 
			
		||||
	@OnUndefined(204)
 | 
			
		||||
	@OpenAPI({ description: 'Delete the organsisation whose id you provided. <br> If the organization still has runners and/or teams associated this will fail. <br> To delete the organization with all associated runners and teams set the force QueryParam to true (cascading deletion might take a while). <br> This won\'t delete the associated contact. <br> If no organization with this id exists it will just return 204(no content).' })
 | 
			
		||||
	async remove(@Param("id") id: number, @QueryParam("force") force: boolean) {
 | 
			
		||||
		if (id == 1) {
 | 
			
		||||
			throw new BadRequestError("You can't delete the citizen runner org.");
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		let organization = await this.runnerOrganizationRepository.findOne({ id: id });
 | 
			
		||||
		if (!organization) { return null; }
 | 
			
		||||
		let runnerOrganization = await this.runnerOrganizationRepository.findOne(organization, { relations: ['contact', 'runners', 'teams'] });
 | 
			
		||||
 
 | 
			
		||||
@@ -119,7 +119,7 @@ export class RunnerSelfServiceController {
 | 
			
		||||
	@Post('/runners/login')
 | 
			
		||||
	@ResponseSchema(RunnerNotFoundError, { statusCode: 404 })
 | 
			
		||||
	@OnUndefined(ResponseEmpty)
 | 
			
		||||
	@OpenAPI({ description: 'Use this endpoint to reuqest a new selfservice token/link to be sent to your mail address (rate limited to one mail every 24hrs).' })
 | 
			
		||||
	@OpenAPI({ description: 'Use this endpoint to reuqest a new selfservice magic-login-link to be sent to your mail address (rate limited to one mail every 15mins).' })
 | 
			
		||||
	async requestNewToken(@QueryParam('mail') mail: string, @QueryParam("locale") locale: string = "en") {
 | 
			
		||||
		if (!mail) {
 | 
			
		||||
			throw new RunnerNotFoundError();
 | 
			
		||||
@@ -127,7 +127,7 @@ export class RunnerSelfServiceController {
 | 
			
		||||
		const runner = await this.runnerRepository.findOne({ email: mail });
 | 
			
		||||
		if (!runner) { throw new RunnerNotFoundError(); }
 | 
			
		||||
 | 
			
		||||
		if (runner.resetRequestedTimestamp > (Math.floor(Date.now() / 1000) - 60 * 60 * 24)) { throw new RunnerSelfserviceTimeoutError(); }
 | 
			
		||||
		if (runner.resetRequestedTimestamp > (Math.floor(Date.now() / 1000) - 60 * 15)) { throw new RunnerSelfserviceTimeoutError(); }
 | 
			
		||||
		const token = JwtCreator.createSelfService(runner);
 | 
			
		||||
 | 
			
		||||
		try {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,12 @@ describe('deletion (non-existant)', () => {
 | 
			
		||||
        expect(res2.status).toEqual(204);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
describe('deletion of citizen sould fail', () => {
 | 
			
		||||
    it('delete', async () => {
 | 
			
		||||
        const res3 = await axios.delete(base + '/api/organizations/1', axios_config);
 | 
			
		||||
        expect(res3.status).toEqual(400);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
// ---------------
 | 
			
		||||
describe('adding + deletion (successfull)', () => {
 | 
			
		||||
    let added_org_id
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								test.sqlite-journal
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								test.sqlite-journal
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user