-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathEndEntityController.java
140 lines (129 loc) · 6.17 KB
/
EndEntityController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.czertainly.api.interfaces.connector;
import com.czertainly.api.exception.AlreadyExistException;
import com.czertainly.api.exception.NotFoundException;
import com.czertainly.api.model.common.ErrorMessageDto;
import com.czertainly.api.model.core.authority.AddEndEntityRequestDto;
import com.czertainly.api.model.core.authority.EditEndEntityRequestDto;
import com.czertainly.api.model.core.authority.EndEntityDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/v1/authorityProvider/authorities/{uuid}/endEntityProfiles/{endEntityProfileName}/endEntities")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "400",
description = "Bad Request",
content = @Content(schema = @Schema(implementation = ErrorMessageDto.class))
),
@ApiResponse(
responseCode = "404",
description = "Not Found",
content = @Content(schema = @Schema(implementation = ErrorMessageDto.class))
),
@ApiResponse(
responseCode = "500",
description = "Internal Server Error",
content = @Content
)
})
@Tag(name = "End Entity Management", description = "End Entity Management API")
public interface EndEntityController {
@Operation(
summary = "List End Entities"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entities retrieved"
)
})
@RequestMapping(method = RequestMethod.GET, produces = {"application/json"})
List<EndEntityDto> listEndEntities(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName) throws NotFoundException;
@Operation(
summary = "Get End Entity"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entity retrieved"
)
})
@RequestMapping(path = "/{endEntityName}", method = RequestMethod.GET, produces = {"application/json"})
EndEntityDto getEndEntity(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName,
@Parameter(description = "End Entity Name") @PathVariable String endEntityName) throws NotFoundException;
@Operation(
summary = "Create End Entity"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entity created"
)
})
@RequestMapping(method = RequestMethod.POST, consumes = {"application/json"}, produces = {"application/json"})
void createEndEntity(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName,
@RequestBody AddEndEntityRequestDto request) throws NotFoundException, AlreadyExistException;
@Operation(
summary = "Update End Entity"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entity updated"
)
})
@RequestMapping(path = "/{endEntityName}", method = RequestMethod.POST, consumes = {"application/json"}, produces = {"application/json"})
void updateEndEntity(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName,
@Parameter(description = "End Entity Name") @PathVariable String endEntityName,
@RequestBody EditEndEntityRequestDto request) throws NotFoundException;
@Operation(
summary = "Remove End Entity"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entity removed"
)
})
@RequestMapping(path = "/{endEntityName}", method = RequestMethod.DELETE, produces = {"application/json"})
void removeEndEntity(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName,
@Parameter(description = "End Entity Name") @PathVariable String endEntityName) throws NotFoundException;
@Operation(
summary = "Reset End Entity password"
)
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "End Entity password reset"
)
})
@RequestMapping(path = "/{endEntityName}/resetPassword", method = RequestMethod.PUT, produces = {"application/json"})
void resetPassword(
@Parameter(description = "Authority Instance UUID") @PathVariable String uuid,
@Parameter(description = "End Entity Profile Name") @PathVariable String endEntityProfileName,
@Parameter(description = "End Entity Name") @PathVariable String endEntityName) throws NotFoundException;
}