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