stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
33 lines (27 loc) • 724 B
text/typescript
import { DBDeleteMessageType, MessageLabel } from 'stream-chat';
import { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';
import { SqliteClient } from '../SqliteClient';
export const softDeleteMessage = async ({
deleteForMe = false,
execute = true,
id,
}: DBDeleteMessageType) => {
const query = createUpdateQuery(
'messages',
{
deletedAt: deleteForMe ? undefined : new Date().toISOString(),
deletedForMe: deleteForMe,
type: 'deleted' as MessageLabel,
},
{ id },
);
SqliteClient.logger?.('info', 'softDeleteMessage', {
deleteForMe,
execute,
id,
});
if (execute) {
await SqliteClient.executeSql.apply(null, query);
}
return [query];
};