@@ -18,42 +18,53 @@ function serialize(data: any): string {
1818}
1919
2020export class AppController {
21+ // TODO: Gracefully handle errors
2122
2223 public async getAccount ( req : Request , res : Response ) {
23- const { did } = req . veridaNetworkConnection
24+ try {
25+ const { did } = req . veridaNetworkConnection
26+
27+ const account = await BillingManager . getAccount ( did )
2428
25- const account = await BillingManager . getAccount ( did )
29+ if ( ! account ) {
30+ return res . status ( 404 ) . json ( {
31+ success : false ,
32+ error : "Account not found"
33+ } )
34+ }
2635
27- if ( ! account ) {
28- return res . status ( 404 ) . json ( {
29- success : false
36+ return res . json ( {
37+ success : true ,
38+ account
39+ } )
40+ } catch ( error ) {
41+ console . error ( error )
42+ return res . status ( 500 ) . json ( {
43+ success : false ,
44+ error : "Something went wrong while retrieving account"
3045 } )
3146 }
32-
33- return res . json ( {
34- account
35- } )
3647 }
3748
3849 public async register ( req : Request , res : Response ) {
3950 const { did } = req . veridaNetworkConnection
40-
51+
4152 return res . json ( {
4253 success : await BillingManager . registerAccount ( did , BillingAccountType . APP )
4354 } )
4455 }
4556
4657 public async requests ( req : Request , res : Response ) {
4758 const { did } = req . veridaNetworkConnection
48-
59+
4960 return res . json ( {
5061 results : await UsageManager . getRequests ( did )
5162 } )
5263 }
5364
5465 public async accountCount ( req : Request , res : Response ) {
5566 const { did } = req . veridaNetworkConnection
56-
67+
5768 return res . json ( serialize ( {
5869 count : await UsageManager . getAccountCount ( did )
5970 } ) )
@@ -63,15 +74,15 @@ export class AppController {
6374 const { did } = req . veridaNetworkConnection
6475 const startDateTime = req . params . start ? req . params . start . toString ( ) : undefined
6576 const endDateTime = req . params . end ? req . params . end . toString ( ) : undefined
66-
77+
6778 return res . json ( serialize ( {
6879 usage : await UsageManager . getUsageStats ( did , startDateTime , endDateTime )
6980 } ) )
7081 }
7182
7283 public async balance ( req : Request , res : Response ) {
7384 const { did } = req . veridaNetworkConnection
74-
85+
7586 const balance = await BillingManager . getBalance ( did )
7687 return res . json ( serialize ( {
7788 balance
@@ -87,7 +98,7 @@ export class AppController {
8798
8899 public async deposits ( req : Request , res : Response ) {
89100 const { did } = req . veridaNetworkConnection
90-
101+
91102 return res . json ( serialize ( {
92103 deposits : await BillingManager . getDeposits ( did )
93104 } ) )
@@ -130,4 +141,4 @@ export class AppController {
130141}
131142
132143const controller = new AppController ( )
133- export default controller
144+ export default controller
0 commit comments