fixed admins permissions

This commit is contained in:
slawk0
2025-01-31 23:31:52 +01:00
parent 6804bc096e
commit a190581b54
6 changed files with 25 additions and 5 deletions

12
.idea/dataSources.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="postgres@192.168.0.47" uuid="14650ab3-1172-4a81-ba75-d71296500ca7">
<driver-ref>postgresql</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
<jdbc-url>jdbc:postgresql://192.168.0.47:5432/postgres</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

6
.idea/sqldialects.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/server/db/db.js" dialect="GenericSQL" />
</component>
</project>

View File

@@ -1,4 +1,4 @@
import { ChatMessagesProps, ContactsProps } from '@/types/types.ts'; import { ChatMessagesProps } from '@/types/types.ts';
import { axiosClient } from '@/utils/axiosClient.ts'; import { axiosClient } from '@/utils/axiosClient.ts';
export async function sendContact(contact: string) { export async function sendContact(contact: string) {

View File

@@ -42,8 +42,8 @@ const MessageElement = ({ onDelete, message }: AnimatedMessageProps) => {
const canDelete = const canDelete =
me.isGroupOwner || me.isGroupOwner ||
message.sender === user?.username || (me.isGroupAdmin && message.sender_id !== groupOwner) ||
(me.isGroupAdmin && me.isGroupOwner && message.sender_id !== groupOwner); message.sender === user?.username;
return ( return (
<li <li
@@ -53,7 +53,7 @@ const MessageElement = ({ onDelete, message }: AnimatedMessageProps) => {
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<div className="max-w-full"> <div className="max-w-full">
<div className="flex items-baseline space-x-2"> <div className="flex items-baseline space-x-2">
<span className="font-bold text-gray-200">{message.sender}</span> <span className="font-bold text-emerald-300">{message.sender}</span>
<span <span
className="text-gray-600 text-[11px] antialiased font-sans font-semibold" className="text-gray-600 text-[11px] antialiased font-sans font-semibold"
title={`${fullDate} (${timeAgo})`} title={`${fullDate} (${timeAgo})`}

View File

@@ -104,7 +104,7 @@ function ParticipantsBar() {
setGroupOwner(whoIsOwner?.user_id); setGroupOwner(whoIsOwner?.user_id);
setMe({ isGroupAdmin: userIsAdmin, isGroupOwner: userIsOwner }); setMe({ isGroupAdmin: userIsAdmin, isGroupOwner: userIsOwner });
} }
}, [participants, user?.id]); }, [participants, user?.id, currentContact]);
useEffect(() => { useEffect(() => {
if (currentContact) { if (currentContact) {

View File

@@ -119,11 +119,13 @@ export const ChatProvider = ({ children }: { children: ReactNode }) => {
try { try {
const messages = await getMessages(contact, cursor, 50); const messages = await getMessages(contact, cursor, 50);
if (messages.messages.length < 50) { if (messages.messages.length < 50) {
//TODO zmien to zeby byla jakas stala domyslna dla kursora
setHasMoreMessages(false); setHasMoreMessages(false);
setErrorMessage('No more messages found'); setErrorMessage('No more messages found');
} }
messages.messages.forEach((msg) => { messages.messages.forEach((msg) => {
setMessages((prevMessages) => { setMessages((prevMessages) => {
// Filter already existing messages
if (!prevMessages.some((m) => m.message_id === msg.message_id)) { if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
const messageWithDate = { const messageWithDate = {
...msg, ...msg,