Skip to content

Commit

Permalink
Added UC, openapi and path #3583
Browse files Browse the repository at this point in the history
  • Loading branch information
lorriborri committed Jan 22, 2025
1 parent 13b87b7 commit 45eb3f8
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ private AdministrationAPIConstants() {
*/
public static final String API_USER_DETAIL_INFO = API_MANAGEMENT + "user";

/**
* User updates his email address
*/
public static final String API_USER_UPDATE_EMAIL = API_USER_DETAIL_INFO + "/email/{newEmailAddress}";

/* +-----------------------------------------------------------------------+ */
/* +............................ Users (Admin) ............................+ */
/* +-----------------------------------------------------------------------+ */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.mercedesbenz.sechub.sharedkernel.Step;
import com.mercedesbenz.sechub.sharedkernel.security.RoleConstants;
import com.mercedesbenz.sechub.sharedkernel.usecases.admin.user.UseCaseUserFetchesUserDetailInformation;
import com.mercedesbenz.sechub.sharedkernel.usecases.admin.user.UseCaseUserUpdatesEmailAddress;

import jakarta.annotation.security.RolesAllowed;

Expand All @@ -27,4 +28,11 @@ public UserDetailInformation fetchUserDetailInformation() {
/* @formatter:on */
return userDetailInformationService.fetchDetails();
}

@UseCaseUserUpdatesEmailAddress(@Step(number = 1, name = "Rest call", description = "User updates his email address", needsRestDoc = true))
@GetMapping(AdministrationAPIConstants.API_USER_UPDATE_EMAIL)
public void updateUserEmailAddress() {
// todo: implement

}
}
31 changes: 27 additions & 4 deletions sechub-openapi-java/src/main/resources/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ tags:
- name: User Administration
description: Operations relevant to user administration
- name: Project Administration
description: Operations relevant to project administration
description: Operations relevant to project administration by administrators
- name: User Self Service
description: Operations relevant to the authenticated user
- name: SecHub Execution
description: Operations relevant to execution of SecHub
- name: Sign Up
description: Operations relevant to user registration
- name: Job Administration
description: Operations relevant to job administration
description: Operations relevant to job administration by administrators
- name: Testing
description: Operations relevant to testing
- name: Configuration
Expand All @@ -35,7 +35,7 @@ tags:
- name: Other
description: All other use cases
- name: Job Management
description: Operations relevant to manage jobs
description: Operations relevant to manage jobs by an user

components:
securitySchemes:
Expand Down Expand Up @@ -2718,6 +2718,28 @@ paths:
tags:
- User Self Service

/api/management/user//email/{newEmailAddress}:
put:
summary: User updates his email address
description: The authenticated user updates his email address
operationId: userUpdatesEmailAddress
parameters:
- name: newEmailAddress
description: The new email address
in: path
required: true
schema:
type: string
responses:
"200":
description: "Ok"
"404":
description: "Not found"
"406":
description: "Not acceptable"
tags:
- User Self Service

######################
## SecHub Execution ##
######################
Expand Down Expand Up @@ -4213,4 +4235,5 @@ paths:
summary: User cancels a job
tags:
- Job Management
x-accepts: application/json
x-accepts: application/json

Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,9 @@ public enum UseCaseIdentifier {

UC_USER_CANCELS_JOB(94),

UC_USER_FETCHES_USER_DETAIL_INFORMATION(95)
UC_USER_FETCHES_USER_DETAIL_INFORMATION(95),

UC_USER_UPDATES_EMAIL_ADDRESS(96)

;
/* +-----------------------------------------------------------------------+ */
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// SPDX-License-Identifier: MIT
package com.mercedesbenz.sechub.sharedkernel.usecases.admin.user;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.mercedesbenz.sechub.sharedkernel.Step;
import com.mercedesbenz.sechub.sharedkernel.usecases.UseCaseDefinition;
import com.mercedesbenz.sechub.sharedkernel.usecases.UseCaseGroup;
import com.mercedesbenz.sechub.sharedkernel.usecases.UseCaseIdentifier;

/* @formatter:off */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@UseCaseDefinition(
id=UseCaseIdentifier.UC_USER_UPDATES_EMAIL_ADDRESS,
group=UseCaseGroup.USER_SELF_SERVICE,
apiName="userUpdatesEmailAddress",
title="User updates his own email address",
description="The authenticated user updates his own email address")
public @interface UseCaseUserUpdatesEmailAddress {
Step value();
}
/* @formatter:on */

0 comments on commit 45eb3f8

Please sign in to comment.