|
|
|
@ -41,6 +41,7 @@ import org.thingsboard.server.common.data.mobile.LoginMobileInfo; |
|
|
|
import org.thingsboard.server.common.data.mobile.UserMobileInfo; |
|
|
|
import org.thingsboard.server.common.data.mobile.app.MobileApp; |
|
|
|
import org.thingsboard.server.common.data.mobile.app.MobileAppVersionInfo; |
|
|
|
import org.thingsboard.server.common.data.mobile.app.StoreInfo; |
|
|
|
import org.thingsboard.server.common.data.mobile.bundle.MobileAppBundle; |
|
|
|
import org.thingsboard.server.common.data.mobile.layout.MobilePage; |
|
|
|
import org.thingsboard.server.common.data.oauth2.OAuth2ClientLoginInfo; |
|
|
|
@ -55,6 +56,7 @@ import org.thingsboard.server.service.security.permission.Operation; |
|
|
|
import org.thingsboard.server.service.security.permission.Resource; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.Optional; |
|
|
|
import java.util.UUID; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@ -83,7 +85,9 @@ public class MobileAppController extends BaseController { |
|
|
|
@RequestParam PlatformType platform) { |
|
|
|
List<OAuth2ClientLoginInfo> oauth2Clients = oAuth2ClientService.findOAuth2ClientLoginInfosByMobilePkgNameAndPlatformType(pkgName, platform); |
|
|
|
MobileApp mobileApp = mobileAppService.findMobileAppByPkgNameAndPlatformType(pkgName, platform); |
|
|
|
return new LoginMobileInfo(oauth2Clients, mobileApp != null ? mobileApp.getVersionInfo() : null); |
|
|
|
StoreInfo storeInfo = Optional.ofNullable(mobileApp).map(MobileApp::getStoreInfo).orElse(null); |
|
|
|
MobileAppVersionInfo versionInfo = Optional.ofNullable(mobileApp).map(MobileApp::getVersionInfo).orElse(null); |
|
|
|
return new LoginMobileInfo(oauth2Clients, storeInfo, versionInfo); |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation(value = "Get user mobile app basic info (getUserMobileInfo)", notes = AVAILABLE_FOR_ANY_AUTHORIZED_USER) |
|
|
|
@ -97,17 +101,10 @@ public class MobileAppController extends BaseController { |
|
|
|
User user = userService.findUserById(securityUser.getTenantId(), securityUser.getId()); |
|
|
|
HomeDashboardInfo homeDashboardInfo = securityUser.isSystemAdmin() ? null : getHomeDashboardInfo(securityUser, user.getAdditionalInfo()); |
|
|
|
MobileAppBundle mobileAppBundle = mobileAppBundleService.findMobileAppBundleByPkgNameAndPlatform(securityUser.getTenantId(), pkgName, platform); |
|
|
|
return new UserMobileInfo(user, homeDashboardInfo, getVisiblePages(mobileAppBundle)); |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation(value = "Get mobile app version info (getMobileVersionInfo)") |
|
|
|
@GetMapping(value = "/mobile/versionInfo") |
|
|
|
public MobileAppVersionInfo getMobileVersionInfo(@Parameter(description = "Mobile application package name") |
|
|
|
@RequestParam String pkgName, |
|
|
|
@Parameter(description = "Platform type", schema = @Schema(allowableValues = {"ANDROID", "IOS"})) |
|
|
|
@RequestParam PlatformType platform) { |
|
|
|
MobileApp mobileApp = mobileAppService.findMobileAppByPkgNameAndPlatformType(pkgName, platform); |
|
|
|
return mobileApp != null ? mobileApp.getVersionInfo() : null; |
|
|
|
StoreInfo storeInfo = Optional.ofNullable(mobileApp).map(MobileApp::getStoreInfo).orElse(null); |
|
|
|
MobileAppVersionInfo versionInfo = Optional.ofNullable(mobileApp).map(MobileApp::getVersionInfo).orElse(null); |
|
|
|
return new UserMobileInfo(user, storeInfo, versionInfo, homeDashboardInfo, getVisiblePages(mobileAppBundle)); |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation(value = "Save Or update Mobile app (saveMobileApp)", |
|
|
|
|