Skip to content

Instantly share code, notes, and snippets.

View giovannicandido's full-sized avatar

Giovanni Silva giovannicandido

View GitHub Profile
@giovannicandido
giovannicandido / ExampleController.java
Created January 15, 2024 22:11
Configuring Spring Boot 3 Dates globally
@RestController
public class ExampleController {
@GetMapping("/search") // esse metodo vai ser ativado se um GET for enviado para /clientes/search
public List<ClienteResponse> filtrarPeloNome(@RequestParam(required = false, name = "nomeCliente") String name, // parametro a ser passado na url
@RequestParam(required = false) Integer idade,
@RequestParam(required = false) List<Integer> ids,
@RequestParam(required = false) LocalDateTime dateTime,
@RequestParam(required = false) LocalDate date
) {
@giovannicandido
giovannicandido / Atendimento.java
Created January 3, 2024 14:45
Exemplo de @manytomany usando uma classe customizada para tabela central
package example;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import java.time.LocalDateTime;
@giovannicandido
giovannicandido / DbTestUtil.kt
Created October 28, 2023 15:32
Resets sequences between junit integration tests
package com.kugelbit.mercado.estoque.test
import org.slf4j.LoggerFactory
import org.springframework.context.ApplicationContext
import org.springframework.core.env.Environment
import java.sql.SQLException
import javax.sql.DataSource
object DbTestUtil {
private val log = LoggerFactory.getLogger(DbTestUtil::class.java)
@giovannicandido
giovannicandido / CustomPageImpl.java
Created October 28, 2023 15:29
This enable rest requests to parse pageable objects in a more generic way for cucumber tests
package com.kugelbit.mercado.estoque.infrastructure.rest;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@giovannicandido
giovannicandido / CleanUpDbService.java
Created September 4, 2023 21:16
Spring service to reset the state of database between unit tests
package com.kugelbit.mercado.estoque.test.listener;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
import java.sql.Connection;
@giovannicandido
giovannicandido / install-docker-ol8.sh
Created August 27, 2023 17:24
Install docker on oracle linux 8
sudo dnf install -y dnf-utils zip unzip
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf remove -y runc
sudo dnf install -y docker-ce --nobest
sudo systemctl enable docker.service --now
sudo usermod opc -aG docker
@giovannicandido
giovannicandido / install-docker.sh
Created July 25, 2023 18:34
install docker in oracle linux 09
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum remove -y docker docker-* podman runc
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
@giovannicandido
giovannicandido / backup.ps1
Created April 15, 2023 16:42
A simple Powershell script to backup winge programs and WSL distros
param(
[Parameter(Mandatory)]
[string]$Backup
)
$DateOfBackup = $(Get-Date -Format "dd-MM-yyyy_HH-mm")
# Function to clean up files
function Clean-Up-Files {
@giovannicandido
giovannicandido / Dockerfile
Created March 16, 2023 13:17
Dockerfile for rust project multiarch build
FROM registry.access.redhat.com/ubi9/ubi-micro
ARG TARGETARCH
ARG EXECUTABLENAME
FROM registry.access.redhat.com/ubi9/ubi-micro
ARG TARGETARCH
ARG EXECUTABLENAME
COPY docker/passwd /etc/passwd
COPY docker/group /etc/group
RUN chmod 644 /etc/passwd && \
@giovannicandido
giovannicandido / build.gradle.kts
Last active March 16, 2023 13:13
Gradle build multi arch rust release and build a image
/*
* This file was generated by the Gradle 'init' task.
*
* This is a general purpose Gradle build.
* Learn more about Gradle by exploring our samples at https://docs.gradle.org/8.0.2/samples
* This project uses @Incubating APIs which are subject to change.
*/
val isReleaseString: String = properties["release"].toString() ?: System.getenv("RELEASE") ?: ""
val isRelease = "true".equals(isReleaseString, ignoreCase = true)