Commit 40be6e588c5460f5223aa67343415b7dde449b67
1 parent
f1cc4fbd
Fix device wizard dialog. Fix install script for oauth2 client registration templates.
Showing
7 changed files
with
34 additions
and
2 deletions
... | ... | @@ -42,6 +42,7 @@ import java.nio.file.DirectoryStream; |
42 | 42 | import java.nio.file.Files; |
43 | 43 | import java.nio.file.Path; |
44 | 44 | import java.nio.file.Paths; |
45 | +import java.util.Optional; | |
45 | 46 | |
46 | 47 | import static org.thingsboard.server.service.install.DatabaseHelper.objectMapper; |
47 | 48 | |
... | ... | @@ -243,6 +244,11 @@ public class InstallScripts { |
243 | 244 | try { |
244 | 245 | JsonNode oauth2ConfigTemplateJson = objectMapper.readTree(path.toFile()); |
245 | 246 | OAuth2ClientRegistrationTemplate clientRegistrationTemplate = objectMapper.treeToValue(oauth2ConfigTemplateJson, OAuth2ClientRegistrationTemplate.class); |
247 | + Optional<OAuth2ClientRegistrationTemplate> existingClientRegistrationTemplate = | |
248 | + oAuth2TemplateService.findClientRegistrationTemplateByProviderId(clientRegistrationTemplate.getProviderId()); | |
249 | + if (existingClientRegistrationTemplate.isPresent()) { | |
250 | + clientRegistrationTemplate.setId(existingClientRegistrationTemplate.get().getId()); | |
251 | + } | |
246 | 252 | oAuth2TemplateService.saveClientRegistrationTemplate(clientRegistrationTemplate); |
247 | 253 | } catch (Exception e) { |
248 | 254 | log.error("Unable to load oauth2 config templates from json: [{}]", path.toString()); | ... | ... |
... | ... | @@ -19,10 +19,13 @@ import org.thingsboard.server.common.data.id.OAuth2ClientRegistrationTemplateId; |
19 | 19 | import org.thingsboard.server.common.data.oauth2.OAuth2ClientRegistrationTemplate; |
20 | 20 | |
21 | 21 | import java.util.List; |
22 | +import java.util.Optional; | |
22 | 23 | |
23 | 24 | public interface OAuth2ConfigTemplateService { |
24 | 25 | OAuth2ClientRegistrationTemplate saveClientRegistrationTemplate(OAuth2ClientRegistrationTemplate clientRegistrationTemplate); |
25 | 26 | |
27 | + Optional<OAuth2ClientRegistrationTemplate> findClientRegistrationTemplateByProviderId(String providerId); | |
28 | + | |
26 | 29 | OAuth2ClientRegistrationTemplate findClientRegistrationTemplateById(OAuth2ClientRegistrationTemplateId templateId); |
27 | 30 | |
28 | 31 | List<OAuth2ClientRegistrationTemplate> findAllClientRegistrationTemplates(); | ... | ... |
... | ... | @@ -19,7 +19,11 @@ import org.thingsboard.server.common.data.oauth2.OAuth2ClientRegistrationTemplat |
19 | 19 | import org.thingsboard.server.dao.Dao; |
20 | 20 | |
21 | 21 | import java.util.List; |
22 | +import java.util.Optional; | |
22 | 23 | |
23 | 24 | public interface OAuth2ClientRegistrationTemplateDao extends Dao<OAuth2ClientRegistrationTemplate> { |
25 | + | |
26 | + Optional<OAuth2ClientRegistrationTemplate> findByProviderId(String providerId); | |
27 | + | |
24 | 28 | List<OAuth2ClientRegistrationTemplate> findAll(); |
25 | 29 | } | ... | ... |
... | ... | @@ -29,6 +29,7 @@ import org.thingsboard.server.dao.exception.DataValidationException; |
29 | 29 | import org.thingsboard.server.dao.service.DataValidator; |
30 | 30 | |
31 | 31 | import java.util.List; |
32 | +import java.util.Optional; | |
32 | 33 | |
33 | 34 | import static org.thingsboard.server.dao.service.Validator.validateId; |
34 | 35 | import static org.thingsboard.server.dao.service.Validator.validateString; |
... | ... | @@ -37,6 +38,7 @@ import static org.thingsboard.server.dao.service.Validator.validateString; |
37 | 38 | @Service |
38 | 39 | public class OAuth2ConfigTemplateServiceImpl extends AbstractEntityService implements OAuth2ConfigTemplateService { |
39 | 40 | public static final String INCORRECT_CLIENT_REGISTRATION_TEMPLATE_ID = "Incorrect clientRegistrationTemplateId "; |
41 | + public static final String INCORRECT_CLIENT_REGISTRATION_PROVIDER_ID = "Incorrect clientRegistrationProviderId "; | |
40 | 42 | |
41 | 43 | @Autowired |
42 | 44 | private OAuth2ClientRegistrationTemplateDao clientRegistrationTemplateDao; |
... | ... | @@ -60,6 +62,13 @@ public class OAuth2ConfigTemplateServiceImpl extends AbstractEntityService imple |
60 | 62 | } |
61 | 63 | |
62 | 64 | @Override |
65 | + public Optional<OAuth2ClientRegistrationTemplate> findClientRegistrationTemplateByProviderId(String providerId) { | |
66 | + log.trace("Executing findClientRegistrationTemplateByProviderId [{}]", providerId); | |
67 | + validateString(providerId, INCORRECT_CLIENT_REGISTRATION_PROVIDER_ID + providerId); | |
68 | + return clientRegistrationTemplateDao.findByProviderId(providerId); | |
69 | + } | |
70 | + | |
71 | + @Override | |
63 | 72 | public OAuth2ClientRegistrationTemplate findClientRegistrationTemplateById(OAuth2ClientRegistrationTemplateId templateId) { |
64 | 73 | log.trace("Executing findClientRegistrationTemplateById [{}]", templateId); |
65 | 74 | validateId(templateId, INCORRECT_CLIENT_REGISTRATION_TEMPLATE_ID + templateId); | ... | ... |
... | ... | @@ -26,6 +26,7 @@ import org.thingsboard.server.dao.sql.JpaAbstractDao; |
26 | 26 | |
27 | 27 | import java.util.ArrayList; |
28 | 28 | import java.util.List; |
29 | +import java.util.Optional; | |
29 | 30 | import java.util.UUID; |
30 | 31 | |
31 | 32 | @Component |
... | ... | @@ -44,6 +45,12 @@ public class JpaOAuth2ClientRegistrationTemplateDao extends JpaAbstractDao<OAuth |
44 | 45 | } |
45 | 46 | |
46 | 47 | @Override |
48 | + public Optional<OAuth2ClientRegistrationTemplate> findByProviderId(String providerId) { | |
49 | + OAuth2ClientRegistrationTemplate oAuth2ClientRegistrationTemplate = DaoUtil.getData(repository.findByProviderId(providerId)); | |
50 | + return Optional.ofNullable(oAuth2ClientRegistrationTemplate); | |
51 | + } | |
52 | + | |
53 | + @Override | |
47 | 54 | public List<OAuth2ClientRegistrationTemplate> findAll() { |
48 | 55 | Iterable<OAuth2ClientRegistrationTemplateEntity> entities = repository.findAll(); |
49 | 56 | List<OAuth2ClientRegistrationTemplate> result = new ArrayList<>(); | ... | ... |
... | ... | @@ -21,4 +21,7 @@ import org.thingsboard.server.dao.model.sql.OAuth2ClientRegistrationTemplateEnti |
21 | 21 | import java.util.UUID; |
22 | 22 | |
23 | 23 | public interface OAuth2ClientRegistrationTemplateRepository extends CrudRepository<OAuth2ClientRegistrationTemplateEntity, UUID> { |
24 | + | |
25 | + OAuth2ClientRegistrationTemplateEntity findByProviderId(String providerId); | |
26 | + | |
24 | 27 | } | ... | ... |
... | ... | @@ -266,11 +266,11 @@ export class DeviceWizardDialogComponent extends |
266 | 266 | }) |
267 | 267 | ); |
268 | 268 | } else { |
269 | - return of(null); | |
269 | + return of(this.deviceWizardFormGroup.get('deviceProfileId').value); | |
270 | 270 | } |
271 | 271 | } |
272 | 272 | |
273 | - private createDevice(profileId: EntityId = this.deviceWizardFormGroup.get('deviceProfileId').value): Observable<BaseData<HasId>> { | |
273 | + private createDevice(profileId): Observable<BaseData<HasId>> { | |
274 | 274 | const device = { |
275 | 275 | name: this.deviceWizardFormGroup.get('name').value, |
276 | 276 | label: this.deviceWizardFormGroup.get('label').value, | ... | ... |