@@ -71,29 +71,24 @@ class PackageServiceProvider extends ServiceProvider {
71
71
72
72
this . core . singleton ( 'osjs/packages' , ( ) => this . packages ) ;
73
73
74
- routeAuthenticated ( 'GET' , '/api/packages/metadata' , ( req , res ) => {
75
- this . packages . readPackageManifests ( req . query . root || [ ] , req . session . user )
76
- . then ( json => res . json ( json ) )
77
- . catch ( error => res . status ( 400 ) . json ( { error} ) ) ;
78
- } ) ;
74
+ const usingPackageManager = cb => ( req , res ) => cb ( req , res )
75
+ . then ( json => res . json ( json ) )
76
+ . catch ( ( error ) => {
77
+ console . error ( error ) ;
78
+ res . status ( 400 ) . json ( { error : 'Action failed' } ) ;
79
+ } ) ;
79
80
80
- routeAuthenticated ( 'POST' , '/api/packages/install' , ( req , res ) => {
81
- this . packages . installPackage ( req . body . url , req . body . options , req . session . user )
82
- . then ( body => res . json ( body ) )
83
- . catch ( ( error ) => {
84
- console . error ( error ) ;
85
- res . status ( 400 ) . json ( { error : 'Package installation failed' } ) ;
86
- } ) ;
87
- } ) ;
81
+ routeAuthenticated ( 'GET' , '/api/packages/metadata' , usingPackageManager ( ( req , res ) => {
82
+ return this . packages . readPackageManifests ( req . query . root || [ ] , req . session . user ) ;
83
+ } ) ) ;
88
84
89
- routeAuthenticated ( 'POST' , '/api/packages/uninstall' , ( req , res ) => {
90
- this . packages . uninstallPackage ( req . body . name , req . body . options , req . session . user )
91
- . then ( body => res . json ( body ) )
92
- . catch ( ( error ) => {
93
- console . error ( error ) ;
94
- res . status ( 400 ) . json ( { error : 'Package uninstallation failed' } ) ;
95
- } ) ;
96
- } ) ;
85
+ routeAuthenticated ( 'POST' , '/api/packages/install' , usingPackageManager ( ( req , res ) => {
86
+ return this . packages . installPackage ( req . body . url , req . body . options , req . session . user ) ;
87
+ } ) ) ;
88
+
89
+ routeAuthenticated ( 'POST' , '/api/packages/uninstall' , usingPackageManager ( ( req , res ) => {
90
+ return this . packages . uninstallPackage ( req . body . name , req . body . options , req . session . user ) ;
91
+ } ) ) ;
97
92
98
93
return this . packages . init ( ) ;
99
94
}
0 commit comments