aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/contexts
diff options
context:
space:
mode:
authoryxshv <[email protected]>2024-04-13 23:14:06 +0530
committeryxshv <[email protected]>2024-04-13 23:14:06 +0530
commita7d72c798d18ae55f9a5de13fa8a94346346779d (patch)
treedd21d39bd0f95446c12d25edb7aaea61ac38f529 /apps/web/src/contexts
parentorder by savedAt (diff)
downloadsupermemory-a7d72c798d18ae55f9a5de13fa8a94346346779d.tar.xz
supermemory-a7d72c798d18ae55f9a5de13fa8a94346346779d.zip
delete spaces and memories
Diffstat (limited to 'apps/web/src/contexts')
-rw-r--r--apps/web/src/contexts/MemoryContext.tsx31
1 files changed, 24 insertions, 7 deletions
diff --git a/apps/web/src/contexts/MemoryContext.tsx b/apps/web/src/contexts/MemoryContext.tsx
index 44fc9799..08ffbcf5 100644
--- a/apps/web/src/contexts/MemoryContext.tsx
+++ b/apps/web/src/contexts/MemoryContext.tsx
@@ -1,7 +1,7 @@
"use client";
import React, { useCallback } from "react";
import { ChachedSpaceContent, StoredContent, storedContent, StoredSpace } from "@/server/db/schema";
-import { addMemory, searchMemoriesAndSpaces, addSpace, fetchContentForSpace } from "@/actions/db";
+import { addMemory, searchMemoriesAndSpaces, addSpace, fetchContentForSpace, deleteSpace, deleteMemory } from "@/actions/db";
import { User } from "next-auth";
export type SearchResult = {
@@ -13,20 +13,22 @@ export type SearchResult = {
// temperory (will change)
export const MemoryContext = React.createContext<{
spaces: StoredSpace[];
- deleteSpace: (id: number) => Promise<void>;
freeMemories: StoredContent[];
addSpace: typeof addSpace;
addMemory: typeof addMemory;
cachedMemories: ChachedSpaceContent[];
search: typeof searchMemoriesAndSpaces;
+ deleteSpace: typeof deleteSpace;
+ deleteMemory: typeof deleteMemory;
}>({
spaces: [],
freeMemories: [],
addMemory: (() => {}) as unknown as (typeof addMemory),
addSpace: (async () => {}) as unknown as (typeof addSpace),
- deleteSpace: async () => {},
cachedMemories: [],
- search: async () => []
+ search: async () => [],
+ deleteMemory: (() => {}) as unknown as (typeof deleteMemory),
+ deleteSpace: (() => {}) as unknown as (typeof deleteSpace)
});
export const MemoryProvider: React.FC<
@@ -46,8 +48,22 @@ export const MemoryProvider: React.FC<
initialCachedMemories
);
- const deleteSpace = async (id: number) => {
- setSpaces((prev) => prev.filter((s) => s.id !== id));
+ const _deleteSpace: typeof deleteSpace = async (...params) => {
+ const deleted = (await deleteSpace(...params))!
+
+ setSpaces(prev => prev.filter(i => i.id !== deleted.id))
+ setCachedMemories(prev => prev.filter(i => i.space !== deleted.id))
+
+ return deleted
+ }
+
+ const _deleteMemory: typeof deleteMemory = async (...params) => {
+ const deleted = (await deleteMemory(...params))!
+
+ setCachedMemories(prev => prev.filter(i => i.id !== deleted.id))
+ setFreeMemories(prev => prev.filter(i => i.id !== deleted.id))
+
+ return deleted
}
// const fetchMemories = useCallback(async (query: string) => {
@@ -94,9 +110,10 @@ export const MemoryProvider: React.FC<
search: searchMemoriesAndSpaces,
spaces,
addSpace: _addSpace,
- deleteSpace,
+ deleteSpace: _deleteSpace,
freeMemories,
cachedMemories,
+ deleteMemory: _deleteMemory,
addMemory: _addMemory,
}}
>