-
+ {(post?.tags ?? []).map((tag: PostType, idx) => (
+
+ ))}
{settings?.pinned_post_id === post.id && (
)}
diff --git a/apps/web/pages/api/integrations/zapier/trigger-new-post.tsx b/apps/web/pages/api/integrations/zapier/trigger-new-post.tsx
index 148450a..7a1df67 100644
--- a/apps/web/pages/api/integrations/zapier/trigger-new-post.tsx
+++ b/apps/web/pages/api/integrations/zapier/trigger-new-post.tsx
@@ -11,7 +11,7 @@ import {
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<
- | Pick
[]
+ | Pick[]
| null
| IErrorResponse
>
@@ -38,7 +38,7 @@ export default async function handler(
const { data: posts } = await supabaseAdmin
.from("posts")
- .select("id,title,content,type,created_at")
+ .select("id,title,content,tags,created_at")
.eq("page_id", String(pageDetails.id))
.eq("status", String(status))
.order("created_at", { ascending: false })
diff --git a/apps/web/pages/api/posts/index.ts b/apps/web/pages/api/posts/index.ts
index bddcf47..11d2017 100644
--- a/apps/web/pages/api/posts/index.ts
+++ b/apps/web/pages/api/posts/index.ts
@@ -11,6 +11,7 @@ const createNewPost = async (req: NextApiRequest, res: NextApiResponse) => {
title,
content,
type,
+ tags,
status,
images_folder,
publish_at,
@@ -39,7 +40,8 @@ const createNewPost = async (req: NextApiRequest, res: NextApiResponse) => {
page_id,
title,
content,
- type,
+ type: type ?? tags[0], // To be removed
+ tags,
status,
images_folder,
publish_at,
diff --git a/packages/supabase/migrations/14_post_tags.sql b/packages/supabase/migrations/14_post_tags.sql
new file mode 100644
index 0000000..b6f8250
--- /dev/null
+++ b/packages/supabase/migrations/14_post_tags.sql
@@ -0,0 +1,8 @@
+ALTER TABLE IF EXISTS public.posts
+ADD COLUMN tags text [] not null DEFAULT '{}';
+
+UPDATE posts
+SET tags = array_append(tags, type::text);
+
+ALTER TABLE posts
+DROP COLUMN type;
\ No newline at end of file
diff --git a/packages/supabase/types/index.ts b/packages/supabase/types/index.ts
index 18edfe4..cd7e05c 100644
--- a/packages/supabase/types/index.ts
+++ b/packages/supabase/types/index.ts
@@ -152,13 +152,6 @@ export type Database = {
referencedRelation: "pages"
referencedColumns: ["id"]
},
- {
- foreignKeyName: "page_settings_user_id_fkey"
- columns: ["user_id"]
- isOneToOne: false
- referencedRelation: "users"
- referencedColumns: ["id"]
- },
]
}
page_views: {
@@ -236,15 +229,7 @@ export type Database = {
url_slug?: string | null
user_id?: string
}
- Relationships: [
- {
- foreignKeyName: "pages_user_id_fkey"
- columns: ["user_id"]
- isOneToOne: false
- referencedRelation: "users"
- referencedColumns: ["id"]
- },
- ]
+ Relationships: []
}
post_reactions: {
Row: {
@@ -303,8 +288,8 @@ export type Database = {
publication_date: string | null
publish_at: string | null
status: Database["public"]["Enums"]["post_status"]
+ tags: string[]
title: string
- type: Database["public"]["Enums"]["post_type"]
updated_at: string
user_id: string
}
@@ -320,8 +305,8 @@ export type Database = {
publication_date?: string | null
publish_at?: string | null
status: Database["public"]["Enums"]["post_status"]
+ tags?: string[]
title: string
- type: Database["public"]["Enums"]["post_type"]
updated_at?: string
user_id: string
}
@@ -337,8 +322,8 @@ export type Database = {
publication_date?: string | null
publish_at?: string | null
status?: Database["public"]["Enums"]["post_status"]
+ tags?: string[]
title?: string
- type?: Database["public"]["Enums"]["post_type"]
updated_at?: string
user_id?: string
}
@@ -350,13 +335,6 @@ export type Database = {
referencedRelation: "pages"
referencedColumns: ["id"]
},
- {
- foreignKeyName: "posts_user_id_fkey"
- columns: ["user_id"]
- isOneToOne: false
- referencedRelation: "users"
- referencedColumns: ["id"]
- },
]
}
users: {
@@ -384,15 +362,7 @@ export type Database = {
stripe_subscription?: Json | null
stripe_subscription_id?: string | null
}
- Relationships: [
- {
- foreignKeyName: "users_id_fkey"
- columns: ["id"]
- isOneToOne: true
- referencedRelation: "users"
- referencedColumns: ["id"]
- },
- ]
+ Relationships: []
}
}
Views: {
@@ -548,3 +518,18 @@ export type Enums<
: PublicEnumNameOrOptions extends keyof PublicSchema["Enums"]
? PublicSchema["Enums"][PublicEnumNameOrOptions]
: never
+
+export type CompositeTypes<
+ PublicCompositeTypeNameOrOptions extends
+ | keyof PublicSchema["CompositeTypes"]
+ | { schema: keyof Database },
+ CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
+ schema: keyof Database
+ }
+ ? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
+ : never = never,
+> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
+ ? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
+ : PublicCompositeTypeNameOrOptions extends keyof PublicSchema["CompositeTypes"]
+ ? PublicSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
+ : never