-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi.ts
More file actions
35 lines (34 loc) · 1.04 KB
/
api.ts
File metadata and controls
35 lines (34 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { Query } from 'react-native-appwrite';
import { appwriteConfig, databases } from './lib/appwrite';
import { CategoriesProps, MenusProps } from './types';
const {
databaseId,
userCollectionId,
menuCollectionId,
menuCustomizationsCollectionId,
categoriesCollectionId,
customizationsCollectionId,
} = appwriteConfig;
export const getMenu = async (filter: string, query: string) => {
try {
const buildQuery = [Query.orderDesc('$createdAt')];
if (filter) {
buildQuery.push(Query.equal('category_name', filter));
}
if (query) {
buildQuery.push(Query.search('name', query));
}
const menus = await databases.listDocuments(databaseId, menuCollectionId, buildQuery);
return menus.documents as unknown as MenusProps[];
} catch (error) {
throw error;
}
};
export const getCategories = async () => {
try {
const categories = await databases.listDocuments(databaseId, categoriesCollectionId);
return categories.documents as unknown as CategoriesProps[];
} catch (error) {
throw error;
}
};