Package com.skava.accounts.web
Class CostCentreController
java.lang.Object
com.skava.accounts.web.CostCentreController
@RestController
@RequestMapping("/accounts/{accountId}/costcentre")
public class CostCentreController
extends Object
The Class CostCentreController-
The controller class has service end points to process cost centre entity.
The controller class has service end points to process cost centre entity.
- Author:
- Infosys Equinox
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<CostCentre>
createCostCentre
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, CostCentre request) Creates the cost centre.org.springframework.http.ResponseEntity<Object>
deleteBudgetById
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, long costCentreId, long budgetId) This method is used to deactivate single CostCentre based on given CostCentre Request.org.springframework.http.ResponseEntity<CostCentre>
deleteCostCentreById
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, long id) This method is used to deactivate single CostCentre based on given CostCentre Request.org.springframework.http.ResponseEntity<CostCentresAPIResponse>
findAllCostCentre
(String locale, String version, long storeId, int page, int size, String filter, long collectionId, String authToken, long accountId, String sort) This method is used to find all CostCentre based on given CostCentre Request.org.springframework.http.ResponseEntity<Budgets>
getBudgetById
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, long costCentreId, long budgetId) This method is used to get single Budget based on given Budget Request.org.springframework.http.ResponseEntity<CostCentre>
getCostCentreById
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, long id) This method is used to load single CostCentre based on given CostCentre Request.org.springframework.http.ResponseEntity<CostCentre>
updateCostCentreById
(String locale, String version, long storeId, long collectionId, String authToken, long accountId, long id, CostCentre request) This method is used to update single CostCentre based on given CostCentre Request.
-
Constructor Details
-
CostCentreController
public CostCentreController()
-
-
Method Details
-
createCostCentre
@PostMapping @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/create/costcentre\', \'account\', #collectionId, #accountId )") @ResponseStatus(ACCEPTED) @Audit(action="CreateCostCentre") public org.springframework.http.ResponseEntity<CostCentre> createCostCentre(@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="ACCOUNTID") long accountId, @RequestBody(required=true) @AuditField(field="CostCentre") CostCentre request) Creates the cost centre.- 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.request
- It refers to the cost centre request object which consists of the details using which a new cost centre will be created- Returns:
- It returns the
CostCentre
.
-
findAllCostCentre
@GetMapping @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId, #accountId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/viewall/costcentre\', \'account\', #collectionId, #accountId )") @ResponseStatus(ACCEPTED) @Audit(action="FindAllCostCentre") public org.springframework.http.ResponseEntity<CostCentresAPIResponse> findAllCostCentre(@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, @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") String filter, @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="ACCOUNTID") long accountId, @RequestParam(value="sort",required=false) @AuditField(field="SORT") String sort) This method is used to find all CostCentre based on given CostCentre 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.sort
- the sort.page
- the page.size
- the size.filter
- used to filter the result set.- Returns:
- It returns the List of
CostCentre
. - Throws:
com.skava.core.ECommerceException
- It will throw Ecommerce exception if it process get failed.
-
getCostCentreById
@GetMapping("/{costCenterId}") @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER\', \'account\', #collectionId, #accountId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasRoleForServiceAndCollection(\'ROLE_ACCOUNT_ADMIN\', \'account\', #collectionId) or hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_REP\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/view/costcentre\', \'account\', #collectionId, #accountId)") @ResponseStatus(ACCEPTED) @Audit(action="GetCostCentre") public org.springframework.http.ResponseEntity<CostCentre> getCostCentreById(@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="ACCOUNTID") long accountId, @PathVariable(value="costCenterId",required=true) @AuditField(field="ID") long id) This method is used to load single CostCentre based on given CostCentre 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.id
- It refers to the unique identifier of the cost centre which is to be retrieved. It is autogenerated when a cost centre is created. A valid cost centre should be present for the given id.- Returns:
- It returns the
CostCentre
.
-
updateCostCentreById
@PatchMapping("/{costCenterId}") @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/update/costcentre\', \'account\', #collectionId, #accountId ) ") @ResponseStatus(ACCEPTED) @Audit(action="UpdateCostCentre") public org.springframework.http.ResponseEntity<CostCentre> updateCostCentreById(@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="ACCOUNTID") long accountId, @PathVariable(value="costCenterId",required=true) @AuditField(field="ID") long id, @RequestBody(required=true) @AuditField(field="CostCentre") CostCentre request) This method is used to update single CostCentre based on given CostCentre 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.id
- It refers to the unique identifier of the cost centre which is to be updated. It is autogenerated when a cost centre is created. A valid cost centre should be present for the given id.request
- It refers to the cost centre request object which consists of the details to be updated for a cost centre which is already been created.- Returns:
- It returns the
CostCentre
.
-
deleteCostCentreById
@DeleteMapping("/{costCenterId}") @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/delete/costcentre\', \'account\', #collectionId, #accountId )") @ResponseStatus(ACCEPTED) @Audit(action="DeleteCostCentre") public org.springframework.http.ResponseEntity<CostCentre> deleteCostCentreById(@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="ACCOUNTID") long accountId, @PathVariable(value="costCenterId",required=true) @AuditField(field="ID") long id) This method is used to deactivate single CostCentre based on given CostCentre 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.id
- It refers to the unique identifier of the cost centre which is to be deleted. It is auto generated when a cost centre is created. A valid cost centre should be present for the given id.- Returns:
- CostCentre
-
deleteBudgetById
@DeleteMapping("/{costCentreId}/budgets/{budgetId}") @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/delete/costcentre\', \'account\', #collectionId, #accountId )") @ResponseStatus(ACCEPTED) @Audit(action="DeleteBudget") public org.springframework.http.ResponseEntity<Object> deleteBudgetById(@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="ACCOUNTID") long accountId, @PathVariable(value="costCentreId",required=true) @AuditField(field="COSTCENTREID") long costCentreId, @PathVariable(value="budgetId",required=true) @AuditField(field="BUDGETID") long budgetId) This method is used to deactivate single CostCentre based on given CostCentre 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.costCentreId
- It refers to the unique identifier of the cost centre whose documents are to be deleted. The cost centre should be associated with the given account id. A valid cost centre should exists for the given cost centre id.budgetId
- It refers to the unique identifier of the budget which is to be deleted. The budget should be associated with the given cost centre id. A valid budget should exists for the given budget id.- Returns:
- object
-
getBudgetById
@GetMapping("/{costCentreId}/budgets/{budgetId}") @PreAuthorize("hasRoleForServiceAndCollectionAndAccount(\'ROLE_ACCOUNT_BUYER_ADMIN\', \'account\', #collectionId, #accountId) or hasPrivilegeForServiceAndCollectionAndAccount(\'account/delete/costcentre\', \'account\', #collectionId, #accountId )") @ResponseStatus(ACCEPTED) @Audit(action="GetBudget") public org.springframework.http.ResponseEntity<Budgets> getBudgetById(@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="ACCOUNTID") long accountId, @PathVariable(value="costCentreId",required=true) @AuditField(field="COSTCENTREID") long costCentreId, @PathVariable(value="budgetId",required=true) @AuditField(field="BUDGETID") long budgetId) This method is used to get single Budget based on given Budget 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 versionaccountId
- It refers to the id of the account which is a unique identifier. An account should exists for the given account id, and also the account should be associated with the given collection id.costCentreId
- It refers to the unique identifier of the cost centre whose documents are to be retrieved. The cost centre should be associated with the given account id. A valid cost centre should exists for the given cost centre id.budgetId
- It refers to the unique identifier of the budget which is to be retrieved. The budget should be associated with the given cost centre id. A valid budget should exists for the given budget id.- Returns:
- The Object of type
Budgets
-