mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-08-05 05:25:26 +02:00
feat: recipe timeline backend api (#1685)
* added recipe_timeline_events table to db * added schema and routes for recipe timeline events * added missing mixin and fixed update schema * added tests * adjusted migration revision tree * updated alembic revision test * added initial timeline event for new recipes * added additional tests * added event bus support * renamed event_dt to timestamp * add timeline_events to ignore list * run code-gen * use new test routes implementation * use doc string syntax * moved event type enum from db to schema Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
This commit is contained in:
parent
714a080ecb
commit
6ee64535df
19 changed files with 639 additions and 6 deletions
|
@ -73,7 +73,7 @@ export const LOCALES = [
|
|||
{
|
||||
name: "Norsk (Norwegian)",
|
||||
value: "no-NO",
|
||||
progress: 80,
|
||||
progress: 85,
|
||||
},
|
||||
{
|
||||
name: "Nederlands (Dutch)",
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
export type ExportTypes = "json";
|
||||
export type RegisteredParser = "nlp" | "brute";
|
||||
export type OrderDirection = "asc" | "desc";
|
||||
export type TimelineEventType = "system" | "info" | "comment";
|
||||
|
||||
export interface AssignCategories {
|
||||
recipes: string[];
|
||||
|
@ -340,6 +341,40 @@ export interface RecipeTagResponse {
|
|||
slug: string;
|
||||
recipes?: RecipeSummary[];
|
||||
}
|
||||
export interface RecipeTimelineEventCreate {
|
||||
userId: string;
|
||||
subject: string;
|
||||
eventType: TimelineEventType;
|
||||
message?: string;
|
||||
image?: string;
|
||||
timestamp?: string;
|
||||
recipeId: string;
|
||||
}
|
||||
export interface RecipeTimelineEventIn {
|
||||
userId?: string;
|
||||
subject: string;
|
||||
eventType: TimelineEventType;
|
||||
message?: string;
|
||||
image?: string;
|
||||
timestamp?: string;
|
||||
}
|
||||
export interface RecipeTimelineEventOut {
|
||||
userId: string;
|
||||
subject: string;
|
||||
eventType: TimelineEventType;
|
||||
message?: string;
|
||||
image?: string;
|
||||
timestamp?: string;
|
||||
recipeId: string;
|
||||
id: string;
|
||||
createdAt: string;
|
||||
updateAt: string;
|
||||
}
|
||||
export interface RecipeTimelineEventUpdate {
|
||||
subject: string;
|
||||
message?: string;
|
||||
image?: string;
|
||||
}
|
||||
export interface RecipeToolCreate {
|
||||
name: string;
|
||||
onHand?: boolean;
|
||||
|
|
2
frontend/types/components.d.ts
vendored
2
frontend/types/components.d.ts
vendored
|
@ -18,6 +18,7 @@ import ButtonLink from "@/components/global/ButtonLink.vue";
|
|||
import ContextMenu from "@/components/global/ContextMenu.vue";
|
||||
import CrudTable from "@/components/global/CrudTable.vue";
|
||||
import DevDumpJson from "@/components/global/DevDumpJson.vue";
|
||||
import DropZone from "@/components/global/DropZone.vue";
|
||||
import HelpIcon from "@/components/global/HelpIcon.vue";
|
||||
import InputColor from "@/components/global/InputColor.vue";
|
||||
import InputLabelType from "@/components/global/InputLabelType.vue";
|
||||
|
@ -56,6 +57,7 @@ declare module "vue" {
|
|||
ContextMenu: typeof ContextMenu;
|
||||
CrudTable: typeof CrudTable;
|
||||
DevDumpJson: typeof DevDumpJson;
|
||||
DropZone: typeof DropZone;
|
||||
HelpIcon: typeof HelpIcon;
|
||||
InputColor: typeof InputColor;
|
||||
InputLabelType: typeof InputLabelType;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue