22
22
import org .lowcoder .api .home .UserHomeApiService ;
23
23
import org .lowcoder .api .home .UserHomepageView ;
24
24
import org .lowcoder .api .util .BusinessEventPublisher ;
25
+ import org .lowcoder .api .util .GIDUtil ;
25
26
import org .lowcoder .domain .application .model .Application ;
26
27
import org .lowcoder .domain .application .model .ApplicationRequestType ;
27
28
import org .lowcoder .domain .application .model .ApplicationStatus ;
@@ -43,6 +44,7 @@ public class ApplicationController implements ApplicationEndpoints {
43
44
private final ApplicationApiService applicationApiService ;
44
45
private final BusinessEventPublisher businessEventPublisher ;
45
46
private final SessionUserService sessionUserService ;
47
+ private final GIDUtil gidUtil ;
46
48
47
49
@ Override
48
50
public Mono <ResponseView <ApplicationView >> create (@ RequestBody CreateApplicationRequest createApplicationRequest ) {
@@ -60,14 +62,16 @@ public Mono<ResponseView<ApplicationView>> createFromTemplate(@RequestParam Stri
60
62
61
63
@ Override
62
64
public Mono <ResponseView <Boolean >> recycle (@ PathVariable String applicationId ) {
63
- return applicationApiService .recycle (applicationId )
65
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
66
+ return applicationApiService .recycle (appId )
64
67
.delayUntil (__ -> businessEventPublisher .publishApplicationCommonEvent (applicationId , null , APPLICATION_RECYCLED ))
65
68
.map (ResponseView ::success );
66
69
}
67
70
68
71
@ Override
69
72
public Mono <ResponseView <Boolean >> restore (@ PathVariable String applicationId ) {
70
- return applicationApiService .restore (applicationId )
73
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
74
+ return applicationApiService .restore (appId )
71
75
.delayUntil (__ -> businessEventPublisher .publishApplicationCommonEvent (applicationId , null , APPLICATION_RESTORE ))
72
76
.map (ResponseView ::success );
73
77
}
@@ -81,53 +85,60 @@ public Mono<ResponseView<List<ApplicationInfoView>>> getRecycledApplications() {
81
85
82
86
@ Override
83
87
public Mono <ResponseView <ApplicationView >> delete (@ PathVariable String applicationId ) {
84
- return applicationApiService .delete (applicationId )
88
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
89
+ return applicationApiService .delete (appId )
85
90
.delayUntil (applicationView -> businessEventPublisher .publishApplicationCommonEvent (applicationView , APPLICATION_DELETE ))
86
91
.map (ResponseView ::success );
87
92
}
88
93
89
94
@ Override
90
95
public Mono <ResponseView <ApplicationView >> getEditingApplication (@ PathVariable String applicationId ) {
91
- return applicationApiService .getEditingApplication (applicationId )
92
- .delayUntil (__ -> applicationApiService .updateUserApplicationLastViewTime (applicationId ))
96
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
97
+ return applicationApiService .getEditingApplication (appId )
98
+ .delayUntil (__ -> applicationApiService .updateUserApplicationLastViewTime (appId ))
93
99
.map (ResponseView ::success );
94
100
}
95
101
96
102
@ Override
97
103
public Mono <ResponseView <ApplicationView >> getPublishedApplication (@ PathVariable String applicationId ) {
98
- return applicationApiService .getPublishedApplication (applicationId , ApplicationRequestType .PUBLIC_TO_ALL )
99
- .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (applicationId ))
104
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
105
+ return applicationApiService .getPublishedApplication (appId , ApplicationRequestType .PUBLIC_TO_ALL )
106
+ .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (appId ))
100
107
.delayUntil (applicationView -> businessEventPublisher .publishApplicationCommonEvent (applicationView , APPLICATION_VIEW ))
101
108
.map (ResponseView ::success );
102
109
}
103
110
104
111
@ Override
105
112
public Mono <ResponseView <ApplicationView >> getPublishedMarketPlaceApplication (@ PathVariable String applicationId ) {
106
- return applicationApiService .getPublishedApplication (applicationId , ApplicationRequestType .PUBLIC_TO_MARKETPLACE )
107
- .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (applicationId ))
113
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
114
+ return applicationApiService .getPublishedApplication (appId , ApplicationRequestType .PUBLIC_TO_MARKETPLACE )
115
+ .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (appId ))
108
116
.delayUntil (applicationView -> businessEventPublisher .publishApplicationCommonEvent (applicationView , APPLICATION_VIEW ))
109
117
.map (ResponseView ::success );
110
118
}
111
119
112
120
@ Override
113
121
public Mono <ResponseView <ApplicationView >> getAgencyProfileApplication (@ PathVariable String applicationId ) {
114
- return applicationApiService .getPublishedApplication (applicationId , ApplicationRequestType .AGENCY_PROFILE )
115
- .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (applicationId ))
122
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
123
+ return applicationApiService .getPublishedApplication (appId , ApplicationRequestType .AGENCY_PROFILE )
124
+ .delayUntil (applicationView -> applicationApiService .updateUserApplicationLastViewTime (appId ))
116
125
.delayUntil (applicationView -> businessEventPublisher .publishApplicationCommonEvent (applicationView , APPLICATION_VIEW ))
117
126
.map (ResponseView ::success );
118
127
}
119
128
120
129
@ Override
121
130
public Mono <ResponseView <ApplicationView >> update (@ PathVariable String applicationId ,
122
131
@ RequestBody Application newApplication ) {
123
- return applicationApiService .update (applicationId , newApplication )
132
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
133
+ return applicationApiService .update (appId , newApplication )
124
134
.delayUntil (applicationView -> businessEventPublisher .publishApplicationCommonEvent (applicationView , APPLICATION_UPDATE ))
125
135
.map (ResponseView ::success );
126
136
}
127
137
128
138
@ Override
129
139
public Mono <ResponseView <ApplicationView >> publish (@ PathVariable String applicationId ) {
130
- return applicationApiService .publish (applicationId )
140
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
141
+ return applicationApiService .publish (appId )
131
142
.map (ResponseView ::success );
132
143
}
133
144
@@ -168,33 +179,36 @@ public Mono<ResponseView<List<MarketplaceApplicationInfoView>>> getAgencyProfile
168
179
public Mono <ResponseView <Boolean >> updatePermission (@ PathVariable String applicationId ,
169
180
@ PathVariable String permissionId ,
170
181
@ RequestBody UpdatePermissionRequest updatePermissionRequest ) {
182
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
171
183
ResourceRole role = ResourceRole .fromValue (updatePermissionRequest .role ());
172
184
if (role == null ) {
173
185
return ofError (INVALID_PARAMETER , "INVALID_PARAMETER" , updatePermissionRequest );
174
186
}
175
187
176
- return applicationApiService .updatePermission (applicationId , permissionId , role )
188
+ return applicationApiService .updatePermission (appId , permissionId , role )
177
189
.map (ResponseView ::success );
178
190
}
179
191
180
192
@ Override
181
193
public Mono <ResponseView <Boolean >> removePermission (
182
194
@ PathVariable String applicationId ,
183
195
@ PathVariable String permissionId ) {
196
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
184
197
185
- return applicationApiService .removePermission (applicationId , permissionId )
198
+ return applicationApiService .removePermission (appId , permissionId )
186
199
.map (ResponseView ::success );
187
200
}
188
201
189
202
@ Override
190
203
public Mono <ResponseView <Boolean >> grantPermission (
191
204
@ PathVariable String applicationId ,
192
205
@ RequestBody BatchAddPermissionRequest request ) {
206
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
193
207
ResourceRole role = ResourceRole .fromValue (request .role ());
194
208
if (role == null ) {
195
209
return ofError (INVALID_PARAMETER , "INVALID_PARAMETER" , request .role ());
196
210
}
197
- return applicationApiService .grantPermission (applicationId ,
211
+ return applicationApiService .grantPermission (appId ,
198
212
emptyIfNull (request .userIds ()),
199
213
emptyIfNull (request .groupIds ()),
200
214
role )
@@ -204,28 +218,32 @@ public Mono<ResponseView<Boolean>> grantPermission(
204
218
205
219
@ Override
206
220
public Mono <ResponseView <ApplicationPermissionView >> getApplicationPermissions (@ PathVariable String applicationId ) {
207
- return applicationApiService .getApplicationPermissions (applicationId )
221
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
222
+ return applicationApiService .getApplicationPermissions (appId )
208
223
.map (ResponseView ::success );
209
224
}
210
225
211
226
@ Override
212
227
public Mono <ResponseView <Boolean >> setApplicationPublicToAll (@ PathVariable String applicationId ,
213
228
@ RequestBody ApplicationPublicToAllRequest request ) {
214
- return applicationApiService .setApplicationPublicToAll (applicationId , request .publicToAll ())
229
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
230
+ return applicationApiService .setApplicationPublicToAll (appId , request .publicToAll ())
215
231
.map (ResponseView ::success );
216
232
}
217
233
218
234
@ Override
219
235
public Mono <ResponseView <Boolean >> setApplicationPublicToMarketplace (@ PathVariable String applicationId ,
220
236
@ RequestBody ApplicationPublicToMarketplaceRequest request ) {
221
- return applicationApiService .setApplicationPublicToMarketplace (applicationId , request )
237
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
238
+ return applicationApiService .setApplicationPublicToMarketplace (appId , request )
222
239
.map (ResponseView ::success );
223
240
}
224
241
225
242
@ Override
226
243
public Mono <ResponseView <Boolean >> setApplicationAsAgencyProfile (@ PathVariable String applicationId ,
227
244
@ RequestBody ApplicationAsAgencyProfileRequest request ) {
228
- return applicationApiService .setApplicationAsAgencyProfile (applicationId , request .agencyProfile ())
245
+ String appId = gidUtil .convertApplicationIdToObjectId (applicationId );
246
+ return applicationApiService .setApplicationAsAgencyProfile (appId , request .agencyProfile ())
229
247
.map (ResponseView ::success );
230
248
}
231
249
0 commit comments