Package com.patreonshout.rest
Class WebAccountSvc
java.lang.Object
com.patreonshout.rest.BaseSvc
com.patreonshout.rest.WebAccountSvc
- All Implemented Interfaces:
WebAccountImpl
@RestController public class WebAccountSvc extends BaseSvc implements WebAccountImpl
Web Account RESTful Endpoint Interface
Responsibilities: 1) Add items to our webaccounts table in our database 2) Direct communication between the frontend portion of our application with the backend
-
Field Summary
Fields Modifier and Type Field Description (package private) WebAccountFunctions
webAccountFunctions
An autowired Spring component that endpoints utilize to send or receive data from the database -
Constructor Summary
Constructors Constructor Description WebAccountSvc()
-
Method Summary
Modifier and Type Method Description org.springframework.http.ResponseEntity<?>
GetPatreonTokens(java.lang.String loginToken)
Endpoint that allows retrieval of Patreon access and refresh tokens for aWebAccount
containing the given login tokenorg.springframework.http.ResponseEntity<?>
GetSocialIntegration(java.lang.String loginToken)
Endpoint that returns the social integration tokens and webhook URLs for social platforms for a given login tokenorg.springframework.http.ResponseEntity<?>
Login(LoginRequest loginRequest)
Endpoint that will create a newWebAccountFunctions
into the databaseorg.springframework.http.ResponseEntity<?>
Logout(java.lang.String loginToken)
Endpoint that will delete a login token from aWebAccountFunctions
in the databaseorg.springframework.http.HttpStatus
PutSocialIntegration(PutSocialIntegrationRequest putSocialIntegrationRequest)
Endpoint that allows registering, updating or deleting integrations for social platforms.org.springframework.http.HttpStatus
Register(RegisterRequest registerRequest)
Endpoint that will create a newWebAccountFunctions
into the database.org.springframework.http.ResponseEntity<?>
ResetPassword(ResetPasswordRequest resetPasswordRequest)
Endpoint that allowsWebAccount
password resetting.org.springframework.http.ResponseEntity<?>
Webhook(java.lang.String loginToken)
Test for a webhook endpointMethods inherited from class com.patreonshout.rest.BaseSvc
catchCustomException, catchSQLIntegrityConstraintViolationException
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
webAccountFunctions
An autowired Spring component that endpoints utilize to send or receive data from the database
-
-
Constructor Details
-
WebAccountSvc
public WebAccountSvc()
-
-
Method Details
-
Register
public org.springframework.http.HttpStatus Register(@RequestBody RegisterRequest registerRequest) throws PSExceptionEndpoint that will create a newWebAccountFunctions
into the database.- Specified by:
Register
in interfaceWebAccountImpl
- Parameters:
registerRequest
-RegisterRequest
object that contains the desired login details for a new- Returns:
HttpStatus.OK
if the registration was successful,HttpStatus.CONFLICT
if the account already exists- Throws:
PSException
-
Login
public org.springframework.http.ResponseEntity<?> Login(@RequestBody LoginRequest loginRequest) throws PSExceptionEndpoint that will create a newWebAccountFunctions
into the database- Specified by:
Login
in interfaceWebAccountImpl
- Parameters:
loginRequest
- is the json request- Returns:
- a token signifying valid login or no token signifying invalid login
- Throws:
PSException
-
Logout
public org.springframework.http.ResponseEntity<?> Logout(@RequestParam(name="login_token") java.lang.String loginToken)Endpoint that will delete a login token from aWebAccountFunctions
in the database- Specified by:
Logout
in interfaceWebAccountImpl
- Parameters:
loginToken
- Login token to delete from the database- Returns:
HttpStatus.OK
if successful
-
PutSocialIntegration
public org.springframework.http.HttpStatus PutSocialIntegration(@RequestBody PutSocialIntegrationRequest putSocialIntegrationRequest) throws PSExceptionEndpoint that allows registering, updating or deleting integrations for social platforms.- Specified by:
PutSocialIntegration
in interfaceWebAccountImpl
- Parameters:
putSocialIntegrationRequest
-PutSocialIntegrationRequest
object that containsWebAccountFunctions
and request details.- Returns:
HttpStatus.OK
if successful,HttpStatus.CONFLICT
if the providedPutSocialIntegrationRequest
does not contain a validWebAccount
ID number.- Throws:
PSException
-
GetSocialIntegration
public org.springframework.http.ResponseEntity<?> GetSocialIntegration(@RequestParam(name="login_token") java.lang.String loginToken) throws PSExceptionEndpoint that returns the social integration tokens and webhook URLs for social platforms for a given login token- Specified by:
GetSocialIntegration
in interfaceWebAccountImpl
- Parameters:
loginToken
- Login token belonging to aWebAccount
- Returns:
SocialIntegration
Social integration tokens and webhook URLs- Throws:
PSException
-
GetPatreonTokens
public org.springframework.http.ResponseEntity<?> GetPatreonTokens(@RequestParam(name="login_token") java.lang.String loginToken) throws PSExceptionEndpoint that allows retrieval of Patreon access and refresh tokens for aWebAccount
containing the given login token- Specified by:
GetPatreonTokens
in interfaceWebAccountImpl
- Parameters:
loginToken
- Login token belonging to aWebAccount
- Returns:
WebAccount
Patreon access and refresh token- Throws:
PSException
-
ResetPassword
public org.springframework.http.ResponseEntity<?> ResetPassword(@RequestBody ResetPasswordRequest resetPasswordRequest) throws PSExceptionEndpoint that allowsWebAccount
password resetting.- Specified by:
ResetPassword
in interfaceWebAccountImpl
- Parameters:
resetPasswordRequest
-ResetPasswordRequest
object generated from a user calling this endpoint- Returns:
HttpStatus.OK
if successful,HttpStatus.UNAUTHORIZED
if the given oldPassword did not match any current passwords belonging to theWebAccount
found with the given loginToken- Throws:
PSException
-
Webhook
@PostMapping("webhook") public org.springframework.http.ResponseEntity<?> Webhook(@RequestParam(name="login_token") java.lang.String loginToken) throws PSExceptionTest for a webhook endpoint- Parameters:
loginToken
- is a user's loginToken- Returns:
- an
HttpStatus.OK
- Throws:
PSException
- in case of a database problem or a user mismatch
-