Package com.skava.accounts.web
Class AccountController
java.lang.Object
com.skava.accounts.web.AccountController
The Class AccountController-
The controller class has service end points to process accounts entity
The controller class has service end points to process accounts entity
- Author:
- Infosys Equinox
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<Accounts>
createAccount
(String locale, String version, long collectionId, long storeId, String authToken, Accounts request) This method is used to create Account based on given Account Request.org.springframework.http.ResponseEntity<Accounts>
deactivateAccountById
(String locale, String version, long storeId, long collectionId, String authToken, long id) This method is used to deactivate single Account based on given Account Request.org.springframework.http.ResponseEntity<AccountsAPIResponse>
findAllAccount
(String locale, String version, long storeId, long collectionId, boolean skipTotalCount, String authToken, int page, int size, String filter, String sort) This method is used to find all Accounts based on given Account Request.org.springframework.http.ResponseEntity<Accounts>
getAccountById
(String locale, String version, long storeId, long collectionId, String authToken, long id) This method is used to load single Account based on given Account Request.org.springframework.http.ResponseEntity<Accounts>
updateAccountById
(String locale, String version, long collectionId, long storeId, String authToken, long id, Accounts request) This method is used to update single Account based on given Account Request.
-
Constructor Details
-
AccountController
public AccountController()
-
-
Method Details
-
createAccount
@PostMapping("/accounts") @PreAuthorize("hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId) or hasPrivilegeForServiceAndCollection(\'account/create/account\', \'account\', #collectionId)") @ResponseStatus(CREATED) @Audit(action="CreateAccount") public org.springframework.http.ResponseEntity<Accounts> createAccount(@RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") long collectionId, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STOREID") long storeId, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTHTOKEN") String authToken, @RequestBody(required=true) @AuditField(field="Account") Accounts request) This method is used to create Account based on given Account Request.- Parameters:
locale
- API Response and error messages will be responded in the locale mentioned in this parameter.collectionId
- This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.authToken
- This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:- Token validation against the secret key
- Expiry time should be in the future
- Necessary privileges are available for the user to perform the action on the subjected resource
storeId
- Refers to the unique id of the storeversion
- Refers to the versionrequest
- It refers to the account request object which consists of the details using which a new account will be created- Returns:
- It returns the
Accounts
.
-
findAllAccount
@GetMapping("/accounts") @PreAuthorize("hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId) or hasPrivilegeForServiceAndCollection(\'account/viewall/account\', \'account\', #collectionId)") @ResponseStatus(ACCEPTED) @Audit(action="FindAllAccount") public org.springframework.http.ResponseEntity<AccountsAPIResponse> findAllAccount(@RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STOREID") long storeId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") long collectionId, @RequestParam(value="skipTotalCount",required=false,defaultValue="false") @AuditField(field="SKIPTOTALCOUNT") boolean skipTotalCount, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTHTOKEN") String authToken, @RequestParam(value="page",required=false,defaultValue="1") @AuditField(field="PAGE") int page, @RequestParam(value="size",required=false,defaultValue="10") @AuditField(field="SIZE") int size, @RequestParam(value="filter",required=false,defaultValue="") @AuditField(field="FILTER") @DeIdentify String filter, @RequestParam(value="sort",required=false) @AuditField(field="SORT") String sort) This method is used to find all Accounts based on given Account Request.- Parameters:
locale
- API Response and error messages will be responded in the locale mentioned in this parameter.collectionId
- This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.authToken
- This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:- Token validation against the secret key
- Expiry time should be in the future
- Necessary privileges are available for the user to perform the action on the subjected resource
storeId
- Refers to the unique id of the storeversion
- Refers to the versionpage
- This parameter will be available for all the services that supports pagination. This parameter is used to mention the starting index of the items which going to responded by the API.size
- This parameter will be available for all the services that supports pagination. This parameter is used to mention the number of maximum items that needs to be responded for the request.filter
- This field holds the simple query criteria (can be multiple) based on the available fields to limit returned results, eg: fieldname:value.sort
- the sort param.- Returns:
- It returns the
Accounts
.
-
getAccountById
@GetMapping("/accounts/{accountId}") @PreAuthorize("hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #id) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER\', \'account\', #collectionId, #id) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/view/account\', \'account\', #collectionId, #id)") @ResponseStatus(ACCEPTED) @Audit(action="GetAccount") public org.springframework.http.ResponseEntity<Accounts> getAccountById(@RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STOREID") long storeId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") long collectionId, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTHTOKEN") String authToken, @PathVariable(value="accountId",required=true) @AuditField(field="ID") long id) This method is used to load single Account based on given Account Request.- Parameters:
locale
- API Response and error messages will be responded in the locale mentioned in this parameter.collectionId
- This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.authToken
- This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:- Token validation against the secret key
- Expiry time should be in the future
- Necessary privileges are available for the user to perform the action on the subjected resource
storeId
- Refers to the unique id of the storeversion
- Refers to the versionid
- It refers to the unique identifier of the account which is an autogenerated when a account is retrieved. A valid account should be present for the given id.- Returns:
- It returns the
Accounts
.
-
updateAccountById
@PatchMapping("/accounts/{accountId}") @PreAuthorize("hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #id) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/update/account\', \'account\', #collectionId, #id)") @ResponseStatus(ACCEPTED) @Audit(action="UpdateAccount") public org.springframework.http.ResponseEntity<Accounts> updateAccountById(@RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") long collectionId, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STOREID") long storeId, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTHTOKEN") String authToken, @PathVariable(value="accountId",required=true) @AuditField(field="ID") long id, @RequestBody(required=true) @AuditField(field="Account") Accounts request) This method is used to update single Account based on given Account Request.- Parameters:
locale
- API Response and error messages will be responded in the locale mentioned in this parameter.collectionId
- This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.authToken
- This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:- Token validation against the secret key
- Expiry time should be in the future
- Necessary privileges are available for the user to perform the action on the subjected resource
storeId
- Refers to the unique id of the storeversion
- Refers to the versionid
- It refers to the unique identifier of the account which is an auto generated when a account is created. A valid account should be present for the given id.request
- It refers to the account request object which consists of the details to be updated for a account which is already been created.- Returns:
- It returns the
Accounts
.
-
deactivateAccountById
@DeleteMapping("/accounts/{accountId}") @PreAuthorize("hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId, #Id) or hasPrivilegeForServiceAndCollection(\'account/delete/account\', \'account\', #collectionId)") @ResponseStatus(ACCEPTED) @Audit(action="DeleteAccount") public org.springframework.http.ResponseEntity<Accounts> deactivateAccountById(@RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STOREID") long storeId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") long collectionId, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTHTOKEN") String authToken, @PathVariable(value="accountId",required=true) @AuditField(field="ID") long id) This method is used to deactivate single Account based on given Account Request.- Parameters:
locale
- API Response and error messages will be responded in the locale mentioned in this parameter.collectionId
- This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.authToken
- This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:- Token validation against the secret key
- Expiry time should be in the future
- Necessary privileges are available for the user to perform the action on the subjected resource
storeId
- Refers to the unique id of the storeversion
- Refers to the versionid
- It refers to the unique identifier of the account which is to be deactivated and it is an autogenerated when a account is created. A valid account should be present for the given id.- Returns:
- It returns the
Accounts
.
-