Adicionar verificações de segurança nulas no LeadVendorDTO para evitar erros de título nulos
Mudar o nome para título e adicionar o campo de descrição ao LeadVendor e LeadVendorProduct
Adicione suporte CRUD completo para LeadVendor e LeadVendorProduct com IDs de string
Mudar o Mercado de LeadDTO IDs para String para evitar perda de precisão JavaScript
Adicione anotações explícitas de @Query aos métodos LeadMarketRepository para a resolução adequada de organization.id
Alterar vendasType to String no LeadMarketDTO para corresponder às expectativas do frontend
Alterar vendasType from SaleType enum to String in request DTOs to match frontend
Adicionar entidade LeadMarket, repositório, serviço e DTOs para gerenciamento de mercados de CRM
Adicionar campo streamGuid à Organização para alimentação de mídia em toda a organização
Adicionar valor de enum ao MediaBlockReasonType for social media likes
Adicionar streamGuid ao Lead e suportar streams de mídia específicos de lead
- Adicionado streamCampo de guia para Lead.java para referência MediaSession stream - Updated MediaSessionPost para apoiar associação de chumbo opcional - Actua...
Adicionar MediaObjReportRepository e atualizar serviços de mídia para alimentação social
- Adicionar MediaObjReportRepositório para sistema de tipo/reacção - Atualizar MediaService com a publicação de eventos createPostSession e NATS - Atualizar Med...
Atualizar o EmpregoStatusType para usar o armazenamento STRING enum em vez de ID
Adicionar Enum de Tipo de Membro e campo de Tipo de Membro à entidade Membro para consultas de base de dados eficientes
Adicionar campo avatarType à entidade Avatar para verificação simples do tipo
- Adicionar coluna TIPO para armazenar 'foto' ou 'Avatar Creator' - Remover construtores duplicados que entraram em conflito com o Lombok @NoArgsConstructor - D...
Adicionar campo avatarType à entidade Avatar para verificação simples do tipo
- Adicionar coluna TIPO para armazenar 'foto' ou 'Avatar Creator' - Definir os construtores automaticamente - Evita a necessidade de controlos e questões de pro...
Adicionar a entidade e repositório ThemeBackground com relações Usuário/Membro
Adicionar campo de arquivoHash à entidade Avatar para armazenamento seguro de arquivos
- Adicionar arquivoHash coluna para armazenar SHA-256 hash de avatar ID - O Hash é usado para nomear arquivos MinIO para evitar ataques de enumeração - Formato:...
Remover a chamada 'secure' () inválida do construtor de clientes MinIO
Corrigir o formato de endpoint do cliente MinIO para o domínio de tema HTTPS
Extrair o nome da máquina do URL de endpoint personalizado para o cliente MinIO
Adicionar getPresignedUrlWithEndpoint method for custom endpoint presigned URLs
Adicionar AvatarPhoto e AvatarAvatar Creator classes, refactorar estrutura de herança Avatar
Adicionar repositórios Avatar e UserBackground e suporte a URL pré-assinado
- Adicionado AvatarRepositório com métodos para encontrar avatares pelo usuário - Adicionado UserBackgroundRepositório com métodos para encontrar fundos por usu...
Simplifique o modelo Avatar - os avatars pertencem somente ao usuário
- Campo de membro removido da classe Avatar - avatars agora pertencem apenas aos usuários - Removido OneToMany avatars da classe Membro - os membros não possuem...
Remover o campo 'isset' redundante da classe Avatar
- Removido isSet field uma vez que as classes Usuário/Membro já têm ManyToOne relação avatar - O avatar ativo é determinado pelo campo avatar no Usuário/Membro,...
Substituir o UserPhoto com a hierarquia da herança Avatar e atualizar o UserBackground
- Renomeado UserPhoto to Avatar (classe base) usando a herança JPA JONGED - Criada a subclasse AvatarPhoto para fotos enviadas (apenas para armazenamentos de ex...
Adicionar UserPhoto e UserBackground entities with User/Member relations
- entidade UserPhoto criada para armazenar fotos de perfil de usuário e membro - Criada entidade UserBackground para armazenar imagens de fundo de usuário e mem...
Procurar por sessões de chat existentes por membros de participantes, não apenas o proprietário da sessão
- Changed findOrCreateChatSession para pesquisar registros do MediaSessionMember em vez de MediaSession.member - Agora busca sessões onde o criador é um partici...
Adicionar o FETCH para carregar ansiosamente o membro nas consultas de mensagens
- Adicionado INICIAR FETCH m.member to both findBySessionAndIsRemoved Falsas consultas - Garante que a entidade membro está carregada ansiosamente para evitar p...
Crie automaticamente o fluxo NATS JetStream se não existir
- Adicionado createStreamIfNotExist method to check and create the CHAT MESSAGES stream - O fluxo é criado com assuntos da configuração (chat.>) - Corrige o err...
Fazer o NatsMessageService funcionar com a injecção de JetStream opcional
- Injecção de JetStream alterada para opcional com @Autowired(necessário=false) para lidar com problemas de encomenda de feijão - Removido @ConditionalOnBean pa...
Reordenar anotações no NatsMessageService para verificar a propriedade primeiro, em seguida, bean
Importação correta para CondicionalOnProperty in NatsMessageService
Adicionar CondicionalOnProperty ao NatsMessageService para garantir que ele só carrega quando o NATS está habilitado
Remover o código incorreto no createChatSession - cascata manipula a gravação de chat
Esclarecer que as mensagens são sempre salvas no banco de dados, mesmo que o destinatário esteja offline
Adicionar registro detalhado para publicação de mensagens NATS
Adiciona suporte de paginação para o histórico de mensagens e findOrCreateChatSession para chats de dois membros
Adicionar @PrePersist ao MediaObj para definir automaticamente a dataCriada
Adicionar @PrePersist ao MediaSessionMember para definir automaticamente a dataCriada
Use @PrePersist para definir automaticamente a dataCriada em vez de atribuição manual
Definir dataCriada ao criar a MediaSession para corrigir a violação da restrição do banco de dados
Adicione o JIN FETCH para carregar ansiosamente as relações de organização e usuário
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.