├── .metadata ├── .lock ├── .log ├── .plugins │ ├── org.eclipse.core.resources │ │ ├── .projects │ │ │ ├── .org.eclipse.egit.core.cmp │ │ │ │ ├── .location │ │ │ │ ├── .markers.snap │ │ │ │ └── .syncinfo.snap │ │ │ ├── emails │ │ │ │ ├── .indexes │ │ │ │ │ └── properties.index │ │ │ │ ├── .location │ │ │ │ ├── .markers.snap │ │ │ │ └── .syncinfo.snap │ │ │ └── user │ │ │ │ ├── .indexes │ │ │ │ └── properties.index │ │ │ │ ├── .location │ │ │ │ ├── .markers.snap │ │ │ │ └── .syncinfo.snap │ │ ├── .root │ │ │ ├── .indexes │ │ │ │ ├── history.version │ │ │ │ ├── properties.index │ │ │ │ └── properties.version │ │ │ ├── .markers.snap │ │ │ └── 20.tree │ │ ├── .safetable │ │ │ └── org.eclipse.core.resources │ │ └── 20.snap │ ├── org.eclipse.core.runtime │ │ └── .settings │ │ │ ├── Docker.prefs │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.debug.core.prefs │ │ │ ├── org.eclipse.debug.ui.prefs │ │ │ ├── org.eclipse.e4.ui.css.swt.theme.prefs │ │ │ ├── org.eclipse.e4.ui.workbench.renderers.swt.prefs │ │ │ ├── org.eclipse.egit.core.prefs │ │ │ ├── org.eclipse.jdt.core.prefs │ │ │ ├── org.eclipse.jdt.debug.ui.prefs │ │ │ ├── org.eclipse.jdt.junit.prefs │ │ │ ├── org.eclipse.jdt.launching.prefs │ │ │ ├── org.eclipse.jdt.ui.prefs │ │ │ ├── org.eclipse.jsch.core.prefs │ │ │ ├── org.eclipse.m2e.apt.prefs │ │ │ ├── org.eclipse.m2e.core.prefs │ │ │ ├── org.eclipse.m2e.discovery.prefs │ │ │ ├── org.eclipse.pde.api.tools.prefs │ │ │ ├── org.eclipse.ui.editors.prefs │ │ │ ├── org.eclipse.ui.ide.prefs │ │ │ ├── org.eclipse.ui.navigator.prefs │ │ │ ├── org.eclipse.ui.prefs │ │ │ ├── org.eclipse.ui.workbench.prefs │ │ │ ├── org.eclipse.urischeme.prefs │ │ │ ├── org.springframework.ide.eclipse.boot.dash.prefs │ │ │ ├── org.springframework.ide.eclipse.boot.launch.prefs │ │ │ ├── org.springframework.ide.eclipse.imports.prefs │ │ │ └── org.springsource.ide.eclipse.commons.ui.prefs │ ├── org.eclipse.debug.core │ │ └── .launches │ │ │ ├── UserApplication.launch │ │ │ ├── emails - EmailsApplication.launch │ │ │ └── user - UserApplication.launch │ ├── org.eclipse.debug.ui │ │ ├── dialog_settings.xml │ │ └── launchConfigurationHistory.xml │ ├── org.eclipse.e4.workbench │ │ └── workbench.xmi │ ├── org.eclipse.egit.core │ │ └── .org.eclipse.egit.core.cmp │ │ │ ├── .project │ │ │ └── .settings │ │ │ └── org.eclipse.core.resources.prefs │ ├── org.eclipse.jdt.core │ │ ├── 1014253638.index │ │ ├── 1017792075.index │ │ ├── 1122026794.index │ │ ├── 1136980607.index │ │ ├── 1157159980.index │ │ ├── 1268888676.index │ │ ├── 1333348491.index │ │ ├── 1389031549.index │ │ ├── 143075970.index │ │ ├── 1441315694.index │ │ ├── 1446052723.index │ │ ├── 1571272192.index │ │ ├── 1608857099.index │ │ ├── 1617771021.index │ │ ├── 1624327898.index │ │ ├── 1669747098.index │ │ ├── 1757683800.index │ │ ├── 177320718.index │ │ ├── 1822302255.index │ │ ├── 1865797976.index │ │ ├── 186785895.index │ │ ├── 2038880912.index │ │ ├── 2060836458.index │ │ ├── 2107291828.index │ │ ├── 2157145924.index │ │ ├── 2220496204.index │ │ ├── 2222446539.index │ │ ├── 2264430283.index │ │ ├── 2302304485.index │ │ ├── 2306685139.index │ │ ├── 235833811.index │ │ ├── 2375857690.index │ │ ├── 2404102007.index │ │ ├── 2408428262.index │ │ ├── 2422143596.index │ │ ├── 2428685153.index │ │ ├── 2459031939.index │ │ ├── 2489466651.index │ │ ├── 2517885936.index │ │ ├── 2534857858.index │ │ ├── 2536483051.index │ │ ├── 2646984464.index │ │ ├── 2662374350.index │ │ ├── 2734996195.index │ │ ├── 2765443896.index │ │ ├── 2825678617.index │ │ ├── 2828470734.index │ │ ├── 293784041.index │ │ ├── 2939323882.index │ │ ├── 2943408945.index │ │ ├── 2948144456.index │ │ ├── 2951433177.index │ │ ├── 2970062311.index │ │ ├── 2987563753.index │ │ ├── 3117414836.index │ │ ├── 3140087588.index │ │ ├── 3178401304.index │ │ ├── 3197811984.index │ │ ├── 3221222975.index │ │ ├── 3245071528.index │ │ ├── 3323609463.index │ │ ├── 3337130977.index │ │ ├── 3346603387.index │ │ ├── 3396148133.index │ │ ├── 3461077512.index │ │ ├── 3523168415.index │ │ ├── 3530928694.index │ │ ├── 3540708804.index │ │ ├── 3606290086.index │ │ ├── 3616545414.index │ │ ├── 3686780587.index │ │ ├── 374509744.index │ │ ├── 3770791485.index │ │ ├── 3773852493.index │ │ ├── 3779047288.index │ │ ├── 3853806424.index │ │ ├── 3885496776.index │ │ ├── 3890051721.index │ │ ├── 391175549.index │ │ ├── 3920945044.index │ │ ├── 3976272786.index │ │ ├── 4011441486.index │ │ ├── 409203493.index │ │ ├── 4093589822.index │ │ ├── 4130148272.index │ │ ├── 414131848.index │ │ ├── 4203813192.index │ │ ├── 4216880375.index │ │ ├── 4227617073.index │ │ ├── 4274640178.index │ │ ├── 432068398.index │ │ ├── 441170761.index │ │ ├── 441311435.index │ │ ├── 457763599.index │ │ ├── 508693785.index │ │ ├── 550173470.index │ │ ├── 675830313.index │ │ ├── 690987185.index │ │ ├── 699216014.index │ │ ├── 700489775.index │ │ ├── 70535075.index │ │ ├── 788926183.index │ │ ├── 79047488.index │ │ ├── 820523053.index │ │ ├── 821524172.index │ │ ├── 829185607.index │ │ ├── 83089676.index │ │ ├── 837938683.index │ │ ├── 891015177.index │ │ ├── 904733381.index │ │ ├── assumedExternalFilesCache │ │ ├── externalFilesCache │ │ ├── externalLibsTimeStamps │ │ ├── javaLikeNames.txt │ │ ├── nonChainingJarsCache │ │ ├── savedIndexNames.txt │ │ └── variablesAndContainers.dat │ ├── org.eclipse.jdt.debug.ui │ │ └── dialog_settings.xml │ ├── org.eclipse.jdt.launching │ │ ├── .install.xml │ │ └── libraryInfos.xml │ ├── org.eclipse.jdt.ui │ │ ├── OpenTypeHistory.xml │ │ ├── QualifiedTypeNameHistory.xml │ │ └── dialog_settings.xml │ ├── org.eclipse.ltk.core.refactoring │ │ └── .refactorings │ │ │ ├── emails │ │ │ └── 2024 │ │ │ │ └── 6 │ │ │ │ └── 22 │ │ │ │ ├── refactorings.history │ │ │ │ └── refactorings.index │ │ │ └── user │ │ │ └── 2024 │ │ │ ├── 5 │ │ │ └── 22 │ │ │ │ ├── refactorings.history │ │ │ │ └── refactorings.index │ │ │ └── 6 │ │ │ ├── 22 │ │ │ ├── refactorings.history │ │ │ └── refactorings.index │ │ │ ├── 23 │ │ │ ├── refactorings.history │ │ │ └── refactorings.index │ │ │ ├── 24 │ │ │ ├── refactorings.history │ │ │ └── refactorings.index │ │ │ └── 25 │ │ │ ├── refactorings.history │ │ │ └── refactorings.index │ ├── org.eclipse.ltk.ui.refactoring │ │ └── dialog_settings.xml │ ├── org.eclipse.m2e.core.ui │ │ └── dialog_settings.xml │ ├── org.eclipse.m2e.core │ │ ├── emails.lifecyclemapping │ │ ├── user.lifecyclemapping │ │ ├── workspaceState.ser │ │ └── workspacestate.properties │ ├── org.eclipse.m2e.jdt │ │ ├── emails.container │ │ └── user.container │ ├── org.eclipse.m2e.logback │ │ ├── 0.log │ │ └── logback.2.6.0.20240217-1525.xml │ ├── org.eclipse.pde.core │ │ └── .cache │ │ │ └── clean-cache.properties │ ├── org.eclipse.tips.ide │ │ └── dialog_settings.xml │ ├── org.eclipse.tm.terminal.view.ui │ │ └── .executables │ │ │ └── data.properties │ ├── org.eclipse.ui.editors │ │ └── dialog_settings.xml │ ├── org.eclipse.ui.ide │ │ └── dialog_settings.xml │ ├── org.eclipse.ui.workbench │ │ ├── dialog_settings.xml │ │ └── workingsets.xml │ ├── org.eclipse.wildwebdeveloper.xml │ │ └── system-catalog.xml │ └── org.eclipse.wst.sse.core │ │ └── task-tags.properties └── version.ini ├── Front └── ms-front │ ├── .editorconfig │ ├── .gitignore │ ├── .vscode │ ├── extensions.json │ ├── launch.json │ └── tasks.json │ ├── README.md │ ├── angular.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.config.ts │ │ ├── app.routes.ts │ │ ├── components │ │ │ ├── balance-user-form │ │ │ │ ├── balance-user-form.component.html │ │ │ │ ├── balance-user-form.component.scss │ │ │ │ ├── balance-user-form.component.spec.ts │ │ │ │ └── balance-user-form.component.ts │ │ │ ├── create-user-form │ │ │ │ ├── create-user-form.component.html │ │ │ │ ├── create-user-form.component.scss │ │ │ │ ├── create-user-form.component.spec.ts │ │ │ │ └── create-user-form.component.ts │ │ │ └── get-users-form │ │ │ │ ├── get-users-form.component.html │ │ │ │ ├── get-users-form.component.scss │ │ │ │ ├── get-users-form.component.spec.ts │ │ │ │ └── get-users-form.component.ts │ │ └── pages │ │ │ ├── balance │ │ │ ├── balance.component.html │ │ │ ├── balance.component.scss │ │ │ ├── balance.component.spec.ts │ │ │ └── balance.component.ts │ │ │ ├── list-users │ │ │ ├── list-users.component.html │ │ │ ├── list-users.component.scss │ │ │ ├── list-users.component.spec.ts │ │ │ └── list-users.component.ts │ │ │ └── login │ │ │ ├── login.component.html │ │ │ ├── login.component.scss │ │ │ ├── login.component.spec.ts │ │ │ └── login.component.ts │ ├── assets │ │ └── .gitkeep │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ └── styles.scss │ ├── tsconfig.app.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── README.md ├── Testes └── teste.java ├── emails ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── ms │ │ │ └── emails │ │ │ ├── EmailsApplication.java │ │ │ ├── configs │ │ │ └── RabbitMQConfig.java │ │ │ ├── consumers │ │ │ └── EmailConsumer.java │ │ │ ├── dtos │ │ │ └── EmailRecordDto.java │ │ │ ├── enums │ │ │ └── StatusEmail.java │ │ │ ├── models │ │ │ └── EmailModel.java │ │ │ ├── repositories │ │ │ └── EmailRepository.java │ │ │ └── services │ │ │ └── EmailServices.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── ms │ └── emails │ └── EmailsApplicationTests.java └── user ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── bin ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── ms │ │ │ └── user │ │ │ └── UserApplication.class │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── ms │ └── user │ └── UserApplicationTests.class ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── ms │ │ └── user │ │ ├── UserApplication.java │ │ ├── apiexterna │ │ └── ConsultaCotacao.java │ │ ├── configs │ │ ├── CORS.java │ │ ├── RabbitMQConfig.java │ │ └── RestTemplateConfig.java │ │ ├── controllers │ │ └── UserController.java │ │ ├── dtos │ │ ├── CotacaoDto.java │ │ ├── EmailDto.java │ │ └── UserRecordDto.java │ │ ├── models │ │ └── UserModel.java │ │ ├── producers │ │ └── UserProducer.java │ │ ├── repositories │ │ └── UserRepository.java │ │ └── services │ │ └── UserService.java └── resources │ └── application.properties └── test └── java └── com └── ms └── user └── UserApplicationTests.java /.metadata/.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.lock -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.markers.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.markers.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.syncinfo.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.syncinfo.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.indexes/properties.index: -------------------------------------------------------------------------------- 1 | :org.eclipse.m2e.core.internal.project.WorkspaceStateWriter extensionjar -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.location: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.location -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.markers.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.markers.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.syncinfo.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/emails/.syncinfo.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/user/.indexes/properties.index: -------------------------------------------------------------------------------- 1 | :org.eclipse.m2e.core.internal.project.WorkspaceStateWriter extensionjar -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/user/.location: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/user/.location -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/user/.markers.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/user/.markers.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.projects/user/.syncinfo.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.projects/user/.syncinfo.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index: -------------------------------------------------------------------------------- 1 | /org.eclipse.core.resourcescontentCacheState2contentCacheTimestamp@abbae5c97c5a5ff2b35ee31af9bc5a79f06785056c398a2fbdf2e28956b99c37org.eclipse.jdt.corestateVersionNumber38 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.root/20.tree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.root/20.tree -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.resources/20.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.core.resources/20.snap -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/Docker.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | runTargets-v2= 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding=UTF-8 3 | version=1 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | prefWatchExpressions=\r\n\r\n 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.debug.ui.MemoryHistoryKnownColor=235,235,235 3 | org.eclipse.debug.ui.MemoryHistoryUnknownColor=170,175,185 4 | org.eclipse.debug.ui.PREF_CHANGED_VALUE_BACKGROUND=150,80,115 5 | org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n 6 | org.eclipse.debug.ui.changedDebugElement=255,128,128 7 | org.eclipse.debug.ui.consoleBackground=53,53,53 8 | org.eclipse.debug.ui.errorColor=225,30,70 9 | org.eclipse.debug.ui.inColor=140,175,210 10 | org.eclipse.debug.ui.outColor=235,235,235 11 | org.eclipse.debug.ui.user_view_bindings=\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 12 | overriddenByCSS=,org.eclipse.debug.ui.MemoryHistoryKnownColor,org.eclipse.debug.ui.MemoryHistoryUnknownColor,org.eclipse.debug.ui.PREF_CHANGED_VALUE_BACKGROUND,org.eclipse.debug.ui.changedDebugElement,org.eclipse.debug.ui.consoleBackground,org.eclipse.debug.ui.errorColor,org.eclipse.debug.ui.inColor,org.eclipse.debug.ui.outColor, 13 | pref_state_memento.org.eclipse.debug.ui.BreakpointView=\r\n\r\n\r\n\r\n\r\n 14 | pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=\r\n 15 | pref_state_memento.org.eclipse.debug.ui.ExpressionView=\r\n\r\n\r\n\r\n\r\n 16 | pref_state_memento.org.eclipse.debug.ui.VariableView=\r\n\r\n\r\n\r\n\r\n 17 | preferredDetailPanes=DefaultDetailPane,org.eclipse.jdt.debug.ui.JAVA_VARIABLE_DETAIL_PANE_VARIABLES\:org.eclipse.jdt.debug.ui.JAVA_VARIABLE_DETAIL_PANE_VARIABLES|DefaultDetailPane\:DefaultDetailPane| 18 | preferredTargets=default,org.eclipse.lsp4e.debug.toggleBreakpointTarget\:default|org.eclipse.lsp4e.debug.toggleBreakpointTarget\:org.eclipse.lsp4e.debug.toggleBreakpointTarget| 19 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.css.swt.theme.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | themeid=org.eclipse.e4.ui.css.theme.e4_dark 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.e4.ui.workbench.renderers.swt.prefs: -------------------------------------------------------------------------------- 1 | HIDE_ICONS_FOR_VIEW_TABS=false 2 | SHOW_FULL_TEXT_FOR_VIEW_TABS=false 3 | USE_ROUND_TABS=false 4 | eclipse.preferences.version=1 5 | enableMRU=true 6 | themeEnabled=true 7 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs: -------------------------------------------------------------------------------- 1 | core_autoIgnoreDerivedResources=false 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled 3 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 5 | org.eclipse.jdt.core.compiler.compliance=17 6 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 8 | org.eclipse.jdt.core.compiler.release=enabled 9 | org.eclipse.jdt.core.compiler.source=17 10 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.debug.ui.ExpressionView.org.eclipse.jdt.debug.ui.show_null_entries=true 3 | org.eclipse.debug.ui.VariableView.org.eclipse.jdt.debug.ui.show_null_entries=true 4 | org.eclipse.jdt.debug.ui.prompt_unable_to_install_breakpoint=false 5 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.junit.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.junit.content_assist_favorite_static_members_migrated=true 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.launching.PREF_VM_XML=\r\n\r\n \r\n \r\n \r\n\r\n 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | content_assist_completion_replacement_background=200,200,0 2 | content_assist_completion_replacement_foreground=200,0,0 3 | content_assist_lru_history= 4 | content_assist_number_of_computers=14 5 | content_assist_parameters_background=52,57,61 6 | content_assist_parameters_foreground=238,238,238 7 | content_assist_proposals_background=52,57,61 8 | content_assist_proposals_foreground=238,238,238 9 | eclipse.preferences.version=1 10 | java_bracket=249,250,244 11 | java_comment_task_tag=154,140,124 12 | java_default=217,232,247 13 | java_doc_default=128,128,128 14 | java_doc_keyword=154,140,124 15 | java_doc_link=169,156,140 16 | java_doc_tag=30,120,155 17 | java_keyword=204,108,29 18 | java_keyword_bold=false 19 | java_keyword_return=204,108,29 20 | java_keyword_return_bold=false 21 | java_multi_line_comment=128,128,128 22 | java_operator=230,230,250 23 | java_single_line_comment=128,128,128 24 | java_string=23,198,163 25 | matchingBracketsColor=249,250,244 26 | org.eclipse.jdt.internal.ui.navigator.layout=2 27 | org.eclipse.jdt.internal.ui.navigator.librariesnode=true 28 | org.eclipse.jdt.ui.formatterprofiles.version=23 29 | overriddenByCSS=,content_assist_completion_replacement_background,content_assist_completion_replacement_foreground,content_assist_parameters_background,content_assist_parameters_foreground,content_assist_proposals_background,content_assist_proposals_foreground,java_bracket,java_comment_task_tag,java_default,java_doc_default,java_doc_keyword,java_doc_link,java_doc_tag,java_keyword,java_keyword_bold,java_keyword_return,java_keyword_return_bold,java_multi_line_comment,java_operator,java_single_line_comment,java_string,matchingBracketsColor,pf_coloring_argument,pf_coloring_assignment,pf_coloring_comment,pf_coloring_key,pf_coloring_value,semanticHighlighting.abstractClass.color,semanticHighlighting.abstractClass.enabled,semanticHighlighting.abstractMethodInvocation.color,semanticHighlighting.abstractMethodInvocation.enabled,semanticHighlighting.annotation.color,semanticHighlighting.annotation.enabled,semanticHighlighting.annotation.italic,semanticHighlighting.annotationElementReference.color,semanticHighlighting.annotationElementReference.enabled,semanticHighlighting.class.color,semanticHighlighting.class.enabled,semanticHighlighting.deprecatedMember.color,semanticHighlighting.deprecatedMember.enabled,semanticHighlighting.deprecatedMember.underline,semanticHighlighting.deprecatedMember.strikethrough,semanticHighlighting.enum.color,semanticHighlighting.enum.enabled,semanticHighlighting.enum.italic,semanticHighlighting.field.color,semanticHighlighting.field.enabled,semanticHighlighting.inheritedField.color,semanticHighlighting.inheritedMethodInvocation.color,semanticHighlighting.inheritedMethodInvocation.enabled,semanticHighlighting.interface.color,semanticHighlighting.interface.enabled,semanticHighlighting.localVariable.color,semanticHighlighting.localVariable.enabled,semanticHighlighting.localVariableDeclaration.color,semanticHighlighting.localVariableDeclaration.enabled,semanticHighlighting.localVariableDeclaration.bold,semanticHighlighting.method.color,semanticHighlighting.method.enabled,semanticHighlighting.methodDeclarationName.color,semanticHighlighting.methodDeclarationName.enabled,semanticHighlighting.methodDeclarationName.bold,semanticHighlighting.number.color,semanticHighlighting.number.enabled,semanticHighlighting.parameterVariable.color,semanticHighlighting.parameterVariable.enabled,semanticHighlighting.staticField.color,semanticHighlighting.staticField.enabled,semanticHighlighting.staticFinalField.color,semanticHighlighting.staticFinalField.enabled,semanticHighlighting.staticMethodInvocation.color,semanticHighlighting.staticMethodInvocation.enabled,semanticHighlighting.typeArgument.color,semanticHighlighting.typeArgument.enabled,semanticHighlighting.typeParameter.color,semanticHighlighting.typeParameter.enabled,semanticHighlighting.typeParameter.bold,semanticHighlighting.restrictedKeywords.color,semanticHighlighting.restrictedKeywords.bold,sourceHoverBackgroundColor, 30 | pf_coloring_argument=221,40,103 31 | pf_coloring_assignment=217,232,247 32 | pf_coloring_comment=128,128,128 33 | pf_coloring_key=217,232,247 34 | pf_coloring_value=23,198,163 35 | semanticHighlighting.abstractClass.color=62,171,230 36 | semanticHighlighting.abstractClass.enabled=true 37 | semanticHighlighting.abstractMethodInvocation.color=128,246,167 38 | semanticHighlighting.abstractMethodInvocation.enabled=true 39 | semanticHighlighting.annotation.color=160,160,160 40 | semanticHighlighting.annotation.enabled=true 41 | semanticHighlighting.annotation.italic=true 42 | semanticHighlighting.annotationElementReference.color=235,75,100 43 | semanticHighlighting.annotationElementReference.enabled=true 44 | semanticHighlighting.class.color=18,144,195 45 | semanticHighlighting.class.enabled=true 46 | semanticHighlighting.deprecatedMember.color=128,128,128 47 | semanticHighlighting.deprecatedMember.enabled=true 48 | semanticHighlighting.deprecatedMember.strikethrough=true 49 | semanticHighlighting.deprecatedMember.underline=false 50 | semanticHighlighting.enum.color=204,129,186 51 | semanticHighlighting.enum.enabled=true 52 | semanticHighlighting.enum.italic=true 53 | semanticHighlighting.field.color=102,225,248 54 | semanticHighlighting.field.enabled=true 55 | semanticHighlighting.inheritedField.color=143,143,191 56 | semanticHighlighting.inheritedMethodInvocation.color=205,246,104 57 | semanticHighlighting.inheritedMethodInvocation.enabled=true 58 | semanticHighlighting.interface.color=128,242,246 59 | semanticHighlighting.interface.enabled=true 60 | semanticHighlighting.localVariable.color=243,236,121 61 | semanticHighlighting.localVariable.enabled=true 62 | semanticHighlighting.localVariableDeclaration.bold=false 63 | semanticHighlighting.localVariableDeclaration.color=242,242,0 64 | semanticHighlighting.localVariableDeclaration.enabled=true 65 | semanticHighlighting.method.color=167,236,33 66 | semanticHighlighting.method.enabled=true 67 | semanticHighlighting.methodDeclarationName.bold=false 68 | semanticHighlighting.methodDeclarationName.color=30,181,64 69 | semanticHighlighting.methodDeclarationName.enabled=true 70 | semanticHighlighting.number.color=104,151,187 71 | semanticHighlighting.number.enabled=true 72 | semanticHighlighting.parameterVariable.color=121,171,255 73 | semanticHighlighting.parameterVariable.enabled=true 74 | semanticHighlighting.restrictedKeywords.bold=false 75 | semanticHighlighting.restrictedKeywords.color=204,108,29 76 | semanticHighlighting.staticField.color=141,218,248 77 | semanticHighlighting.staticField.enabled=true 78 | semanticHighlighting.staticFinalField.color=141,218,248 79 | semanticHighlighting.staticFinalField.enabled=true 80 | semanticHighlighting.staticMethodInvocation.color=150,236,63 81 | semanticHighlighting.staticMethodInvocation.enabled=true 82 | semanticHighlighting.typeArgument.color=177,102,218 83 | semanticHighlighting.typeArgument.enabled=true 84 | semanticHighlighting.typeParameter.bold=false 85 | semanticHighlighting.typeParameter.color=191,164,164 86 | semanticHighlighting.typeParameter.enabled=true 87 | sourceHoverBackgroundColor=68,68,68 88 | spelling_locale_initialized=true 89 | typefilter_migrated_2=true 90 | useAnnotationsPrefPage=true 91 | useQuickDiffPrefPage=true 92 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jsch.core.hasChangedDefaultWin32SshHome=true 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.apt.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.m2e.apt.mode=jdt_apt 3 | org.springframework.ide.eclipse.boot.customised=true 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.m2.downloadJavadoc=true 2 | eclipse.m2.updateIndexes=true 3 | eclipse.preferences.version=1 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.m2e.discovery.pref.projects= 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | knownEEFragments= 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs: -------------------------------------------------------------------------------- 1 | STS4BootMarkerIndicationColor=56,84,26 2 | eclipse.preferences.version=1 3 | spellingEnabled=false 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | platformState=1006274300462441 3 | quickStart=false 4 | tipsAndTricks=true 5 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.navigator.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.ui.navigator.ProjectExplorer.filterActivation=\:org.eclipse.jdt.java.ui.filters.HidePackageDeclaration\:org.eclipse.jdt.java.ui.filters.HideOutputFolder\:org.eclipse.buildship.ui.navigator.filter.gradle.subProject\:org.eclipse.ui.navigator.resources.nested.HideTopLevelProjectIfNested\:org.eclipse.buildship.ui.navigator.filter.gradle.buildfolder\:org.eclipse.jdt.java.ui.filters.HideEmptyInnerPackages\:org.eclipse.jdt.java.ui.filters.HideInnerClassFiles\:org.eclipse.ui.navigator.resources.filters.startsWithDot\:org.eclipse.jdt.java.ui.filters.HideEmptyLibraryContainers\:org.eclipse.jdt.java.ui.filters.HideImportDeclaration\:org.eclipse.jdt.java.ui.filters.HideSyntheticMembers\:org.eclipse.ui.navigator.resources.nested.HideFolderWhenProjectIsShownAsNested\: 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | showIntro=false 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs: -------------------------------------------------------------------------------- 1 | //org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false 2 | OPEN_ON_SINGLE_CLICK=true 3 | PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery; 4 | eclipse.preferences.version=1 5 | org.eclipse.compare.contentmergeviewer.TextMergeViewer=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 6 | org.eclipse.debug.ui.DetailPaneFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 7 | org.eclipse.debug.ui.MemoryViewTableFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 8 | org.eclipse.debug.ui.consoleFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 9 | org.eclipse.egit.ui.CommitMessageEditorFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 10 | org.eclipse.egit.ui.CommitMessageFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 11 | org.eclipse.egit.ui.DiffHeadlineFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 12 | org.eclipse.jdt.internal.ui.compare.JavaMergeViewer=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 13 | org.eclipse.jdt.internal.ui.compare.PropertiesFileMergeViewer=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 14 | org.eclipse.jdt.ui.PropertiesFileEditor.textfont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 15 | org.eclipse.jdt.ui.editors.textfont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 16 | org.eclipse.jface.textfont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 17 | org.eclipse.mylyn.wikitext.ui.presentation.textFont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 18 | org.eclipse.pde.internal.ui.compare.ManifestContentMergeViewer=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 19 | org.eclipse.pde.internal.ui.compare.PluginContentMergeViewer=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 20 | org.eclipse.ui.commands=\r\n 21 | org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=41,41,41 22 | org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=43,44,45 23 | org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=204,204,204 24 | org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=41,41,41 25 | org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=43,44,45 26 | org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR=221,221,221 27 | org.eclipse.ui.workbench.INACTIVE_TAB_BG_END=49,53,56 28 | org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=59,64,66 29 | org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR=187,187,187 30 | org.eclipse.wst.sse.ui.textfont=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 31 | terminal.views.view.font.definition=1|Consolas|14.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; 32 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.urischeme.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | processedSchemes=,eclipse+command,eclipse+mpc 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.boot.dash.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | toggle-filters\:enableRegexFilter=false 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.boot.launch.prefs: -------------------------------------------------------------------------------- 1 | cglib.breakpoint.warning.disabled=true 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springframework.ide.eclipse.imports.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.springframework.ide.eclipse.imports.importStaticsInstanceScope=true 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.core.runtime/.settings/org.springsource.ide.eclipse.commons.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | egit.pref.fixed.core_autoIgnoreDerivedResources=true 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.core/.launches/UserApplication.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.core/.launches/emails - EmailsApplication.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.core/.launches/user - UserApplication.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 |
8 |
9 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | .org.eclipse.egit.core.cmp 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1014253638.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1014253638.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1017792075.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1017792075.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1122026794.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1122026794.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1136980607.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134TAutomatic-Module-Namespring.boot.starter.tomcat|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1157159980.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1157159980.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1268888676.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1268888676.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1333348491.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1333348491.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1389031549.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1389031549.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/143075970.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/143075970.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1441315694.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1441315694.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1446052723.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1446052723.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1571272192.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1571272192.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1608857099.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1608857099.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1617771021.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1617771021.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1624327898.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1624327898.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1669747098.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1669747098.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1757683800.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1757683800.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/177320718.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/177320718.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1822302255.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1822302255.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/1865797976.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/1865797976.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/186785895.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/186785895.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2038880912.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2038880912.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2060836458.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2060836458.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2107291828.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2107291828.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2157145924.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2157145924.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2220496204.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2220496204.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2222446539.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2222446539.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2264430283.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2264430283.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2302304485.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2302304485.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2306685139.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134QAutomatic-Module-Namespring.boot.starter.aop|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/235833811.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/235833811.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2375857690.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2375857690.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2404102007.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2404102007.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2408428262.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2408428262.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2422143596.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2422143596.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2428685153.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134RAutomatic-Module-Namespring.boot.starter.test|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2459031939.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2459031939.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2489466651.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2489466651.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2517885936.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2517885936.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2534857858.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2534857858.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2536483051.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2536483051.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2646984464.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2646984464.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2662374350.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2662374350.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2734996195.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134QAutomatic-Module-Namespring.boot.starter.web|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2765443896.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2765443896.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2825678617.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2825678617.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2828470734.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2828470734.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/293784041.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/293784041.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2939323882.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2939323882.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2943408945.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2943408945.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2948144456.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2948144456.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2951433177.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134RAutomatic-Module-Namespring.boot.starter.jdbc|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2970062311.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2970062311.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/2987563753.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/2987563753.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3117414836.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3117414836.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3140087588.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3140087588.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3178401304.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3178401304.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3197811984.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134RAutomatic-Module-Namespring.boot.starter.json|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3221222975.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134MAutomatic-Module-Namespring.boot.starter|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3245071528.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3245071528.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3323609463.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3323609463.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3337130977.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3337130977.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3346603387.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3346603387.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3396148133.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3396148133.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3461077512.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3461077512.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3523168415.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3523168415.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3530928694.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3530928694.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3540708804.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3540708804.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3606290086.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3606290086.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3616545414.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3616545414.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3686780587.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3686780587.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/374509744.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134UAutomatic-Module-Namespring.boot.starter.logging|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3770791485.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134RAutomatic-Module-Namespring.boot.starter.amqp|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3773852493.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3773852493.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3779047288.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3779047288.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3853806424.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3853806424.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3885496776.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3885496776.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3890051721.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3890051721.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/391175549.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/391175549.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3920945044.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3920945044.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/3976272786.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/3976272786.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4011441486.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/4011441486.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/409203493.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/409203493.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4093589822.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/4093589822.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4130148272.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134XAutomatic-Module-Namespring.boot.starter.validation|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/414131848.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/414131848.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4203813192.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/4203813192.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4216880375.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/4216880375.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4227617073.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/4227617073.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/4274640178.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134VAutomatic-Module-Namespring.boot.starter.data.jpa|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/432068398.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/432068398.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/441170761.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/441170761.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/441311435.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/441311435.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/457763599.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/457763599.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/508693785.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/508693785.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/550173470.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/550173470.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/675830313.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/675830313.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/690987185.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/690987185.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/699216014.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/699216014.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/700489775.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/700489775.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/70535075.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/70535075.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/788926183.index: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134RAutomatic-Module-Namespring.boot.starter.mail|1 2 | moduleDecl0 -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/79047488.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/79047488.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/820523053.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/820523053.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/821524172.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/821524172.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/829185607.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/829185607.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/83089676.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/83089676.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/837938683.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/837938683.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/891015177.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/891015177.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/904733381.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/904733381.index -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt: -------------------------------------------------------------------------------- 1 | java -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt: -------------------------------------------------------------------------------- 1 | INDEX VERSION 1.134+C:\Users\Windows Lite BR\Documents\SpringProjects\.metadata\.plugins\org.eclipse.jdt.core 2 | 3885496776.index 3 | 1017792075.index 4 | 2825678617.index 5 | 788926183.index 6 | 690987185.index 7 | 2517885936.index 8 | 699216014.index 9 | 700489775.index 10 | 177320718.index 11 | 3197811984.index 12 | 4274640178.index 13 | 186785895.index 14 | 3396148133.index 15 | 821524172.index 16 | 414131848.index 17 | 2734996195.index 18 | 441311435.index 19 | 2107291828.index 20 | 432068398.index 21 | 2264430283.index 22 | 3773852493.index 23 | 3890051721.index 24 | 4011441486.index 25 | 3540708804.index 26 | 1571272192.index 27 | 3523168415.index 28 | 3779047288.index 29 | 3606290086.index 30 | 2536483051.index 31 | 1757683800.index 32 | 837938683.index 33 | 3616545414.index 34 | 2408428262.index 35 | 3323609463.index 36 | 2828470734.index 37 | 2038880912.index 38 | 235833811.index 39 | 293784041.index 40 | 1014253638.index 41 | 2375857690.index 42 | 3920945044.index 43 | 829185607.index 44 | 675830313.index 45 | 1136980607.index 46 | 1389031549.index 47 | 1333348491.index 48 | 3117414836.index 49 | 2306685139.index 50 | 4093589822.index 51 | 1446052723.index 52 | 1122026794.index 53 | 3976272786.index 54 | 3221222975.index 55 | 83089676.index 56 | 2422143596.index 57 | 391175549.index 58 | 3770791485.index 59 | 2765443896.index 60 | 3686780587.index 61 | 2646984464.index 62 | 2951433177.index 63 | 2060836458.index 64 | 2459031939.index 65 | 2222446539.index 66 | 441170761.index 67 | 2939323882.index 68 | 2157145924.index 69 | 1617771021.index 70 | 1865797976.index 71 | 3140087588.index 72 | 3178401304.index 73 | 891015177.index 74 | 3337130977.index 75 | 550173470.index 76 | 3461077512.index 77 | 2948144456.index 78 | 1608857099.index 79 | 4227617073.index 80 | 2404102007.index 81 | 70535075.index 82 | 79047488.index 83 | 2534857858.index 84 | 4216880375.index 85 | 3530928694.index 86 | 1822302255.index 87 | 3245071528.index 88 | 2943408945.index 89 | 4130148272.index 90 | 508693785.index 91 | 1441315694.index 92 | 457763599.index 93 | 3853806424.index 94 | 1157159980.index 95 | 1624327898.index 96 | 1669747098.index 97 | 2428685153.index 98 | 820523053.index 99 | 2662374350.index 100 | 1268888676.index 101 | 409203493.index 102 | 2970062311.index 103 | 143075970.index 104 | 904733381.index 105 | 2220496204.index 106 | 4203813192.index 107 | 2489466651.index 108 | 374509744.index 109 | 2987563753.index 110 | 3346603387.index 111 | 2302304485.index 112 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 | 10 |
11 |
12 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.launching/.install.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 |
26 |
27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 |
36 |
37 | 38 | 39 |
40 |
41 | 42 | 43 | 44 | 45 |
46 |
47 | 48 | 49 |
50 |
51 | 52 | 53 | 54 | 55 | 56 |
57 |
58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 66 |
67 |
68 | 69 | 70 | 71 | 72 | 73 |
74 |
75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/emails/2024/6/22/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/emails/2024/6/22/refactorings.index: -------------------------------------------------------------------------------- 1 | 1717215272792 Delete element 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/5/22/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/5/22/refactorings.index: -------------------------------------------------------------------------------- 1 | 1717198056193 Delete elements 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/22/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/22/refactorings.index: -------------------------------------------------------------------------------- 1 | 1717203351070 Delete element 2 | 1717208317474 Delete element 3 | 1717208320881 Delete element 4 | 1717210344503 Delete element 5 | 1717265867130 Delete element 6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/23/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/23/refactorings.index: -------------------------------------------------------------------------------- 1 | 1717353010328 Delete element 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/24/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/24/refactorings.index: -------------------------------------------------------------------------------- 1 | 1718471445311 Delete element 2 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/25/refactorings.history: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/user/2024/6/25/refactorings.index: -------------------------------------------------------------------------------- 1 | 1718549320964 Delete element 2 | 1718549327550 Delete element 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 |
7 |
8 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 |
7 |
8 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.core/emails.lifecyclemapping: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.m2e.core/emails.lifecyclemapping -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.core/user.lifecyclemapping: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.m2e.core/user.lifecyclemapping -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties: -------------------------------------------------------------------------------- 1 | #Fri May 31 22:22:07 BRT 2024 2 | com.ms\:user\:jar\:\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\user\\target\\classes 3 | com.ms\:emails\:pom\:\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\emails\\pom.xml 4 | com.ms\:emails\:jar\:\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\emails\\target\\classes 5 | com.ms\:user\:pom\:\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\user\\pom.xml 6 | com.ms\:emails\:jar\:tests\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\emails\\target\\test-classes 7 | com.ms\:user\:jar\:tests\:0.0.1-SNAPSHOT=C\:\\Users\\Windows Lite BR\\Documents\\SpringProjects\\user\\target\\test-classes 8 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.jdt/emails.container: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.m2e.jdt/emails.container -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.jdt/user.container: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/.metadata/.plugins/org.eclipse.m2e.jdt/user.container -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.m2e.logback/logback.2.6.0.20240217-1525.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %date [%thread] %-5level %logger{35} - %msg%n 5 | 6 | 7 | ${org.eclipse.m2e.log.console.threshold:-OFF} 8 | 9 | 10 | 11 | 12 | ${org.eclipse.m2e.log.dir}/0.log 13 | 14 | ${org.eclipse.m2e.log.dir}/%i.log 15 | 1 16 | 10 17 | 18 | 19 | 10MB 20 | 21 | 22 | %date [%thread] %-5level %logger{35} - %msg%n 23 | 24 | 25 | 26 | 27 | 28 | WARN 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties: -------------------------------------------------------------------------------- 1 | #Cached timestamps 2 | #Tue Jul 16 23:20:20 BRT 2024 3 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties: -------------------------------------------------------------------------------- 1 | #Sun Jun 09 11:59:02 BRT 2024 2 | 0.Icon=C\:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico 3 | 0.Path=C\:\\Program Files\\Git\\bin\\sh.exe 4 | 0.Translate=true 5 | 0.Args=--login -i 6 | 0.Name=Git Bash 7 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
45 | 46 | 47 | 48 | 49 | 50 |
51 |
52 |
53 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.wildwebdeveloper.xml/system-catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Mon Jun 03 09:37:55 BRT 2024 3 | task-tag-projects-already-scanned=emails,user 4 | -------------------------------------------------------------------------------- /.metadata/version.ini: -------------------------------------------------------------------------------- 1 | #Thu Aug 15 12:33:14 BRT 2024 2 | org.eclipse.core.runtime=2 3 | org.eclipse.platform=4.31.100.v20240229-0520 4 | -------------------------------------------------------------------------------- /Front/ms-front/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /Front/ms-front/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. 2 | 3 | # Compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | /bazel-out 8 | 9 | # Node 10 | /node_modules 11 | npm-debug.log 12 | yarn-error.log 13 | 14 | # IDEs and editors 15 | .idea/ 16 | .project 17 | .classpath 18 | .c9/ 19 | *.launch 20 | .settings/ 21 | *.sublime-workspace 22 | 23 | # Visual Studio Code 24 | .vscode/* 25 | !.vscode/settings.json 26 | !.vscode/tasks.json 27 | !.vscode/launch.json 28 | !.vscode/extensions.json 29 | .history/* 30 | 31 | # Miscellaneous 32 | /.angular/cache 33 | .sass-cache/ 34 | /connect.lock 35 | /coverage 36 | /libpeerconnection.log 37 | testem.log 38 | /typings 39 | 40 | # System files 41 | .DS_Store 42 | Thumbs.db 43 | -------------------------------------------------------------------------------- /Front/ms-front/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Front/ms-front/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 3 | "version": "0.2.0", 4 | "configurations": [ 5 | { 6 | "name": "ng serve", 7 | "type": "chrome", 8 | "request": "launch", 9 | "preLaunchTask": "npm: start", 10 | "url": "http://localhost:4200/" 11 | }, 12 | { 13 | "name": "ng test", 14 | "type": "chrome", 15 | "request": "launch", 16 | "preLaunchTask": "npm: test", 17 | "url": "http://localhost:9876/debug.html" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /Front/ms-front/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 3 | "version": "2.0.0", 4 | "tasks": [ 5 | { 6 | "type": "npm", 7 | "script": "start", 8 | "isBackground": true, 9 | "problemMatcher": { 10 | "owner": "typescript", 11 | "pattern": "$tsc", 12 | "background": { 13 | "activeOnStart": true, 14 | "beginsPattern": { 15 | "regexp": "(.*?)" 16 | }, 17 | "endsPattern": { 18 | "regexp": "bundle generation complete" 19 | } 20 | } 21 | } 22 | }, 23 | { 24 | "type": "npm", 25 | "script": "test", 26 | "isBackground": true, 27 | "problemMatcher": { 28 | "owner": "typescript", 29 | "pattern": "$tsc", 30 | "background": { 31 | "activeOnStart": true, 32 | "beginsPattern": { 33 | "regexp": "(.*?)" 34 | }, 35 | "endsPattern": { 36 | "regexp": "bundle generation complete" 37 | } 38 | } 39 | } 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /Front/ms-front/README.md: -------------------------------------------------------------------------------- 1 | # MsFront 2 | 3 | This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.8. 4 | 5 | ## Development server 6 | 7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. 8 | 9 | ## Code scaffolding 10 | 11 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. 12 | 13 | ## Build 14 | 15 | Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. 16 | 17 | ## Running unit tests 18 | 19 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). 20 | 21 | ## Running end-to-end tests 22 | 23 | Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. 24 | 25 | ## Further help 26 | 27 | To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. 28 | -------------------------------------------------------------------------------- /Front/ms-front/angular.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 3 | "version": 1, 4 | "newProjectRoot": "projects", 5 | "projects": { 6 | "ms-front": { 7 | "projectType": "application", 8 | "schematics": { 9 | "@schematics/angular:component": { 10 | "style": "scss" 11 | } 12 | }, 13 | "root": "", 14 | "sourceRoot": "src", 15 | "prefix": "app", 16 | "architect": { 17 | "build": { 18 | "builder": "@angular-devkit/build-angular:application", 19 | "options": { 20 | "outputPath": "dist/ms-front", 21 | "index": "src/index.html", 22 | "browser": "src/main.ts", 23 | "polyfills": [ 24 | "zone.js" 25 | ], 26 | "tsConfig": "tsconfig.app.json", 27 | "inlineStyleLanguage": "scss", 28 | "assets": [ 29 | "src/favicon.ico", 30 | "src/assets" 31 | ], 32 | "styles": [ 33 | "src/styles.scss" 34 | ], 35 | "scripts": [] 36 | }, 37 | "configurations": { 38 | "production": { 39 | "budgets": [ 40 | { 41 | "type": "initial", 42 | "maximumWarning": "500kb", 43 | "maximumError": "1mb" 44 | }, 45 | { 46 | "type": "anyComponentStyle", 47 | "maximumWarning": "2kb", 48 | "maximumError": "4kb" 49 | } 50 | ], 51 | "outputHashing": "all" 52 | }, 53 | "development": { 54 | "optimization": false, 55 | "extractLicenses": false, 56 | "sourceMap": true 57 | } 58 | }, 59 | "defaultConfiguration": "production" 60 | }, 61 | "serve": { 62 | "builder": "@angular-devkit/build-angular:dev-server", 63 | "configurations": { 64 | "production": { 65 | "buildTarget": "ms-front:build:production" 66 | }, 67 | "development": { 68 | "buildTarget": "ms-front:build:development" 69 | } 70 | }, 71 | "defaultConfiguration": "development" 72 | }, 73 | "extract-i18n": { 74 | "builder": "@angular-devkit/build-angular:extract-i18n", 75 | "options": { 76 | "buildTarget": "ms-front:build" 77 | } 78 | }, 79 | "test": { 80 | "builder": "@angular-devkit/build-angular:karma", 81 | "options": { 82 | "polyfills": [ 83 | "zone.js", 84 | "zone.js/testing" 85 | ], 86 | "tsConfig": "tsconfig.spec.json", 87 | "inlineStyleLanguage": "scss", 88 | "assets": [ 89 | "src/favicon.ico", 90 | "src/assets" 91 | ], 92 | "styles": [ 93 | "src/styles.scss" 94 | ], 95 | "scripts": [] 96 | } 97 | } 98 | } 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /Front/ms-front/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms-front", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "ng": "ng", 6 | "start": "ng serve", 7 | "build": "ng build", 8 | "watch": "ng build --watch --configuration development", 9 | "test": "ng test" 10 | }, 11 | "private": true, 12 | "dependencies": { 13 | "@angular/animations": "^18.1.1", 14 | "@angular/common": "^18.1.1", 15 | "@angular/compiler": "^18.1.1", 16 | "@angular/core": "^18.1.1", 17 | "@angular/forms": "^18.1.1", 18 | "@angular/platform-browser": "^18.1.1", 19 | "@angular/platform-browser-dynamic": "^18.1.1", 20 | "@angular/router": "^18.1.1", 21 | "@ng-bootstrap/ng-bootstrap": "^16.0.0", 22 | "@popperjs/core": "^2.11.8", 23 | "bootstrap": "^5.3.2", 24 | "cors": "^2.8.5", 25 | "rxjs": "~7.8.0", 26 | "tslib": "^2.3.0", 27 | "zone.js": "~0.14.3" 28 | }, 29 | "devDependencies": { 30 | "@angular-devkit/build-angular": "^18.1.1", 31 | "@angular/cli": "^18.1.1", 32 | "@angular/compiler-cli": "^18.1.1", 33 | "@angular/localize": "^18.1.1", 34 | "@types/jasmine": "~5.1.0", 35 | "jasmine-core": "~5.1.0", 36 | "karma": "~6.4.0", 37 | "karma-chrome-launcher": "~3.2.0", 38 | "karma-coverage": "~2.2.0", 39 | "karma-jasmine": "~5.1.0", 40 | "karma-jasmine-html-reporter": "~2.1.0", 41 | "typescript": "~5.4.2" 42 | } 43 | } -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/app/app.component.scss -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing'; 2 | import { AppComponent } from './app.component'; 3 | 4 | describe('AppComponent', () => { 5 | beforeEach(async () => { 6 | await TestBed.configureTestingModule({ 7 | imports: [AppComponent], 8 | }).compileComponents(); 9 | }); 10 | 11 | it('should create the app', () => { 12 | const fixture = TestBed.createComponent(AppComponent); 13 | const app = fixture.componentInstance; 14 | expect(app).toBeTruthy(); 15 | }); 16 | 17 | it(`should have the 'ms-front' title`, () => { 18 | const fixture = TestBed.createComponent(AppComponent); 19 | const app = fixture.componentInstance; 20 | expect(app.title).toEqual('ms-front'); 21 | }); 22 | 23 | it('should render title', () => { 24 | const fixture = TestBed.createComponent(AppComponent); 25 | fixture.detectChanges(); 26 | const compiled = fixture.nativeElement as HTMLElement; 27 | expect(compiled.querySelector('h1')?.textContent).toContain('Hello, ms-front'); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterOutlet } from '@angular/router'; 3 | import {} from '@angular/common/http'; 4 | @Component({ 5 | selector: 'app-root', 6 | standalone: true, 7 | imports: [ 8 | RouterOutlet, 9 | ], 10 | templateUrl: './app.component.html', 11 | styleUrl: './app.component.scss' 12 | }) 13 | export class AppComponent { 14 | title = 'ms-front'; 15 | } 16 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | import { LoginComponent } from './pages/login/login.component'; 3 | import { ListUsersComponent } from './pages/list-users/list-users.component'; 4 | import { BalanceComponent } from './pages/balance/balance.component'; 5 | 6 | export const routes: Routes = [ 7 | { 8 | path: "login", 9 | component: LoginComponent 10 | }, 11 | { 12 | path: "list-users", 13 | component: ListUsersComponent 14 | }, 15 | { 16 | path: "balance", 17 | component: BalanceComponent 18 | } 19 | ]; 20 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/balance-user-form/balance-user-form.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
UserBalanceExchanges
{{ user.userId }}{{ user.name }}{{ user.email }}{{ user.moeda }}{{ user.saldo }}
20 |
21 |
22 |
23 | 24 |
25 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/balance-user-form/balance-user-form.component.scss: -------------------------------------------------------------------------------- 1 | form { 2 | max-width: 400px; 3 | margin: 0 auto; 4 | } 5 | 6 | div { 7 | margin-bottom: 10px; 8 | } 9 | 10 | label { 11 | display: block; 12 | margin-bottom: 5px; 13 | } 14 | 15 | input { 16 | width: 100%; 17 | padding: 8px; 18 | box-sizing: border-box; 19 | } 20 | 21 | button { 22 | width: 100%; 23 | padding: 10px; 24 | background-color: #007bff; 25 | color: white; 26 | border: none; 27 | cursor: pointer; 28 | } 29 | 30 | button:disabled { 31 | background-color: #d6d6d6; 32 | } 33 | 34 | .button-depositar{ 35 | margin-right: 90%; 36 | 37 | } 38 | .button-depositar button{ 39 | border-radius: 10px; 40 | transition: ease-in-out 0.5s; 41 | } 42 | .button-depositar button:hover{ 43 | background-color: #629ed6; 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/balance-user-form/balance-user-form.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { BalanceUserFormComponent } from './balance-user-form.component'; 4 | 5 | describe('BalanceUserFormComponent', () => { 6 | let component: BalanceUserFormComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [BalanceUserFormComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(BalanceUserFormComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/balance-user-form/balance-user-form.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgFor } from '@angular/common'; 3 | import { Router } from '@angular/router'; 4 | 5 | interface User { 6 | userId: string; 7 | name: string; 8 | email: string; 9 | moeda: string; 10 | saldo: number; 11 | } 12 | 13 | @Component({ 14 | selector: 'app-balance-user-form', 15 | standalone: true, 16 | imports: [NgFor], 17 | templateUrl: './balance-user-form.component.html', 18 | styleUrl: './balance-user-form.component.scss' 19 | }) 20 | export class BalanceUserFormComponent { 21 | users: User[] = []; 22 | 23 | constructor(private router: Router) {} 24 | 25 | goToLogin(){ 26 | this.router.navigate(['/login']); 27 | } 28 | getUsers(){ 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/create-user-form/create-user-form.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 | 6 |
7 | 8 |
9 | 10 | 11 |
12 | 13 |
14 | 15 | 16 |
17 | 18 | Exemplo USD-BRL 19 |
20 | 21 | Balance: 22 |
23 | $ 24 | 25 |
26 | 27 |
28 | 29 |
30 |
31 | 32 | 33 |
34 |
35 |
36 |
37 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/create-user-form/create-user-form.component.scss: -------------------------------------------------------------------------------- 1 | .form-container{ 2 | max-width: 600px; 3 | background: white; 4 | width: 100%; 5 | padding: 20px; 6 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 7 | border-radius: 10px; 8 | 9 | } 10 | .div-form{ 11 | height: 100%; 12 | margin-top: 10%; 13 | } 14 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/create-user-form/create-user-form.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { CreateUserFormComponent } from './create-user-form.component'; 4 | 5 | describe('CreateUserFormComponent', () => { 6 | let component: CreateUserFormComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [CreateUserFormComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(CreateUserFormComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/create-user-form/create-user-form.component.ts: -------------------------------------------------------------------------------- 1 | import { HttpClient } from '@angular/common/http'; 2 | import { Component } from '@angular/core'; 3 | import { FormsModule } from '@angular/forms'; 4 | import { Router } from '@angular/router'; 5 | import { tap } from 'rxjs/operators'; 6 | 7 | @Component({ 8 | selector: 'app-create-user-form', 9 | standalone: true, 10 | imports: [ 11 | FormsModule, 12 | ], 13 | templateUrl: './create-user-form.component.html', 14 | styleUrl: './create-user-form.component.scss' 15 | }) 16 | export class CreateUserFormComponent { 17 | user = { 18 | name: '', 19 | email: '', 20 | moeda: '', 21 | saldo: 0.00 22 | 23 | }; 24 | 25 | constructor(private http: HttpClient, private router: Router) {} 26 | 27 | onSubmit() { 28 | //vendo se resolve o problema do double null 29 | this.user.saldo = parseFloat(this.user.saldo.toString()); 30 | 31 | console.log('Usuário cadastrado:', this.user); 32 | 33 | this.http.post('http://localhost:8081/users', this.user) 34 | .pipe( 35 | tap(response => { 36 | console.log('Resposta do Servidor: ', response); 37 | }) 38 | ) 39 | .subscribe({ 40 | error: error => { 41 | console.error('Erro ao cadastrar usuário: ', error); 42 | } 43 | }); 44 | } 45 | goToRegisteredUsers(){ 46 | this.router.navigate(['/list-users']); 47 | } 48 | goToBalance(){ 49 | this.router.navigate(['/balance']); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/get-users-form/get-users-form.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
NameEmailMoedaSaldo
{{ user.name }}{{ user.email }}{{ user.moeda }}{{ user.saldo }}
21 |
22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/get-users-form/get-users-form.component.scss: -------------------------------------------------------------------------------- 1 | .form-container{ 2 | max-width: 1000px; 3 | background: white; 4 | width: 100%; 5 | padding: 20px; 6 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 7 | border-radius: 10px; 8 | } 9 | .div-table{ 10 | height: 100%; 11 | margin-top: 10%; 12 | } 13 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/get-users-form/get-users-form.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { GetUsersFormComponent } from './get-users-form.component'; 4 | 5 | describe('GetUsersFormComponent', () => { 6 | let component: GetUsersFormComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [GetUsersFormComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(GetUsersFormComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/components/get-users-form/get-users-form.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { HttpClient } from '@angular/common/http'; 3 | import { NgFor } from '@angular/common'; 4 | import { Router } from '@angular/router'; 5 | import { tap } from 'rxjs/operators'; 6 | 7 | interface User { 8 | userId: string; 9 | name: string; 10 | email: string; 11 | moeda: string; 12 | saldo: number; 13 | } 14 | 15 | @Component({ 16 | selector: 'app-get-users-form', 17 | standalone: true, 18 | imports: [NgFor], 19 | templateUrl: './get-users-form.component.html', 20 | styleUrl: './get-users-form.component.scss' 21 | }) 22 | 23 | export class GetUsersFormComponent implements OnInit{ 24 | 25 | constructor(private http: HttpClient, private router: Router) {} 26 | 27 | users: User[] = []; 28 | 29 | ngOnInit() { 30 | this.getUsers(); 31 | } 32 | 33 | getUsers() { 34 | this.http.get('http://localhost:8081/users') 35 | .pipe( 36 | tap(response => { 37 | this.users = response; 38 | }) 39 | ) 40 | .subscribe({ 41 | error: error => { 42 | console.error('Erro ao buscar usuários:', error); 43 | } 44 | }); 45 | } 46 | 47 | goToLogin(){ 48 | this.router.navigate(['/login']); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/balance/balance.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/balance/balance.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/app/pages/balance/balance.component.scss -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/balance/balance.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { BalanceComponent } from './balance.component'; 4 | 5 | describe('BalanceComponent', () => { 6 | let component: BalanceComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [BalanceComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(BalanceComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/balance/balance.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { BalanceUserFormComponent } from '../../components/balance-user-form/balance-user-form.component'; 3 | 4 | @Component({ 5 | selector: 'app-balance', 6 | standalone: true, 7 | imports: [BalanceUserFormComponent], 8 | templateUrl: './balance.component.html', 9 | styleUrl: './balance.component.scss' 10 | }) 11 | export class BalanceComponent { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/list-users/list-users.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/list-users/list-users.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/app/pages/list-users/list-users.component.scss -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/list-users/list-users.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { ListUsersComponent } from './list-users.component'; 4 | 5 | describe('ListUsersComponent', () => { 6 | let component: ListUsersComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [ListUsersComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(ListUsersComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/list-users/list-users.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { GetUsersFormComponent } from '../../components/get-users-form/get-users-form.component'; 3 | 4 | @Component({ 5 | selector: 'app-list-users', 6 | standalone: true, 7 | imports: [GetUsersFormComponent], 8 | templateUrl: './list-users.component.html', 9 | styleUrl: './list-users.component.scss' 10 | }) 11 | export class ListUsersComponent { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/login/login.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/login/login.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/app/pages/login/login.component.scss -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/login/login.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { LoginComponent } from './login.component'; 4 | 5 | describe('LoginComponent', () => { 6 | let component: LoginComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | imports: [LoginComponent] 12 | }) 13 | .compileComponents(); 14 | 15 | fixture = TestBed.createComponent(LoginComponent); 16 | component = fixture.componentInstance; 17 | fixture.detectChanges(); 18 | }); 19 | 20 | it('should create', () => { 21 | expect(component).toBeTruthy(); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /Front/ms-front/src/app/pages/login/login.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { CreateUserFormComponent } from '../../components/create-user-form/create-user-form.component'; 3 | 4 | @Component({ 5 | selector: 'app-login', 6 | standalone: true, 7 | imports: [ 8 | CreateUserFormComponent, 9 | ], 10 | templateUrl: './login.component.html', 11 | styleUrl: './login.component.scss' 12 | }) 13 | export class LoginComponent { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Front/ms-front/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/assets/.gitkeep -------------------------------------------------------------------------------- /Front/ms-front/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Front/ms-front/src/favicon.ico -------------------------------------------------------------------------------- /Front/ms-front/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MsFront 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Front/ms-front/src/main.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import { bootstrapApplication } from '@angular/platform-browser'; 4 | import { appConfig } from './app/app.config'; 5 | import { AppComponent } from './app/app.component'; 6 | 7 | bootstrapApplication(AppComponent, appConfig) 8 | .catch((err) => console.error(err)); 9 | -------------------------------------------------------------------------------- /Front/ms-front/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | /* Importing Bootstrap SCSS file. */ 4 | @import 'bootstrap/scss/bootstrap'; 5 | 6 | body{ 7 | background-color: #023047 8 | } 9 | -------------------------------------------------------------------------------- /Front/ms-front/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [ 7 | "@angular/localize" 8 | ] 9 | }, 10 | "files": [ 11 | "src/main.ts" 12 | ], 13 | "include": [ 14 | "src/**/*.d.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /Front/ms-front/tsconfig.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "compileOnSave": false, 4 | "compilerOptions": { 5 | "outDir": "./dist/out-tsc", 6 | "strict": true, 7 | "noImplicitOverride": true, 8 | "noPropertyAccessFromIndexSignature": true, 9 | "noImplicitReturns": true, 10 | "noFallthroughCasesInSwitch": true, 11 | "skipLibCheck": true, 12 | "esModuleInterop": true, 13 | "sourceMap": true, 14 | "declaration": false, 15 | "experimentalDecorators": true, 16 | "moduleResolution": "node", 17 | "importHelpers": true, 18 | "target": "ES2022", 19 | "module": "ES2022", 20 | "useDefineForClassFields": false, 21 | "lib": [ 22 | "ES2022", 23 | "dom" 24 | ] 25 | }, 26 | "angularCompilerOptions": { 27 | "enableI18nLegacyMessageIdFormat": false, 28 | "strictInjectionParameters": true, 29 | "strictInputAccessModifiers": true, 30 | "strictTemplates": true 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Front/ms-front/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/spec", 6 | "types": [ 7 | "jasmine", 8 | "@angular/localize" 9 | ] 10 | }, 11 | "include": [ 12 | "src/**/*.spec.ts", 13 | "src/**/*.d.ts" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 📊 API to convert currency 2 | - This microservice allows users to register with information such as name, email, preferred currency (USD, EUR, etc.) and balance in reais (BRL). After registration, the system converts the balance into the currency chosen by the user using an external exchange API. An email is then sent to the user containing the converted balance in the specified currencies. 3 | 4 | ## To start 5 | - 1º Install Java 6 | - 2º Install PostgreSQL 7 | - 3º Install Postman or other. 8 | - 4º Install IDE Spring Tools Suite 9 | - 5º Import project and run. 10 | 11 | ## 📈 Roadmap 12 | - 1º Flow organization and class diagram. 13 | - 2º Creating the project using Spring Initializr and adding the necessary dependencies. 14 | - 3º Creation of the user microservice. 15 | - 4º Creation of the email microservice. 16 | - 5º RabbitMQ configuration. 17 | - 6º Google SMTP configuration. 18 | - 7º Consumption of the external API for currency conversion. 19 | 20 | ## 🚀 Features 21 | - Create and save the user, and then send the email. 22 | - Deposit to the user's balance. 23 | - Get all users. 24 | 25 | ## 📋 Class Diagram 26 | ![ConvertCoinAPI drawio](https://github.com/user-attachments/assets/57ca33a7-b2c7-4aad-a4f1-00d2a2923484) 27 | 28 | ## 🚦 Flowchart 29 | - This is the main flow of microservices where user creation occurs, communication between services using the broker (RabbitMQ), consumption of the external API, sending the email and all data is saved in PostgreSQL. 30 | ![Flowchart Create User](https://github.com/user-attachments/assets/4b88f3ee-89c2-4bc3-a89a-14aa794f8fe6) 31 | 32 | ## 🔗 Routes 33 | - POST /users -> Create user 34 | 35 | ![Create User](https://github.com/user-attachments/assets/95650414-5ac1-436d-8b58-a71260cbdd52) 36 | - GET /users -> Get all users 37 | - GET /email/{email} -> Get user by e-mail 38 | - POST /deposit/{email}/{balance} -> Deposit money to a client 39 | 40 | ## ✒️ Autor 41 | 42 | * [**Romulo Matheus**](https://github.com/Romulomdr) - *At the moment developer Java back-end* [](https://www.linkedin.com/in/romulo-dantasmdr/) 43 | -------------------------------------------------------------------------------- /Testes/teste.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/Testes/teste.java -------------------------------------------------------------------------------- /emails/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /emails/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # https://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.1 18 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip 19 | -------------------------------------------------------------------------------- /emails/mvnw.cmd: -------------------------------------------------------------------------------- 1 | <# : batch portion 2 | @REM ---------------------------------------------------------------------------- 3 | @REM Licensed to the Apache Software Foundation (ASF) under one 4 | @REM or more contributor license agreements. See the NOTICE file 5 | @REM distributed with this work for additional information 6 | @REM regarding copyright ownership. The ASF licenses this file 7 | @REM to you under the Apache License, Version 2.0 (the 8 | @REM "License"); you may not use this file except in compliance 9 | @REM with the License. You may obtain a copy of the License at 10 | @REM 11 | @REM https://www.apache.org/licenses/LICENSE-2.0 12 | @REM 13 | @REM Unless required by applicable law or agreed to in writing, 14 | @REM software distributed under the License is distributed on an 15 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | @REM KIND, either express or implied. See the License for the 17 | @REM specific language governing permissions and limitations 18 | @REM under the License. 19 | @REM ---------------------------------------------------------------------------- 20 | 21 | @REM ---------------------------------------------------------------------------- 22 | @REM Apache Maven Wrapper startup batch script, version 3.3.1 23 | @REM 24 | @REM Optional ENV vars 25 | @REM MVNW_REPOURL - repo url base for downloading maven distribution 26 | @REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven 27 | @REM MVNW_VERBOSE - true: enable verbose log; others: silence the output 28 | @REM ---------------------------------------------------------------------------- 29 | 30 | @IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) 31 | @SET __MVNW_CMD__= 32 | @SET __MVNW_ERROR__= 33 | @SET __MVNW_PSMODULEP_SAVE=%PSModulePath% 34 | @SET PSModulePath= 35 | @FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( 36 | IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) 37 | ) 38 | @SET PSModulePath=%__MVNW_PSMODULEP_SAVE% 39 | @SET __MVNW_PSMODULEP_SAVE= 40 | @SET __MVNW_ARG0_NAME__= 41 | @SET MVNW_USERNAME= 42 | @SET MVNW_PASSWORD= 43 | @IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) 44 | @echo Cannot start maven from wrapper >&2 && exit /b 1 45 | @GOTO :EOF 46 | : end batch / begin powershell #> 47 | 48 | $ErrorActionPreference = "Stop" 49 | if ($env:MVNW_VERBOSE -eq "true") { 50 | $VerbosePreference = "Continue" 51 | } 52 | 53 | # calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties 54 | $distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl 55 | if (!$distributionUrl) { 56 | Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" 57 | } 58 | 59 | switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { 60 | "maven-mvnd-*" { 61 | $USE_MVND = $true 62 | $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" 63 | $MVN_CMD = "mvnd.cmd" 64 | break 65 | } 66 | default { 67 | $USE_MVND = $false 68 | $MVN_CMD = $script -replace '^mvnw','mvn' 69 | break 70 | } 71 | } 72 | 73 | # apply MVNW_REPOURL and calculate MAVEN_HOME 74 | # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ 75 | if ($env:MVNW_REPOURL) { 76 | $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } 77 | $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" 78 | } 79 | $distributionUrlName = $distributionUrl -replace '^.*/','' 80 | $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' 81 | $MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" 82 | $MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' 83 | $MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" 84 | 85 | if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { 86 | Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" 87 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 88 | exit $? 89 | } 90 | 91 | if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { 92 | Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" 93 | } 94 | 95 | # prepare tmp dir 96 | $TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile 97 | $TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" 98 | $TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null 99 | trap { 100 | if ($TMP_DOWNLOAD_DIR.Exists) { 101 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 102 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 103 | } 104 | } 105 | 106 | New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null 107 | 108 | # Download and Install Apache Maven 109 | Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." 110 | Write-Verbose "Downloading from: $distributionUrl" 111 | Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" 112 | 113 | $webclient = New-Object System.Net.WebClient 114 | if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { 115 | $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) 116 | } 117 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 118 | $webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null 119 | 120 | # If specified, validate the SHA-256 sum of the Maven distribution zip file 121 | $distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum 122 | if ($distributionSha256Sum) { 123 | if ($USE_MVND) { 124 | Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." 125 | } 126 | Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash 127 | if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { 128 | Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." 129 | } 130 | } 131 | 132 | # unzip and move 133 | Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null 134 | Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null 135 | try { 136 | Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null 137 | } catch { 138 | if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { 139 | Write-Error "fail to move MAVEN_HOME" 140 | } 141 | } finally { 142 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 143 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 144 | } 145 | 146 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 147 | -------------------------------------------------------------------------------- /emails/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | org.springframework.boot 8 | spring-boot-starter-parent 9 | 3.3.0 10 | 11 | 12 | com.ms 13 | emails 14 | 0.0.1-SNAPSHOT 15 | emails 16 | Project to create users and send emails to them 17 | 18 | 17 19 | 20 | 21 | 22 | org.springframework.boot 23 | spring-boot-starter-amqp 24 | 25 | 26 | org.springframework.boot 27 | spring-boot-starter-data-jpa 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-mail 32 | 33 | 34 | org.springframework.boot 35 | spring-boot-starter-validation 36 | 37 | 38 | org.springframework.boot 39 | spring-boot-starter-web 40 | 41 | 42 | 43 | org.postgresql 44 | postgresql 45 | runtime 46 | 47 | 48 | org.springframework.boot 49 | spring-boot-starter-test 50 | test 51 | 52 | 53 | org.springframework.amqp 54 | spring-rabbit-test 55 | test 56 | 57 | 58 | 59 | 60 | 61 | 62 | org.springframework.boot 63 | spring-boot-maven-plugin 64 | 65 | 66 | org.apache.maven.plugins 67 | maven-resources-plugin 68 | 3.1.0 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/EmailsApplication.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class EmailsApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(EmailsApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/configs/RabbitMQConfig.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.configs; 2 | 3 | import org.springframework.amqp.core.Queue; 4 | import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; 5 | import org.springframework.beans.factory.annotation.Value; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | import com.fasterxml.jackson.databind.ObjectMapper; 10 | 11 | @Configuration 12 | public class RabbitMQConfig { 13 | 14 | @Value("${broker.queue.email.name}") 15 | private String queue; 16 | 17 | @Bean 18 | Queue queue() { 19 | return new Queue(queue, true); 20 | } 21 | 22 | @Bean 23 | Jackson2JsonMessageConverter messageConverter() { 24 | ObjectMapper objectMapper = new ObjectMapper(); 25 | return new Jackson2JsonMessageConverter(objectMapper); 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/consumers/EmailConsumer.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.consumers; 2 | 3 | import com.ms.emails.dtos.EmailRecordDto; 4 | import com.ms.emails.models.EmailModel; 5 | import com.ms.emails.services.EmailServices; 6 | 7 | import org.springframework.amqp.rabbit.annotation.RabbitListener; 8 | import org.springframework.beans.BeanUtils; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.messaging.handler.annotation.Payload; 11 | import org.springframework.stereotype.Component; 12 | 13 | @Component 14 | public class EmailConsumer { 15 | 16 | @Autowired 17 | EmailServices emailService; 18 | 19 | @RabbitListener(queues = "${broker.queue.email.name}") 20 | public void listenEmailQueue(@Payload EmailRecordDto emailRecordDto ) { 21 | var emailModel = new EmailModel(); 22 | BeanUtils.copyProperties(emailRecordDto, emailModel); 23 | 24 | // Send email 25 | emailService.sendEmail(emailModel); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/dtos/EmailRecordDto.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.dtos; 2 | 3 | import java.util.UUID; 4 | 5 | public record EmailRecordDto(UUID userId, 6 | String emailTo, 7 | String subject, 8 | String text) { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/enums/StatusEmail.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.enums; 2 | 3 | public enum StatusEmail { 4 | SENT, 5 | ERROR; 6 | } 7 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/models/EmailModel.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.models; 2 | 3 | import java.io.Serializable; 4 | import java.time.LocalDateTime; 5 | import java.util.UUID; 6 | 7 | import jakarta.persistence.Column; 8 | import jakarta.persistence.Entity; 9 | import jakarta.persistence.Id; 10 | import jakarta.persistence.Table; 11 | import jakarta.persistence.GeneratedValue; 12 | import jakarta.persistence.GenerationType; 13 | 14 | import com.ms.emails.enums.StatusEmail; 15 | 16 | @Entity 17 | @Table(name = "TB_EMAILS") 18 | public class EmailModel implements Serializable{ 19 | 20 | private static final long serialVersionUID = 1L; 21 | 22 | @Id 23 | @GeneratedValue(strategy = GenerationType.AUTO) 24 | private UUID emailId; 25 | private UUID userID; 26 | private String emailFrom; 27 | private String emailTo; 28 | private String subject; 29 | @Column(columnDefinition = "TEXT") 30 | private String text; 31 | private LocalDateTime sendDateEmail; 32 | private StatusEmail statusEmail; 33 | 34 | public UUID getEmailId() { 35 | return emailId; 36 | } 37 | public void setEmailId(UUID emailId) { 38 | this.emailId = emailId; 39 | } 40 | public UUID getUserID() { 41 | return userID; 42 | } 43 | public void setUserID(UUID userID) { 44 | this.userID = userID; 45 | } 46 | public String getEmailFrom() { 47 | return emailFrom; 48 | } 49 | public void setEmailFrom(String emailFrom) { 50 | this.emailFrom = emailFrom; 51 | } 52 | public String getEmailTo() { 53 | return emailTo; 54 | } 55 | public void setEmailTo(String emailTo) { 56 | this.emailTo = emailTo; 57 | } 58 | public String getSubject() { 59 | return subject; 60 | } 61 | public void setSubject(String subject) { 62 | this.subject = subject; 63 | } 64 | public String getText() { 65 | return text; 66 | } 67 | public void setText(String text) { 68 | this.text = text; 69 | } 70 | public LocalDateTime getSendDateEmail() { 71 | return sendDateEmail; 72 | } 73 | public void setSendDateEmail(LocalDateTime sendDateEmail) { 74 | this.sendDateEmail = sendDateEmail; 75 | } 76 | public StatusEmail getStatusEmail() { 77 | return statusEmail; 78 | } 79 | public void setStatusEmail(StatusEmail statusEmail) { 80 | this.statusEmail = statusEmail; 81 | } 82 | 83 | 84 | } 85 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/repositories/EmailRepository.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.repositories; 2 | 3 | import java.util.UUID; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.ms.emails.models.EmailModel; 8 | 9 | public interface EmailRepository extends JpaRepository{ 10 | 11 | } 12 | -------------------------------------------------------------------------------- /emails/src/main/java/com/ms/emails/services/EmailServices.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails.services; 2 | 3 | import java.time.LocalDateTime; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.beans.factory.annotation.Value; 7 | import org.springframework.mail.MailException; 8 | import org.springframework.mail.SimpleMailMessage; 9 | import org.springframework.mail.javamail.JavaMailSender; 10 | import org.springframework.stereotype.Service; 11 | import org.springframework.transaction.annotation.Transactional; 12 | 13 | import com.ms.emails.enums.StatusEmail; 14 | import com.ms.emails.models.EmailModel; 15 | import com.ms.emails.repositories.EmailRepository; 16 | 17 | @Service 18 | public class EmailServices { 19 | 20 | @Autowired 21 | EmailRepository emailRepository; 22 | 23 | @Autowired 24 | JavaMailSender emailSender; 25 | 26 | @Value(value="${spring.mail.username}") 27 | private String emailFrom; 28 | 29 | @SuppressWarnings("finally") 30 | @Transactional 31 | public EmailModel sendEmail (EmailModel emailModel) { 32 | try { 33 | emailModel.setSendDateEmail(LocalDateTime.now()); 34 | emailModel.setEmailFrom(emailFrom); 35 | 36 | SimpleMailMessage message = new SimpleMailMessage(); 37 | message.setTo(emailModel.getEmailTo()); 38 | message.setSubject(emailModel.getSubject()); 39 | message.setFrom(emailModel.getEmailFrom()); 40 | message.setText(emailModel.getText()); 41 | emailSender.send(message); 42 | emailModel.setStatusEmail(StatusEmail.SENT); 43 | } 44 | catch (MailException e){ 45 | emailModel.setStatusEmail(StatusEmail.ERROR); 46 | } 47 | finally{ 48 | return emailRepository.save(emailModel); 49 | 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /emails/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/emails/src/main/resources/application.properties -------------------------------------------------------------------------------- /emails/src/test/java/com/ms/emails/EmailsApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.ms.emails; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class EmailsApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /user/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /user/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # https://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.1 18 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip 19 | -------------------------------------------------------------------------------- /user/bin/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /user/bin/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # https://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.1 18 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip 19 | -------------------------------------------------------------------------------- /user/bin/mvnw.cmd: -------------------------------------------------------------------------------- 1 | <# : batch portion 2 | @REM ---------------------------------------------------------------------------- 3 | @REM Licensed to the Apache Software Foundation (ASF) under one 4 | @REM or more contributor license agreements. See the NOTICE file 5 | @REM distributed with this work for additional information 6 | @REM regarding copyright ownership. The ASF licenses this file 7 | @REM to you under the Apache License, Version 2.0 (the 8 | @REM "License"); you may not use this file except in compliance 9 | @REM with the License. You may obtain a copy of the License at 10 | @REM 11 | @REM https://www.apache.org/licenses/LICENSE-2.0 12 | @REM 13 | @REM Unless required by applicable law or agreed to in writing, 14 | @REM software distributed under the License is distributed on an 15 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | @REM KIND, either express or implied. See the License for the 17 | @REM specific language governing permissions and limitations 18 | @REM under the License. 19 | @REM ---------------------------------------------------------------------------- 20 | 21 | @REM ---------------------------------------------------------------------------- 22 | @REM Apache Maven Wrapper startup batch script, version 3.3.1 23 | @REM 24 | @REM Optional ENV vars 25 | @REM MVNW_REPOURL - repo url base for downloading maven distribution 26 | @REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven 27 | @REM MVNW_VERBOSE - true: enable verbose log; others: silence the output 28 | @REM ---------------------------------------------------------------------------- 29 | 30 | @IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) 31 | @SET __MVNW_CMD__= 32 | @SET __MVNW_ERROR__= 33 | @SET __MVNW_PSMODULEP_SAVE=%PSModulePath% 34 | @SET PSModulePath= 35 | @FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( 36 | IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) 37 | ) 38 | @SET PSModulePath=%__MVNW_PSMODULEP_SAVE% 39 | @SET __MVNW_PSMODULEP_SAVE= 40 | @SET __MVNW_ARG0_NAME__= 41 | @SET MVNW_USERNAME= 42 | @SET MVNW_PASSWORD= 43 | @IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) 44 | @echo Cannot start maven from wrapper >&2 && exit /b 1 45 | @GOTO :EOF 46 | : end batch / begin powershell #> 47 | 48 | $ErrorActionPreference = "Stop" 49 | if ($env:MVNW_VERBOSE -eq "true") { 50 | $VerbosePreference = "Continue" 51 | } 52 | 53 | # calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties 54 | $distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl 55 | if (!$distributionUrl) { 56 | Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" 57 | } 58 | 59 | switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { 60 | "maven-mvnd-*" { 61 | $USE_MVND = $true 62 | $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" 63 | $MVN_CMD = "mvnd.cmd" 64 | break 65 | } 66 | default { 67 | $USE_MVND = $false 68 | $MVN_CMD = $script -replace '^mvnw','mvn' 69 | break 70 | } 71 | } 72 | 73 | # apply MVNW_REPOURL and calculate MAVEN_HOME 74 | # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ 75 | if ($env:MVNW_REPOURL) { 76 | $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } 77 | $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" 78 | } 79 | $distributionUrlName = $distributionUrl -replace '^.*/','' 80 | $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' 81 | $MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" 82 | $MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' 83 | $MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" 84 | 85 | if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { 86 | Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" 87 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 88 | exit $? 89 | } 90 | 91 | if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { 92 | Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" 93 | } 94 | 95 | # prepare tmp dir 96 | $TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile 97 | $TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" 98 | $TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null 99 | trap { 100 | if ($TMP_DOWNLOAD_DIR.Exists) { 101 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 102 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 103 | } 104 | } 105 | 106 | New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null 107 | 108 | # Download and Install Apache Maven 109 | Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." 110 | Write-Verbose "Downloading from: $distributionUrl" 111 | Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" 112 | 113 | $webclient = New-Object System.Net.WebClient 114 | if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { 115 | $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) 116 | } 117 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 118 | $webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null 119 | 120 | # If specified, validate the SHA-256 sum of the Maven distribution zip file 121 | $distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum 122 | if ($distributionSha256Sum) { 123 | if ($USE_MVND) { 124 | Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." 125 | } 126 | Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash 127 | if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { 128 | Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." 129 | } 130 | } 131 | 132 | # unzip and move 133 | Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null 134 | Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null 135 | try { 136 | Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null 137 | } catch { 138 | if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { 139 | Write-Error "fail to move MAVEN_HOME" 140 | } 141 | } finally { 142 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 143 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 144 | } 145 | 146 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 147 | -------------------------------------------------------------------------------- /user/bin/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 3.3.0 9 | 10 | 11 | com.ms 12 | user 13 | 0.0.1-SNAPSHOT 14 | user 15 | Project to create users and send emails to them 16 | 17 | 17 18 | 19 | 20 | 21 | org.springframework.boot 22 | spring-boot-starter-amqp 23 | 24 | 25 | org.springframework.boot 26 | spring-boot-starter-data-jpa 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-starter-validation 31 | 32 | 33 | org.springframework.boot 34 | spring-boot-starter-web 35 | 36 | 37 | 38 | org.postgresql 39 | postgresql 40 | runtime 41 | 42 | 43 | org.springframework.boot 44 | spring-boot-starter-test 45 | test 46 | 47 | 48 | org.springframework.amqp 49 | spring-rabbit-test 50 | test 51 | 52 | 53 | 54 | 55 | 56 | 57 | org.springframework.boot 58 | spring-boot-maven-plugin 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /user/bin/src/main/java/com/ms/user/UserApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/user/bin/src/main/java/com/ms/user/UserApplication.class -------------------------------------------------------------------------------- /user/bin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=user 2 | -------------------------------------------------------------------------------- /user/bin/src/test/java/com/ms/user/UserApplicationTests.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/user/bin/src/test/java/com/ms/user/UserApplicationTests.class -------------------------------------------------------------------------------- /user/mvnw.cmd: -------------------------------------------------------------------------------- 1 | <# : batch portion 2 | @REM ---------------------------------------------------------------------------- 3 | @REM Licensed to the Apache Software Foundation (ASF) under one 4 | @REM or more contributor license agreements. See the NOTICE file 5 | @REM distributed with this work for additional information 6 | @REM regarding copyright ownership. The ASF licenses this file 7 | @REM to you under the Apache License, Version 2.0 (the 8 | @REM "License"); you may not use this file except in compliance 9 | @REM with the License. You may obtain a copy of the License at 10 | @REM 11 | @REM https://www.apache.org/licenses/LICENSE-2.0 12 | @REM 13 | @REM Unless required by applicable law or agreed to in writing, 14 | @REM software distributed under the License is distributed on an 15 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | @REM KIND, either express or implied. See the License for the 17 | @REM specific language governing permissions and limitations 18 | @REM under the License. 19 | @REM ---------------------------------------------------------------------------- 20 | 21 | @REM ---------------------------------------------------------------------------- 22 | @REM Apache Maven Wrapper startup batch script, version 3.3.1 23 | @REM 24 | @REM Optional ENV vars 25 | @REM MVNW_REPOURL - repo url base for downloading maven distribution 26 | @REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven 27 | @REM MVNW_VERBOSE - true: enable verbose log; others: silence the output 28 | @REM ---------------------------------------------------------------------------- 29 | 30 | @IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) 31 | @SET __MVNW_CMD__= 32 | @SET __MVNW_ERROR__= 33 | @SET __MVNW_PSMODULEP_SAVE=%PSModulePath% 34 | @SET PSModulePath= 35 | @FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( 36 | IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) 37 | ) 38 | @SET PSModulePath=%__MVNW_PSMODULEP_SAVE% 39 | @SET __MVNW_PSMODULEP_SAVE= 40 | @SET __MVNW_ARG0_NAME__= 41 | @SET MVNW_USERNAME= 42 | @SET MVNW_PASSWORD= 43 | @IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) 44 | @echo Cannot start maven from wrapper >&2 && exit /b 1 45 | @GOTO :EOF 46 | : end batch / begin powershell #> 47 | 48 | $ErrorActionPreference = "Stop" 49 | if ($env:MVNW_VERBOSE -eq "true") { 50 | $VerbosePreference = "Continue" 51 | } 52 | 53 | # calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties 54 | $distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl 55 | if (!$distributionUrl) { 56 | Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" 57 | } 58 | 59 | switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { 60 | "maven-mvnd-*" { 61 | $USE_MVND = $true 62 | $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" 63 | $MVN_CMD = "mvnd.cmd" 64 | break 65 | } 66 | default { 67 | $USE_MVND = $false 68 | $MVN_CMD = $script -replace '^mvnw','mvn' 69 | break 70 | } 71 | } 72 | 73 | # apply MVNW_REPOURL and calculate MAVEN_HOME 74 | # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ 75 | if ($env:MVNW_REPOURL) { 76 | $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } 77 | $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" 78 | } 79 | $distributionUrlName = $distributionUrl -replace '^.*/','' 80 | $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' 81 | $MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" 82 | $MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' 83 | $MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" 84 | 85 | if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { 86 | Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" 87 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 88 | exit $? 89 | } 90 | 91 | if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { 92 | Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" 93 | } 94 | 95 | # prepare tmp dir 96 | $TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile 97 | $TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" 98 | $TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null 99 | trap { 100 | if ($TMP_DOWNLOAD_DIR.Exists) { 101 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 102 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 103 | } 104 | } 105 | 106 | New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null 107 | 108 | # Download and Install Apache Maven 109 | Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." 110 | Write-Verbose "Downloading from: $distributionUrl" 111 | Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" 112 | 113 | $webclient = New-Object System.Net.WebClient 114 | if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { 115 | $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) 116 | } 117 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 118 | $webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null 119 | 120 | # If specified, validate the SHA-256 sum of the Maven distribution zip file 121 | $distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum 122 | if ($distributionSha256Sum) { 123 | if ($USE_MVND) { 124 | Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." 125 | } 126 | Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash 127 | if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { 128 | Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." 129 | } 130 | } 131 | 132 | # unzip and move 133 | Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null 134 | Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null 135 | try { 136 | Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null 137 | } catch { 138 | if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { 139 | Write-Error "fail to move MAVEN_HOME" 140 | } 141 | } finally { 142 | try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } 143 | catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } 144 | } 145 | 146 | Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" 147 | -------------------------------------------------------------------------------- /user/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | org.springframework.boot 8 | spring-boot-starter-parent 9 | 3.3.0 10 | 11 | 12 | com.ms 13 | user 14 | 0.0.1-SNAPSHOT 15 | user 16 | Project to create users and send emails to them 17 | 18 | 17 19 | 20 | 21 | 22 | org.springframework.boot 23 | spring-boot-starter-amqp 24 | 25 | 26 | org.springframework.boot 27 | spring-boot-starter-data-jpa 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-validation 32 | 33 | 34 | org.springframework.boot 35 | spring-boot-starter-web 36 | 37 | 38 | 39 | org.postgresql 40 | postgresql 41 | runtime 42 | 43 | 44 | org.springframework.boot 45 | spring-boot-starter-test 46 | test 47 | 48 | 49 | org.springframework.amqp 50 | spring-rabbit-test 51 | test 52 | 53 | 54 | 55 | 56 | 57 | 58 | org.springframework.boot 59 | spring-boot-maven-plugin 60 | 61 | 62 | org.apache.maven.plugins 63 | maven-resources-plugin 64 | 3.1.0 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/UserApplication.java: -------------------------------------------------------------------------------- 1 | package com.ms.user; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class UserApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(UserApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/apiexterna/ConsultaCotacao.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.apiexterna; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.http.ResponseEntity; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.PathVariable; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.RestController; 9 | import org.springframework.web.client.RestTemplate; 10 | 11 | import com.fasterxml.jackson.core.type.TypeReference; 12 | import com.fasterxml.jackson.databind.ObjectMapper; 13 | import com.ms.user.dtos.CotacaoDto; 14 | import com.ms.user.services.UserService; 15 | import com.ms.user.models.UserModel; 16 | 17 | import java.io.IOException; 18 | import java.util.List; 19 | 20 | @RestController 21 | @RequestMapping("consulta-cotacao") 22 | public class ConsultaCotacao { 23 | 24 | @Autowired 25 | UserService userService; 26 | 27 | @GetMapping("{email}") 28 | public List consultaCotacao(@PathVariable String email) { 29 | 30 | RestTemplate restTemplate = new RestTemplate(); 31 | 32 | UserModel user = userService.getUserByEmail(email).orElseThrow(() -> new RuntimeException("User not found")); 33 | 34 | String url = String.format("https://economia.awesomeapi.com.br/json/%s", user.getCoin()); 35 | ResponseEntity response = restTemplate.getForEntity(url, String.class); 36 | 37 | ObjectMapper objectMapper = new ObjectMapper(); 38 | List cotacaoDtos = null; 39 | 40 | try { 41 | cotacaoDtos = objectMapper.readValue(response.getBody(), new TypeReference>() {}); 42 | 43 | } catch (IOException e) { 44 | e.printStackTrace(); 45 | 46 | } 47 | 48 | return cotacaoDtos; 49 | } 50 | } -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/configs/CORS.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.configs; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.CorsRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 6 | 7 | @Configuration 8 | public class CORS implements WebMvcConfigurer { 9 | 10 | @Override 11 | public void addCorsMappings(CorsRegistry registry) { 12 | registry.addMapping("/**").allowedOrigins("*"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/configs/RabbitMQConfig.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.configs; 2 | 3 | import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | import com.fasterxml.jackson.databind.ObjectMapper; 8 | 9 | @Configuration 10 | public class RabbitMQConfig { 11 | @Bean 12 | Jackson2JsonMessageConverter messageConverter() { 13 | ObjectMapper objectMapper = new ObjectMapper(); 14 | return new Jackson2JsonMessageConverter(objectMapper); 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/configs/RestTemplateConfig.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.configs; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.client.RestTemplate; 6 | 7 | @Configuration 8 | public class RestTemplateConfig { 9 | 10 | @Bean 11 | RestTemplate restTemplate() { 12 | return new RestTemplate(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/controllers/UserController.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.controllers; 2 | 3 | import java.util.List; 4 | import java.util.Optional; 5 | 6 | import org.springframework.beans.BeanUtils; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.http.HttpStatus; 9 | import org.springframework.http.ResponseEntity; 10 | import org.springframework.web.bind.annotation.GetMapping; 11 | import org.springframework.web.bind.annotation.PathVariable; 12 | import org.springframework.web.bind.annotation.PostMapping; 13 | import org.springframework.web.bind.annotation.RequestBody; 14 | import org.springframework.web.bind.annotation.RestController; 15 | 16 | import com.ms.user.dtos.UserRecordDto; 17 | import com.ms.user.models.UserModel; 18 | import com.ms.user.services.UserService; 19 | 20 | import jakarta.validation.Valid; 21 | 22 | @RestController 23 | public class UserController { 24 | 25 | @Autowired 26 | UserService userService; 27 | 28 | @PostMapping("/users") 29 | public ResponseEntity saveUser(@RequestBody @Valid UserRecordDto userRecordDto){ 30 | var userModel = new UserModel(); 31 | 32 | // Convertendo de Dto para model 33 | BeanUtils.copyProperties(userRecordDto, userModel); 34 | 35 | return ResponseEntity.status(HttpStatus.CREATED).body(userService.save(userModel)); 36 | } 37 | @GetMapping("/users") 38 | public ResponseEntity> getUsers() { 39 | 40 | List users = userService.getAll(); 41 | 42 | return ResponseEntity.status(HttpStatus.OK).body(users); 43 | } 44 | 45 | @GetMapping("/email/{email}") 46 | public ResponseEntity getUserByEmail(@PathVariable String email) { 47 | Optional user = userService.getUserByEmail(email); 48 | return user.map(ResponseEntity::ok) 49 | .orElseGet(() -> ResponseEntity.notFound().build()); 50 | } 51 | @PostMapping("/deposit/{email}/{balance}") 52 | public ResponseEntity updateSaldo(@PathVariable String email, @PathVariable Double balance) { 53 | return userService.depositar(email, balance); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/dtos/CotacaoDto.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.dtos; 2 | 3 | public class CotacaoDto { 4 | 5 | private String code; 6 | private String codein; 7 | private String name; 8 | private String high; 9 | private String low; 10 | private String varBid; 11 | private String pctChange; 12 | private String bid; 13 | private String ask; 14 | private String timestamp; 15 | private String create_date; 16 | 17 | public String getCode() { 18 | return code; 19 | } 20 | public void setCode(String code) { 21 | this.code = code; 22 | } 23 | public String getCodein() { 24 | return codein; 25 | } 26 | public void setCodein(String codein) { 27 | this.codein = codein; 28 | } 29 | public String getName() { 30 | return name; 31 | } 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | public String getHigh() { 36 | return high; 37 | } 38 | public void setHigh(String high) { 39 | this.high = high; 40 | } 41 | public String getLow() { 42 | return low; 43 | } 44 | public void setLow(String low) { 45 | this.low = low; 46 | } 47 | public String getVarBid() { 48 | return varBid; 49 | } 50 | public void setVarBid(String varBid) { 51 | this.varBid = varBid; 52 | } 53 | public String getPctChange() { 54 | return pctChange; 55 | } 56 | public void setPctChange(String pctChange) { 57 | this.pctChange = pctChange; 58 | } 59 | public String getBid() { 60 | return bid; 61 | } 62 | public void setBid(String bid) { 63 | this.bid = bid; 64 | } 65 | public String getAsk() { 66 | return ask; 67 | } 68 | public void setAsk(String ask) { 69 | this.ask = ask; 70 | } 71 | public String getTimestamp() { 72 | return timestamp; 73 | } 74 | public void setTimestamp(String timestamp) { 75 | this.timestamp = timestamp; 76 | } 77 | public String getCreate_date() { 78 | return create_date; 79 | } 80 | public void setCreate_date(String create_date) { 81 | this.create_date = create_date; 82 | } 83 | 84 | 85 | } 86 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/dtos/EmailDto.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.dtos; 2 | 3 | import java.util.UUID; 4 | 5 | public class EmailDto { 6 | 7 | private UUID userId; 8 | private String emailTo; 9 | private String subject; 10 | private String text; 11 | 12 | public UUID getUserId() { 13 | return userId; 14 | } 15 | public void setUserId(UUID userId) { 16 | this.userId = userId; 17 | } 18 | public String getEmailTo() { 19 | return emailTo; 20 | } 21 | public void setEmailTo(String emailTo) { 22 | this.emailTo = emailTo; 23 | } 24 | public String getSubject() { 25 | return subject; 26 | } 27 | public void setSubject(String subject) { 28 | this.subject = subject; 29 | } 30 | public String getText() { 31 | return text; 32 | } 33 | public void setText(String text) { 34 | this.text = text; 35 | } 36 | 37 | 38 | } 39 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/dtos/UserRecordDto.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.dtos; 2 | 3 | import jakarta.validation.constraints.Email; 4 | import jakarta.validation.constraints.NotBlank; 5 | import jakarta.validation.constraints.NotEmpty; 6 | 7 | public record UserRecordDto(@NotBlank String name, 8 | @NotBlank @Email String email, 9 | @NotEmpty String coin, 10 | Double balance) { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/models/UserModel.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.models; 2 | 3 | import java.io.Serializable; 4 | import java.util.UUID; 5 | 6 | import jakarta.persistence.Entity; 7 | import jakarta.persistence.GeneratedValue; 8 | import jakarta.persistence.GenerationType; 9 | import jakarta.persistence.Id; 10 | import jakarta.persistence.Table; 11 | 12 | @Entity 13 | @Table(name = "TB_USERS") 14 | public class UserModel implements Serializable { 15 | 16 | private static final long serialVersionUID = 1L; 17 | 18 | @Id 19 | @GeneratedValue(strategy = GenerationType.AUTO) 20 | private UUID userId; 21 | private String name; 22 | private String email; 23 | private String coin; 24 | private Double balance; 25 | 26 | public UUID getUserId() { 27 | return userId; 28 | } 29 | public void setUserId(UUID userId) { 30 | this.userId = userId; 31 | } 32 | public String getName() { 33 | return name; 34 | } 35 | public void setName(String name) { 36 | this.name = name; 37 | } 38 | public String getEmail() { 39 | return email; 40 | } 41 | public void setEmail(String email) { 42 | this.email = email; 43 | } 44 | public String getCoin() { 45 | return coin; 46 | } 47 | public void setCoin(String coin) { 48 | this.coin = coin; 49 | } 50 | public Double getBalance() { 51 | return balance; 52 | } 53 | public void setBalance(Double balance) { 54 | this.balance = balance; 55 | } 56 | 57 | 58 | 59 | } -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/producers/UserProducer.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.producers; 2 | 3 | import org.springframework.amqp.rabbit.core.RabbitTemplate; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.beans.factory.annotation.Value; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ms.user.dtos.EmailDto; 9 | import com.ms.user.models.UserModel; 10 | 11 | @Component 12 | public class UserProducer { 13 | 14 | @Autowired 15 | RabbitTemplate rabbitTemplate; 16 | 17 | @Value(value = "${broker.queue.email.name}") 18 | private String routingKey; 19 | 20 | public void publishMessageEmail (UserModel userModel, String cotacoes) { 21 | var emailDto = new EmailDto(); 22 | emailDto.setUserId(userModel.getUserId()); 23 | emailDto.setEmailTo(userModel.getEmail()); 24 | emailDto.setSubject("Cadastro Realizado com Sucesso!"); 25 | emailDto.setText(userModel.getName() + ", Seja Bem vindo(a)! \n Agradecemos o seu cadastro, Seu saldo é de: "+"R$ "+ userModel.getBalance() + 26 | "\n Suas moedas escolhidas foram: " + userModel.getCoin() + "\n Abaixo segue seu saldo nas moedas escolhidas com base na cotação atual: "+ cotacoes + 27 | "\n Em breve recebera uma planilha com tendências, agradecemos a compreensão." 28 | ); 29 | 30 | 31 | rabbitTemplate.convertAndSend("", routingKey, emailDto); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/repositories/UserRepository.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.repositories; 2 | 3 | import com.ms.user.models.UserModel; 4 | 5 | import java.util.Optional; 6 | import java.util.UUID; 7 | 8 | import org.springframework.data.jpa.repository.JpaRepository; 9 | 10 | 11 | public interface UserRepository extends JpaRepository{ 12 | Optional findByEmail(String email); 13 | } 14 | -------------------------------------------------------------------------------- /user/src/main/java/com/ms/user/services/UserService.java: -------------------------------------------------------------------------------- 1 | package com.ms.user.services; 2 | 3 | import java.util.List; 4 | import java.util.Optional; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.http.ResponseEntity; 8 | import org.springframework.stereotype.Service; 9 | import org.springframework.web.client.RestTemplate; 10 | 11 | import com.ms.user.dtos.CotacaoDto; 12 | import com.ms.user.models.UserModel; 13 | import com.ms.user.repositories.UserRepository; 14 | import com.ms.user.producers.UserProducer; 15 | 16 | import jakarta.transaction.Transactional; 17 | 18 | @Service 19 | public class UserService { 20 | 21 | private static final String apiExterna = "https://economia.awesomeapi.com.br/"; 22 | 23 | @Autowired 24 | UserProducer userProducer; 25 | 26 | @Autowired 27 | private RestTemplate restTemplate; 28 | 29 | @Autowired 30 | UserRepository userRepository; 31 | 32 | @Transactional 33 | public UserModel save(UserModel userModel) { 34 | 35 | userModel = userRepository.save(userModel); 36 | String cotacoes = convertCoin(userModel.getEmail()).toString(); 37 | userProducer.publishMessageEmail(userModel, cotacoes); 38 | 39 | return userModel; 40 | } 41 | 42 | public List getAll() { 43 | return userRepository.findAll(); 44 | } 45 | public Optional getUserByEmail(String email) { 46 | return userRepository.findByEmail(email); 47 | } 48 | 49 | public ResponseEntity depositar(String email, Double balance) { 50 | Optional optionalUser = getUserByEmail(email); 51 | 52 | Double saldoAnterior = optionalUser.get().getBalance(); 53 | 54 | if (optionalUser.isPresent()) { 55 | UserModel user = optionalUser.get(); 56 | 57 | if(saldoAnterior == null) { 58 | user.setBalance(balance); 59 | }else { 60 | user.setBalance(balance + saldoAnterior); 61 | } 62 | 63 | userRepository.save(user); 64 | return ResponseEntity.ok(user); 65 | } else { 66 | return ResponseEntity.notFound().build(); 67 | } 68 | } 69 | 70 | public String convertCoin(String email) { 71 | Optional optionalUser = getUserByEmail(email); 72 | 73 | if (optionalUser.isPresent() && optionalUser.get().getCoin() != null && !optionalUser.get().getCoin().isEmpty()) { 74 | String[] moedas = optionalUser.get().getCoin().split(","); 75 | StringBuilder sb = new StringBuilder(); 76 | 77 | for (String moeda : moedas) { 78 | ResponseEntity response = restTemplate.getForEntity(apiExterna + moeda, CotacaoDto[].class); 79 | CotacaoDto[] cotacoes = response.getBody(); 80 | if (cotacoes != null && cotacoes.length > 0) { 81 | CotacaoDto cotacao = cotacoes[0]; 82 | double high = Double.parseDouble(cotacao.getHigh()); 83 | double novoSaldo = optionalUser.get().getBalance() / high; 84 | sb.append(String.format("\n Saldo em %s: %.2f", moeda, novoSaldo)); 85 | } 86 | } 87 | return sb.toString(); 88 | }else { 89 | return null; 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /user/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Romulomdr/ConvertCoinAPI/0f7c56b825f26dfefe8fcac79a7fb7f98138646e/user/src/main/resources/application.properties -------------------------------------------------------------------------------- /user/src/test/java/com/ms/user/UserApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.ms.user; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class UserApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | --------------------------------------------------------------------------------