diff options
| author | yxshv <[email protected]> | 2024-04-13 23:14:06 +0530 |
|---|---|---|
| committer | yxshv <[email protected]> | 2024-04-13 23:14:06 +0530 |
| commit | a7d72c798d18ae55f9a5de13fa8a94346346779d (patch) | |
| tree | dd21d39bd0f95446c12d25edb7aaea61ac38f529 /apps/web/src/contexts | |
| parent | order by savedAt (diff) | |
| download | supermemory-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.tsx | 31 |
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, }} > |