undefined
if no selection could be made.
+ */
+ public selectHeaderContentType (contentTypes: string[]): string | undefined {
+ if (contentTypes.length === 0) {
+ return undefined;
+ }
+
+ const type = contentTypes.find((x: string) => this.isJsonMime(x));
+ if (type === undefined) {
+ return contentTypes[0];
+ }
+ return type;
+ }
+
+ /**
+ * Select the correct accept content-type to use for a request.
+ * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
+ * If no content type is found return the first found type if the contentTypes is not empty
+ * @param accepts - the array of content types that are available for selection.
+ * @returns the selected content-type or undefined
if no selection could be made.
+ */
+ public selectHeaderAccept(accepts: string[]): string | undefined {
+ if (accepts.length === 0) {
+ return undefined;
+ }
+
+ const type = accepts.find((x: string) => this.isJsonMime(x));
+ if (type === undefined) {
+ return accepts[0];
+ }
+ return type;
+ }
+
+ /**
+ * Check if the given MIME is a JSON MIME.
+ * JSON MIME examples:
+ * application/json
+ * application/json; charset=UTF8
+ * APPLICATION/JSON
+ * application/vnd.company+json
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
+ * @return True if the given MIME is JSON, false otherwise.
+ */
+ public isJsonMime(mime: string): boolean {
+ const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
+ }
+
+ public lookupCredential(key: string): string | undefined {
+ const value = this.credentials[key];
+ return typeof value === 'function'
+ ? value()
+ : value;
+ }
+}
diff --git a/frontend/src/api/encoder.ts b/frontend/src/api/encoder.ts
new file mode 100644
index 0000000..138c4d5
--- /dev/null
+++ b/frontend/src/api/encoder.ts
@@ -0,0 +1,20 @@
+import { HttpParameterCodec } from '@angular/common/http';
+
+/**
+ * Custom HttpParameterCodec
+ * Workaround for https://github.com/angular/angular/issues/18261
+ */
+export class CustomHttpParameterCodec implements HttpParameterCodec {
+ encodeKey(k: string): string {
+ return encodeURIComponent(k);
+ }
+ encodeValue(v: string): string {
+ return encodeURIComponent(v);
+ }
+ decodeKey(k: string): string {
+ return decodeURIComponent(k);
+ }
+ decodeValue(v: string): string {
+ return decodeURIComponent(v);
+ }
+}
diff --git a/frontend/src/api/git_push.sh b/frontend/src/api/git_push.sh
new file mode 100644
index 0000000..f53a75d
--- /dev/null
+++ b/frontend/src/api/git_push.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
+#
+# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
+
+git_user_id=$1
+git_repo_id=$2
+release_note=$3
+git_host=$4
+
+if [ "$git_host" = "" ]; then
+ git_host="github.com"
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
+fi
+
+if [ "$git_user_id" = "" ]; then
+ git_user_id="GIT_USER_ID"
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
+fi
+
+if [ "$git_repo_id" = "" ]; then
+ git_repo_id="GIT_REPO_ID"
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
+fi
+
+if [ "$release_note" = "" ]; then
+ release_note="Minor update"
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
+fi
+
+# Initialize the local directory as a Git repository
+git init
+
+# Adds the files in the local repository and stages them for commit.
+git add .
+
+# Commits the tracked changes and prepares them to be pushed to a remote repository.
+git commit -m "$release_note"
+
+# Sets the new remote
+git_remote=$(git remote)
+if [ "$git_remote" = "" ]; then # git remote not defined
+
+ if [ "$GIT_TOKEN" = "" ]; then
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
+ else
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
+ fi
+
+fi
+
+git pull origin master
+
+# Pushes (Forces) the changes in the local repository up to the remote repository
+echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
+git push origin master 2>&1 | grep -v 'To https'
diff --git a/frontend/src/api/index.ts b/frontend/src/api/index.ts
new file mode 100644
index 0000000..c312b70
--- /dev/null
+++ b/frontend/src/api/index.ts
@@ -0,0 +1,5 @@
+export * from './api/api';
+export * from './model/models';
+export * from './variables';
+export * from './configuration';
+export * from './api.module';
\ No newline at end of file
diff --git a/frontend/src/api/model/accountDeleteRequest.ts b/frontend/src/api/model/accountDeleteRequest.ts
new file mode 100644
index 0000000..d03e2a1
--- /dev/null
+++ b/frontend/src/api/model/accountDeleteRequest.ts
@@ -0,0 +1,20 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface AccountDeleteRequest {
+ /**
+ * Passwort zur Sicherheitsüberprürfung
+ */
+ password: string;
+}
+
diff --git a/frontend/src/api/model/addUserInfo.ts b/frontend/src/api/model/addUserInfo.ts
new file mode 100644
index 0000000..a564945
--- /dev/null
+++ b/frontend/src/api/model/addUserInfo.ts
@@ -0,0 +1,35 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface AddUserInfo {
+ [key: string]: object | any;
+
+
+ /**
+ * Benutzername
+ */
+ username: string;
+ /**
+ * Mailadresse
+ */
+ email: string;
+ /**
+ * Passwort
+ */
+ password: string;
+ /**
+ * Adminstatus
+ */
+ admin?: boolean;
+}
+
diff --git a/frontend/src/api/model/eMailChangeRequest.ts b/frontend/src/api/model/eMailChangeRequest.ts
new file mode 100644
index 0000000..da2ac0d
--- /dev/null
+++ b/frontend/src/api/model/eMailChangeRequest.ts
@@ -0,0 +1,24 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface EMailChangeRequest {
+ /**
+ * Passwort des Nutzers zu Sicherheitsüberpürfung
+ */
+ password: string;
+ /**
+ * Zusetzende Emailadresse des Nutzers
+ */
+ email: string;
+}
+
diff --git a/frontend/src/api/model/inlineResponse200.ts b/frontend/src/api/model/inlineResponse200.ts
new file mode 100644
index 0000000..df9a63f
--- /dev/null
+++ b/frontend/src/api/model/inlineResponse200.ts
@@ -0,0 +1,27 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface InlineResponse200 {
+ /**
+ * Status
+ */
+ status: InlineResponse200.StatusEnum;
+}
+export namespace InlineResponse200 {
+ export type StatusEnum = 'success';
+ export const StatusEnum = {
+ Success: 'success' as StatusEnum
+ };
+}
+
+
diff --git a/frontend/src/api/model/inlineResponse401.ts b/frontend/src/api/model/inlineResponse401.ts
new file mode 100644
index 0000000..b90afe1
--- /dev/null
+++ b/frontend/src/api/model/inlineResponse401.ts
@@ -0,0 +1,28 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface InlineResponse401 {
+ /**
+ * Pfad auf den versucht wurde zuzugreifen
+ */
+ path: string;
+ /**
+ * Error Cause
+ */
+ error: string;
+ /**
+ * Statuscode
+ */
+ status: number;
+}
+
diff --git a/frontend/src/api/model/inlineResponse403.ts b/frontend/src/api/model/inlineResponse403.ts
new file mode 100644
index 0000000..c1baf6c
--- /dev/null
+++ b/frontend/src/api/model/inlineResponse403.ts
@@ -0,0 +1,27 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface InlineResponse403 {
+ /**
+ * Status
+ */
+ status: InlineResponse403.StatusEnum;
+}
+export namespace InlineResponse403 {
+ export type StatusEnum = 'failed';
+ export const StatusEnum = {
+ Failed: 'failed' as StatusEnum
+ };
+}
+
+
diff --git a/frontend/src/api/model/inlineResponse409.ts b/frontend/src/api/model/inlineResponse409.ts
new file mode 100644
index 0000000..068471c
--- /dev/null
+++ b/frontend/src/api/model/inlineResponse409.ts
@@ -0,0 +1,36 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface InlineResponse409 {
+ /**
+ * Status
+ */
+ status: InlineResponse409.StatusEnum;
+ /**
+ * Fehlergrund
+ */
+ errCode?: InlineResponse409.ErrCodeEnum;
+}
+export namespace InlineResponse409 {
+ export type StatusEnum = 'failed';
+ export const StatusEnum = {
+ Failed: 'failed' as StatusEnum
+ };
+ export type ErrCodeEnum = 'mail' | 'username';
+ export const ErrCodeEnum = {
+ Mail: 'mail' as ErrCodeEnum,
+ Username: 'username' as ErrCodeEnum
+ };
+}
+
+
diff --git a/frontend/src/api/model/loginRequest.ts b/frontend/src/api/model/loginRequest.ts
new file mode 100644
index 0000000..a9edf5d
--- /dev/null
+++ b/frontend/src/api/model/loginRequest.ts
@@ -0,0 +1,24 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface LoginRequest {
+ /**
+ * Benutzername des Users
+ */
+ username: string;
+ /**
+ * Password des Users
+ */
+ password: string;
+}
+
diff --git a/frontend/src/api/model/loginResponse.ts b/frontend/src/api/model/loginResponse.ts
new file mode 100644
index 0000000..71414bd
--- /dev/null
+++ b/frontend/src/api/model/loginResponse.ts
@@ -0,0 +1,27 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface LoginResponse {
+ [key: string]: object | any;
+
+
+ /**
+ * Status
+ */
+ status: string;
+ /**
+ * JWT Token
+ */
+ jwt?: string;
+}
+
diff --git a/frontend/src/api/model/models.ts b/frontend/src/api/model/models.ts
new file mode 100644
index 0000000..653f5dc
--- /dev/null
+++ b/frontend/src/api/model/models.ts
@@ -0,0 +1,16 @@
+export * from './accountDeleteRequest';
+export * from './eMailChangeRequest';
+export * from './inlineResponse200';
+export * from './inlineResponse401';
+export * from './inlineResponse403';
+export * from './inlineResponse409';
+export * from './loginRequest';
+export * from './loginResponse';
+export * from './passwordChangeRequest';
+export * from './propertiesInfo';
+export * from './propertyInfo';
+export * from './propertyUpdateRequest';
+export * from './signUpRequest';
+export * from './userAddInfo';
+export * from './userInfo';
+export * from './userUpdateInfo';
diff --git a/frontend/src/api/model/passwordChangeRequest.ts b/frontend/src/api/model/passwordChangeRequest.ts
new file mode 100644
index 0000000..3a2aa04
--- /dev/null
+++ b/frontend/src/api/model/passwordChangeRequest.ts
@@ -0,0 +1,24 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface PasswordChangeRequest {
+ /**
+ * Bisheriges Passwort des Nutzers
+ */
+ oldPassword: string;
+ /**
+ * Neues Passwort des Nutzers
+ */
+ newPassword: string;
+}
+
diff --git a/frontend/src/api/model/propertiesInfo.ts b/frontend/src/api/model/propertiesInfo.ts
new file mode 100644
index 0000000..6f66f20
--- /dev/null
+++ b/frontend/src/api/model/propertiesInfo.ts
@@ -0,0 +1,18 @@
+/**
+ * API Title
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import { PropertyInfo } from './propertyInfo';
+
+
+export interface PropertiesInfo {
+ settings: ArrayAre you sure you want to delete {{userInfo.username}}?
+ + diff --git a/frontend/src/app/admin-dashboard/usermanagement/delete-confirmation/delete-confirmation.component.spec.ts b/frontend/src/app/admin-dashboard/usermanagement/delete-confirmation/delete-confirmation.component.spec.ts new file mode 100644 index 0000000..275188a --- /dev/null +++ b/frontend/src/app/admin-dashboard/usermanagement/delete-confirmation/delete-confirmation.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DeleteConfirmationComponent } from './delete-confirmation.component'; + +describe('DeleteConfirmationComponent', () => { + let component: DeleteConfirmationComponent; + let fixture: ComponentFixtureUsername. | +{{user.username}} | +{{user.email}} | +Authorities | ++ Admin + User + | ++ | + + | ++ | + + | +
---|
Hier können Sie sich anmelden
+ ++ Ihre Sitzung ist leider abgelaufen. Bitte melden Sie sich erneut an. +
+ +Hier können Sie sich registrieren.
+ +If you continue, your account will be permanently deleted. This CANNOT be undone.
+Your Email-Address is used for Notifications and other functions.
+