+ public FnWidget saveOne(final FnWidget widget) {
+ return fnWidgetDao.saveAndFlush(widget);
+ }
+
+ @PreAuthorize("hasRole('System_Administrator')")
+ public FieldsValidator deleteOnboardingWidget(final String orgUserId, final long userId, final long onboardingWidgetId) {
+ FieldsValidator fieldsValidator = new FieldsValidator();
+ synchronized (syncRests) {
+ Optional<FnWidget> widget = this.getOne(onboardingWidgetId);
+ if (widget.isPresent() && widget.get().getAppId() != null) { // widget exists
+ if (!this.isUserAdminOfAppForWidget(adminRolesService.isSuperAdmin(orgUserId), userId,
+ widget.get().getAppId())) {
+ fieldsValidator.setHttpStatusCode((long) HttpServletResponse.SC_FORBIDDEN);
+ } else {
+ fnWidgetDao.deleteById(onboardingWidgetId);
+ fieldsValidator.setHttpStatusCode(
+ (long) HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ }
+ }
+ }
+ return fieldsValidator;
+ }
+
+ public Optional<FnWidget> getOne(Long id) {
+ return Optional.of(fnWidgetDao.getOne(id));
+ }
+