mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-23 15:19:41 +02:00
reorganize all frontend items
This commit is contained in:
parent
d67240d449
commit
00a8fdda41
147 changed files with 3845 additions and 743 deletions
10
frontend/api/class-interfaces/_base.ts
Normal file
10
frontend/api/class-interfaces/_base.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import { ApiRequestInstance } from "~/types/api";
|
||||
|
||||
export class BaseAPIClass {
|
||||
requests: ApiRequestInstance
|
||||
|
||||
constructor(requests: ApiRequestInstance) {
|
||||
this.requests = requests;
|
||||
}
|
||||
}
|
||||
|
55
frontend/api/class-interfaces/recipes.ts
Normal file
55
frontend/api/class-interfaces/recipes.ts
Normal file
|
@ -0,0 +1,55 @@
|
|||
import { BaseAPIClass } from "./_base";
|
||||
import { Recipe } from "~/types/api-types/admin";
|
||||
|
||||
const prefix = "/api";
|
||||
|
||||
const routes = {
|
||||
recipesCreate: `${prefix}/recipes/create`,
|
||||
recipesBase: `${prefix}/recipes`,
|
||||
recipesSummary: `${prefix}/recipes/summary`,
|
||||
recipesTestScrapeUrl: `${prefix}/recipes/test-scrape-url`,
|
||||
recipesCreateUrl: `${prefix}/recipes/create-url`,
|
||||
recipesCreateFromZip: `${prefix}/recipes/create-from-zip`,
|
||||
|
||||
recipesRecipeSlug: (recipe_slug: string) => `${prefix}/recipes/${recipe_slug}`,
|
||||
recipesRecipeSlugZip: (recipe_slug: string) => `${prefix}/recipes/${recipe_slug}/zip`,
|
||||
recipesRecipeSlugImage: (recipe_slug: string) => `${prefix}/recipes/${recipe_slug}/image`,
|
||||
recipesRecipeSlugAssets: (recipe_slug: string) => `${prefix}/recipes/${recipe_slug}/assets`,
|
||||
};
|
||||
|
||||
class RecipeAPI extends BaseAPIClass {
|
||||
async getAll(start = 0, limit = 9999) {
|
||||
return await this.requests.get<Recipe[]>(routes.recipesSummary, {
|
||||
params: { start, limit },
|
||||
});
|
||||
}
|
||||
|
||||
async getOne(slug: string) {
|
||||
return await this.requests.get<Recipe>(routes.recipesRecipeSlug(slug));
|
||||
}
|
||||
|
||||
async createOne(name: string) {
|
||||
return await this.requests.post(routes.recipesBase, { name });
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
recipeImage(recipeSlug: string, version = null, key = null) {
|
||||
return `/api/media/recipes/${recipeSlug}/images/original.webp?&rnd=${key}&version=${version}`;
|
||||
}
|
||||
|
||||
recipeSmallImage(recipeSlug: string, version = null, key = null) {
|
||||
return `/api/media/recipes/${recipeSlug}/images/min-original.webp?&rnd=${key}&version=${version}`;
|
||||
}
|
||||
|
||||
recipeTinyImage(recipeSlug: string, version = null, key = null) {
|
||||
return `/api/media/recipes/${recipeSlug}/images/tiny-original.webp?&rnd=${key}&version=${version}`;
|
||||
}
|
||||
|
||||
recipeAssetPath(recipeSlug: string, assetName: string) {
|
||||
return `/api/media/recipes/${recipeSlug}/assets/${assetName}`;
|
||||
}
|
||||
}
|
||||
|
||||
export { RecipeAPI };
|
Loading…
Add table
Add a link
Reference in a new issue