Skip to content

Commit ac38be7

Browse files
jackjainPiyush7034
andcommitted
[INJICERT-1140][INJICERT-1141][INJICERT-1142] Credential Configuration API contract changes (mosip#380)
* Renaming credentials/configurations to credential-configuration Signed-off-by: jackjain <[email protected]> * Rename fields in CredentialConfigurationDTO, context to contextURLs, credentialType to credentialTypes and order to credentialFieldsDisplayOrder Signed-off-by: jackjain <[email protected]> * Update postman collection as per the renaming in credential configuration endpoint and request DTO Signed-off-by: jackjain <[email protected]> * Adding .DS_Store file in gitignore Signed-off-by: jackjain <[email protected]> * Add structured object instead of generic Map for display field in credential configuration DTO Signed-off-by: jackjain <[email protected]> * [INJICERT-1141] Autoassign binding, signing and proof values for config apis (#1) * Add configurations for proof, binding methods and credential sign algos Signed-off-by: Piyush7034 <[email protected]> * Auto assign proor, binding methods and signing alg values for config api Signed-off-by: Piyush7034 <[email protected]> --------- Signed-off-by: Piyush7034 <[email protected]> Signed-off-by: jackjain <[email protected]> * Adding structured object for credentialSubject field in credential configuration DTO, renaming the field to credentialSubjectDefinition Signed-off-by: jackjain <[email protected]> * Renaming display field to metaDataDisplay, order to displayOrder in credential configuration Signed-off-by: jackjain <[email protected]> * Adding a structured object for claims field in credential configuration Signed-off-by: jackjain <[email protected]> * [INJICERT-1142] Fix mapping issues for entity and dto (#2) Signed-off-by: Piyush7034 <[email protected]> Signed-off-by: jackjain <[email protected]> * Updating postman collection as per renaming done in credential configuration DTO fields Signed-off-by: jackjain <[email protected]> * Fix review comments Signed-off-by: jackjain <[email protected]> --------- Signed-off-by: jackjain <[email protected]> Signed-off-by: Piyush7034 <[email protected]> Co-authored-by: Piyush7034 <[email protected]> Signed-off-by: Vishwa <[email protected]> Signed-off-by: Piyush7034 <[email protected]>
1 parent d985ea0 commit ac38be7

21 files changed

+368
-134
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ target/
2929
.mvn/
3030
.project/
3131
helm/*/Chart.lock
32-
helm/*/charts/
32+
helm/*/charts/
33+
.DS_Store
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.mosip.certify.core.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.util.List;
8+
9+
@Data
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class ClaimsDisplayFieldsConfigDTO {
13+
private List<Display> display;
14+
15+
@Data
16+
@AllArgsConstructor
17+
@NoArgsConstructor
18+
public static class Display {
19+
private String name;
20+
private String locale;
21+
}
22+
}
23+

certify-core/src/main/java/io/mosip/certify/core/dto/CredentialConfigurationDTO.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
import com.fasterxml.jackson.annotation.JsonProperty;
55
import io.mosip.certify.core.constants.ErrorConstants;
66
import jakarta.validation.Valid;
7-
import jakarta.validation.constraints.NotEmpty;
87
import jakarta.validation.constraints.NotNull;
98
import lombok.Data;
10-
import org.hibernate.annotations.Comment;
119

1210
import java.util.List;
1311
import java.util.Map;
@@ -20,9 +18,9 @@ public class CredentialConfigurationDTO {
2018

2119
private String credentialConfigKeyId;
2220

23-
private List<String> context;
21+
private List<String> contextURLs;
2422

25-
private List<String> credentialType;
23+
private List<String> credentialTypes;
2624

2725
@NotNull(message = ErrorConstants.INVALID_REQUEST)
2826
private String credentialFormat;
@@ -41,30 +39,27 @@ public class CredentialConfigurationDTO {
4139

4240
@Valid
4341
@NotNull(message = ErrorConstants.INVALID_REQUEST)
44-
private List<Map<String, Object>> display;
42+
private List<MetaDataDisplayDTO> metaDataDisplay;
4543

46-
private List<String> order;
44+
private List<String> displayOrder;
4745

4846
@NotNull(message = ErrorConstants.INVALID_REQUEST)
4947
private String scope;
5048

51-
@NotNull(message = ErrorConstants.INVALID_REQUEST)
5249
@JsonProperty("cryptographic_binding_methods_supported")
5350
private List<String> cryptographicBindingMethodsSupported;
5451

55-
@NotNull
5652
@JsonProperty("credential_signing_alg_values_supported")
5753
private List<String> credentialSigningAlgValuesSupported;
5854

59-
@NotNull(message = ErrorConstants.INVALID_REQUEST)
6055
@JsonProperty("proof_types_supported")
6156
private Map<String, Object> proofTypesSupported;
6257

63-
@JsonProperty("credentialSubject")
64-
private Map<String, Object> credentialSubject;
58+
@JsonProperty("credentialSubjectDefinition")
59+
private Map<String, CredentialSubjectParametersDTO> credentialSubjectDefinition;
6560

6661
@JsonProperty("claims")
67-
private Map<String, Object> claims;
62+
private Map<String, Map<String, ClaimsDisplayFieldsConfigDTO>> claims;
6863

6964
@JsonProperty("doctype")
7065
private String docType;

certify-core/src/main/java/io/mosip/certify/core/dto/CredentialConfigurationSupportedDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class CredentialConfigurationSupportedDTO {
3737

3838
private Map<String, Object> claims;
3939

40-
private List<Map<String, Object>> display;
40+
private List<MetaDataDisplayDTO> display;
4141

4242
private List<String> order;
4343

certify-core/src/main/java/io/mosip/certify/core/dto/CredentialDefinition.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@
66
package io.mosip.certify.core.dto;
77

88

9-
import java.util.List;
10-
import java.util.Map;
11-
129
import com.fasterxml.jackson.annotation.JsonProperty;
13-
1410
import io.mosip.certify.core.constants.ErrorConstants;
1511
import jakarta.validation.constraints.NotBlank;
1612
import jakarta.validation.constraints.NotEmpty;
1713
import lombok.Data;
1814

15+
import java.util.List;
16+
import java.util.Map;
17+
1918
@Data
2019
public class CredentialDefinition {
2120

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.mosip.certify.core.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.util.List;
8+
9+
@Data
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class CredentialSubjectParametersDTO {
13+
private List<Display> display;
14+
15+
@Data
16+
@AllArgsConstructor
17+
@NoArgsConstructor
18+
public static class Display {
19+
private String name;
20+
private String locale;
21+
22+
}
23+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package io.mosip.certify.core.dto;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import lombok.Data;
5+
6+
@Data
7+
public class MetaDataDisplayDTO {
8+
private Logo logo;
9+
private String name;
10+
private String locale;
11+
12+
@JsonProperty("text_color")
13+
private String textColor;
14+
15+
@JsonProperty("background_color")
16+
private String backgroundColor;
17+
18+
@Data
19+
public static class Logo {
20+
private String url;
21+
22+
@JsonProperty("alt_text")
23+
private String altText;
24+
}
25+
}

certify-service/src/main/java/io/mosip/certify/controller/CredentialConfigController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,35 @@
1414

1515
@Slf4j
1616
@RestController
17-
@RequestMapping("/credentials")
17+
@RequestMapping("/credential-configurations")
1818
public class CredentialConfigController {
1919

2020
@Autowired
2121
private CredentialConfigurationService credentialConfigurationService;
2222

23-
@PostMapping(value = "/configurations", produces = "application/json")
23+
@PostMapping(produces = "application/json")
2424
public ResponseEntity<CredentialConfigResponse> addCredentialConfiguration(@Valid @RequestBody CredentialConfigurationDTO credentialConfigurationRequest) throws JsonProcessingException {
2525

2626
CredentialConfigResponse credentialConfigResponse = credentialConfigurationService.addCredentialConfiguration(credentialConfigurationRequest);
2727
return new ResponseEntity<>(credentialConfigResponse, HttpStatus.CREATED);
2828
}
2929

30-
@GetMapping(value = "/configurations/{configurationId}", produces = "application/json")
30+
@GetMapping(value = "/{configurationId}", produces = "application/json")
3131
public ResponseEntity<CredentialConfigurationDTO> getCredentialConfigurationById(@PathVariable String configurationId) throws JsonProcessingException {
3232

3333
CredentialConfigurationDTO credentialConfigurationDTO = credentialConfigurationService.getCredentialConfigurationById(configurationId);
3434
return new ResponseEntity<>(credentialConfigurationDTO, HttpStatus.OK);
3535
}
3636

37-
@PutMapping(value = "/configurations/{configurationId}", produces = "application/json")
37+
@PutMapping(value = "/{configurationId}", produces = "application/json")
3838
public ResponseEntity<CredentialConfigResponse> updateCredentialConfiguration(@PathVariable String configurationId,
3939
@Valid @RequestBody CredentialConfigurationDTO credentialConfigurationRequest) throws JsonProcessingException {
4040

4141
CredentialConfigResponse credentialConfigResponse = credentialConfigurationService.updateCredentialConfiguration(configurationId, credentialConfigurationRequest);
4242
return new ResponseEntity<>(credentialConfigResponse, HttpStatus.OK);
4343
}
4444

45-
@DeleteMapping(value = "/configurations/{configurationId}", produces = "application/json")
45+
@DeleteMapping(value = "/{configurationId}", produces = "application/json")
4646
public ResponseEntity<String> deleteCredentialConfigurationById(@PathVariable String configurationId) {
4747

4848
String response = credentialConfigurationService.deleteCredentialConfigurationById(configurationId);

certify-service/src/main/java/io/mosip/certify/entity/CredentialConfig.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package io.mosip.certify.entity;
22

33

4-
import java.time.LocalDateTime;
5-
import java.util.List;
6-
import java.util.Map;
7-
84
import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
5+
import io.mosip.certify.entity.attributes.ClaimsDisplayFieldsConfigs;
6+
import io.mosip.certify.entity.attributes.CredentialSubjectParameters;
7+
import io.mosip.certify.entity.attributes.MetaDataDisplay;
98
import jakarta.persistence.*;
109
import jakarta.validation.constraints.NotNull;
1110
import lombok.Data;
12-
import org.hibernate.annotations.Comment;
13-
1411
import lombok.NoArgsConstructor;
12+
import org.hibernate.annotations.Comment;
1513
import org.hibernate.annotations.JdbcTypeCode;
1614
import org.hibernate.annotations.Type;
1715
import org.hibernate.type.SqlTypes;
1816

17+
import java.time.LocalDateTime;
18+
import java.util.List;
19+
import java.util.Map;
20+
1921
@Data
2022
@Entity
2123
@NoArgsConstructor
@@ -64,7 +66,7 @@ public class CredentialConfig {
6466
@Type(JsonBinaryType.class)
6567
@JdbcTypeCode(SqlTypes.JSON)
6668
@Column(name = "display", columnDefinition = "jsonb")
67-
private List<Map<String, Object>> display;
69+
private List<MetaDataDisplay> display;
6870

6971
@Column(name = "display_order", columnDefinition = "TEXT[]")
7072
private List<String> order;
@@ -92,12 +94,12 @@ public class CredentialConfig {
9294
@Type(JsonBinaryType.class)
9395
@JdbcTypeCode(SqlTypes.JSON)
9496
@Column(name = "credential_subject", columnDefinition = "jsonb")
95-
private Map<String, Object> credentialSubject;
97+
private Map<String, CredentialSubjectParameters> credentialSubject;
9698

9799
@Type(JsonBinaryType.class)
98100
@JdbcTypeCode(SqlTypes.JSON)
99101
@Column(name = "claims", columnDefinition = "jsonb")
100-
private Map<String, Object> claims;
102+
private Map<String, Map<String, ClaimsDisplayFieldsConfigs>> claims;
101103

102104
@Column(name = "sd_jwt_vct")
103105
private String sdJwtVct;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package io.mosip.certify.entity.attributes;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.io.Serializable;
8+
import java.util.List;
9+
10+
@Data
11+
@NoArgsConstructor
12+
@AllArgsConstructor
13+
public class ClaimsDisplayFieldsConfigs implements Serializable {
14+
private List<Display> display;
15+
16+
@Data
17+
@NoArgsConstructor
18+
@AllArgsConstructor
19+
public static class Display implements Serializable {
20+
private String name;
21+
private String locale;
22+
}
23+
}
24+

0 commit comments

Comments
 (0)