Compare commits
No commits in common. "fca37022d779e0d11d4af2d46ceb68c505339197" and "ba5e89e892ce98a11ae03d928530c762a4502a14" have entirely different histories.
fca37022d7
...
ba5e89e892
@ -1,7 +0,0 @@
|
|||||||
DO $$ BEGIN
|
|
||||||
CREATE TYPE "public"."article_status" AS ENUM('queued', 'transcribing', 'generating', 'done');
|
|
||||||
EXCEPTION
|
|
||||||
WHEN duplicate_object THEN null;
|
|
||||||
END $$;
|
|
||||||
--> statement-breakpoint
|
|
||||||
ALTER TABLE "articles" ADD COLUMN "status" "article_status" DEFAULT 'done';
|
|
@ -1 +0,0 @@
|
|||||||
ALTER TABLE "articles" ALTER COLUMN "status" SET DEFAULT 'queued';
|
|
@ -1,485 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "805686b7-a39a-4dd8-b119-37d73e86d686",
|
|
||||||
"prevId": "d4c8325d-683a-4d6d-bcf7-bf16892332cc",
|
|
||||||
"version": "7",
|
|
||||||
"dialect": "postgresql",
|
|
||||||
"tables": {
|
|
||||||
"public.articles": {
|
|
||||||
"name": "articles",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"site_id": {
|
|
||||||
"name": "site_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"name": "content",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"source_video_id": {
|
|
||||||
"name": "source_video_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"name": "title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"seo_slug": {
|
|
||||||
"name": "seo_slug",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"is_public": {
|
|
||||||
"name": "is_public",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"views": {
|
|
||||||
"name": "views",
|
|
||||||
"type": "integer",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"seo_title": {
|
|
||||||
"name": "seo_title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"seo_description": {
|
|
||||||
"name": "seo_description",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"excerp": {
|
|
||||||
"name": "excerp",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"created_at": {
|
|
||||||
"name": "created_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "now()"
|
|
||||||
},
|
|
||||||
"status": {
|
|
||||||
"name": "status",
|
|
||||||
"type": "article_status",
|
|
||||||
"typeSchema": "public",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'done'"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"articles_site_id_sites_id_fk": {
|
|
||||||
"name": "articles_site_id_sites_id_fk",
|
|
||||||
"tableFrom": "articles",
|
|
||||||
"tableTo": "sites",
|
|
||||||
"columnsFrom": [
|
|
||||||
"site_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.sessions": {
|
|
||||||
"name": "sessions",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"user_id": {
|
|
||||||
"name": "user_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"google_access_token": {
|
|
||||||
"name": "google_access_token",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"google_refresh_token": {
|
|
||||||
"name": "google_refresh_token",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"expires_at": {
|
|
||||||
"name": "expires_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"sessions_user_id_users_id_fk": {
|
|
||||||
"name": "sessions_user_id_users_id_fk",
|
|
||||||
"tableFrom": "sessions",
|
|
||||||
"tableTo": "users",
|
|
||||||
"columnsFrom": [
|
|
||||||
"user_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.signups": {
|
|
||||||
"name": "signups",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
"site_id": {
|
|
||||||
"name": "site_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"name": "source",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"created_at": {
|
|
||||||
"name": "created_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "now()"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"signups_site_id_sites_id_fk": {
|
|
||||||
"name": "signups_site_id_sites_id_fk",
|
|
||||||
"tableFrom": "signups",
|
|
||||||
"tableTo": "sites",
|
|
||||||
"columnsFrom": [
|
|
||||||
"site_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.sites": {
|
|
||||||
"name": "sites",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"user_id": {
|
|
||||||
"name": "user_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"name": "name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"primary_color_hex": {
|
|
||||||
"name": "primary_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'c4ced4'"
|
|
||||||
},
|
|
||||||
"secondary_color_hex": {
|
|
||||||
"name": "secondary_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'27251f'"
|
|
||||||
},
|
|
||||||
"text_color_hex": {
|
|
||||||
"name": "text_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'ffffff'"
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"name": "title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'The best blog in the world!'"
|
|
||||||
},
|
|
||||||
"subtitle": {
|
|
||||||
"name": "subtitle",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'Some extra info about the best blog in the world!'"
|
|
||||||
},
|
|
||||||
"domain": {
|
|
||||||
"name": "domain",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "NULL"
|
|
||||||
},
|
|
||||||
"send_freebie": {
|
|
||||||
"name": "send_freebie",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"freebie_name": {
|
|
||||||
"name": "freebie_name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_url": {
|
|
||||||
"name": "freebie_url",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_text": {
|
|
||||||
"name": "freebie_text",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_image_url": {
|
|
||||||
"name": "freebie_image_url",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"subdomain_slug": {
|
|
||||||
"name": "subdomain_slug",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"social_medias": {
|
|
||||||
"name": "social_medias",
|
|
||||||
"type": "jsonb",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"auto_publish": {
|
|
||||||
"name": "auto_publish",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"pubsub_expiry": {
|
|
||||||
"name": "pubsub_expiry",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"sites_user_id_users_id_fk": {
|
|
||||||
"name": "sites_user_id_users_id_fk",
|
|
||||||
"tableFrom": "sites",
|
|
||||||
"tableTo": "users",
|
|
||||||
"columnsFrom": [
|
|
||||||
"user_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {
|
|
||||||
"sites_domain_unique": {
|
|
||||||
"name": "sites_domain_unique",
|
|
||||||
"nullsNotDistinct": false,
|
|
||||||
"columns": [
|
|
||||||
"domain"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"public.users": {
|
|
||||||
"name": "users",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"google_id": {
|
|
||||||
"name": "google_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"stripe_id": {
|
|
||||||
"name": "stripe_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"name": "name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"channel_id": {
|
|
||||||
"name": "channel_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"uploads_playlist_id": {
|
|
||||||
"name": "uploads_playlist_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"subscription_tier": {
|
|
||||||
"name": "subscription_tier",
|
|
||||||
"type": "subscription_tier",
|
|
||||||
"typeSchema": "public",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'free'"
|
|
||||||
},
|
|
||||||
"tokens": {
|
|
||||||
"name": "tokens",
|
|
||||||
"type": "integer",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.waitlist": {
|
|
||||||
"name": "waitlist",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enums": {
|
|
||||||
"public.article_status": {
|
|
||||||
"name": "article_status",
|
|
||||||
"schema": "public",
|
|
||||||
"values": [
|
|
||||||
"queued",
|
|
||||||
"transcribing",
|
|
||||||
"generating",
|
|
||||||
"done"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"public.subscription_tier": {
|
|
||||||
"name": "subscription_tier",
|
|
||||||
"schema": "public",
|
|
||||||
"values": [
|
|
||||||
"free",
|
|
||||||
"basic",
|
|
||||||
"pro",
|
|
||||||
"enterprise"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"schemas": {},
|
|
||||||
"_meta": {
|
|
||||||
"columns": {},
|
|
||||||
"schemas": {},
|
|
||||||
"tables": {}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,485 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "9e95f80e-79e7-4af0-9a8e-327fb358ec26",
|
|
||||||
"prevId": "805686b7-a39a-4dd8-b119-37d73e86d686",
|
|
||||||
"version": "7",
|
|
||||||
"dialect": "postgresql",
|
|
||||||
"tables": {
|
|
||||||
"public.articles": {
|
|
||||||
"name": "articles",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"site_id": {
|
|
||||||
"name": "site_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"name": "content",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"source_video_id": {
|
|
||||||
"name": "source_video_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"name": "title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"seo_slug": {
|
|
||||||
"name": "seo_slug",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"is_public": {
|
|
||||||
"name": "is_public",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"views": {
|
|
||||||
"name": "views",
|
|
||||||
"type": "integer",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"seo_title": {
|
|
||||||
"name": "seo_title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"seo_description": {
|
|
||||||
"name": "seo_description",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"excerp": {
|
|
||||||
"name": "excerp",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"created_at": {
|
|
||||||
"name": "created_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "now()"
|
|
||||||
},
|
|
||||||
"status": {
|
|
||||||
"name": "status",
|
|
||||||
"type": "article_status",
|
|
||||||
"typeSchema": "public",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'queued'"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"articles_site_id_sites_id_fk": {
|
|
||||||
"name": "articles_site_id_sites_id_fk",
|
|
||||||
"tableFrom": "articles",
|
|
||||||
"tableTo": "sites",
|
|
||||||
"columnsFrom": [
|
|
||||||
"site_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.sessions": {
|
|
||||||
"name": "sessions",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"user_id": {
|
|
||||||
"name": "user_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"google_access_token": {
|
|
||||||
"name": "google_access_token",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"google_refresh_token": {
|
|
||||||
"name": "google_refresh_token",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"expires_at": {
|
|
||||||
"name": "expires_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"sessions_user_id_users_id_fk": {
|
|
||||||
"name": "sessions_user_id_users_id_fk",
|
|
||||||
"tableFrom": "sessions",
|
|
||||||
"tableTo": "users",
|
|
||||||
"columnsFrom": [
|
|
||||||
"user_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.signups": {
|
|
||||||
"name": "signups",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
"site_id": {
|
|
||||||
"name": "site_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"name": "source",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"created_at": {
|
|
||||||
"name": "created_at",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "now()"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"signups_site_id_sites_id_fk": {
|
|
||||||
"name": "signups_site_id_sites_id_fk",
|
|
||||||
"tableFrom": "signups",
|
|
||||||
"tableTo": "sites",
|
|
||||||
"columnsFrom": [
|
|
||||||
"site_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.sites": {
|
|
||||||
"name": "sites",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"user_id": {
|
|
||||||
"name": "user_id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"name": "name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"primary_color_hex": {
|
|
||||||
"name": "primary_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'c4ced4'"
|
|
||||||
},
|
|
||||||
"secondary_color_hex": {
|
|
||||||
"name": "secondary_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'27251f'"
|
|
||||||
},
|
|
||||||
"text_color_hex": {
|
|
||||||
"name": "text_color_hex",
|
|
||||||
"type": "varchar(6)",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'ffffff'"
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"name": "title",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'The best blog in the world!'"
|
|
||||||
},
|
|
||||||
"subtitle": {
|
|
||||||
"name": "subtitle",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "'Some extra info about the best blog in the world!'"
|
|
||||||
},
|
|
||||||
"domain": {
|
|
||||||
"name": "domain",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "NULL"
|
|
||||||
},
|
|
||||||
"send_freebie": {
|
|
||||||
"name": "send_freebie",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"freebie_name": {
|
|
||||||
"name": "freebie_name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_url": {
|
|
||||||
"name": "freebie_url",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_text": {
|
|
||||||
"name": "freebie_text",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"freebie_image_url": {
|
|
||||||
"name": "freebie_image_url",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": "''"
|
|
||||||
},
|
|
||||||
"subdomain_slug": {
|
|
||||||
"name": "subdomain_slug",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"social_medias": {
|
|
||||||
"name": "social_medias",
|
|
||||||
"type": "jsonb",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"auto_publish": {
|
|
||||||
"name": "auto_publish",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"pubsub_expiry": {
|
|
||||||
"name": "pubsub_expiry",
|
|
||||||
"type": "timestamp",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {
|
|
||||||
"sites_user_id_users_id_fk": {
|
|
||||||
"name": "sites_user_id_users_id_fk",
|
|
||||||
"tableFrom": "sites",
|
|
||||||
"tableTo": "users",
|
|
||||||
"columnsFrom": [
|
|
||||||
"user_id"
|
|
||||||
],
|
|
||||||
"columnsTo": [
|
|
||||||
"id"
|
|
||||||
],
|
|
||||||
"onDelete": "no action",
|
|
||||||
"onUpdate": "no action"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {
|
|
||||||
"sites_domain_unique": {
|
|
||||||
"name": "sites_domain_unique",
|
|
||||||
"nullsNotDistinct": false,
|
|
||||||
"columns": [
|
|
||||||
"domain"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"public.users": {
|
|
||||||
"name": "users",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"id": {
|
|
||||||
"name": "id",
|
|
||||||
"type": "uuid",
|
|
||||||
"primaryKey": true,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "gen_random_uuid()"
|
|
||||||
},
|
|
||||||
"google_id": {
|
|
||||||
"name": "google_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"stripe_id": {
|
|
||||||
"name": "stripe_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"name": "name",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"channel_id": {
|
|
||||||
"name": "channel_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"uploads_playlist_id": {
|
|
||||||
"name": "uploads_playlist_id",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
},
|
|
||||||
"subscription_tier": {
|
|
||||||
"name": "subscription_tier",
|
|
||||||
"type": "subscription_tier",
|
|
||||||
"typeSchema": "public",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "'free'"
|
|
||||||
},
|
|
||||||
"tokens": {
|
|
||||||
"name": "tokens",
|
|
||||||
"type": "integer",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
},
|
|
||||||
"public.waitlist": {
|
|
||||||
"name": "waitlist",
|
|
||||||
"schema": "",
|
|
||||||
"columns": {
|
|
||||||
"email": {
|
|
||||||
"name": "email",
|
|
||||||
"type": "text",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indexes": {},
|
|
||||||
"foreignKeys": {},
|
|
||||||
"compositePrimaryKeys": {},
|
|
||||||
"uniqueConstraints": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enums": {
|
|
||||||
"public.article_status": {
|
|
||||||
"name": "article_status",
|
|
||||||
"schema": "public",
|
|
||||||
"values": [
|
|
||||||
"queued",
|
|
||||||
"transcribing",
|
|
||||||
"generating",
|
|
||||||
"done"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"public.subscription_tier": {
|
|
||||||
"name": "subscription_tier",
|
|
||||||
"schema": "public",
|
|
||||||
"values": [
|
|
||||||
"free",
|
|
||||||
"basic",
|
|
||||||
"pro",
|
|
||||||
"enterprise"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"schemas": {},
|
|
||||||
"_meta": {
|
|
||||||
"columns": {},
|
|
||||||
"schemas": {},
|
|
||||||
"tables": {}
|
|
||||||
}
|
|
||||||
}
|
|
@ -64,20 +64,6 @@
|
|||||||
"when": 1718354167998,
|
"when": 1718354167998,
|
||||||
"tag": "0008_smart_captain_cross",
|
"tag": "0008_smart_captain_cross",
|
||||||
"breakpoints": true
|
"breakpoints": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"idx": 9,
|
|
||||||
"version": "7",
|
|
||||||
"when": 1718818623333,
|
|
||||||
"tag": "0009_wooden_weapon_omega",
|
|
||||||
"breakpoints": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"idx": 10,
|
|
||||||
"version": "7",
|
|
||||||
"when": 1718818704691,
|
|
||||||
"tag": "0010_complex_malice",
|
|
||||||
"breakpoints": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -2,7 +2,6 @@ import { sql } from "drizzle-orm";
|
|||||||
import { boolean, date, integer, jsonb, pgEnum, pgTable, text, timestamp, unique, uniqueIndex, uuid, varchar } from "drizzle-orm/pg-core";
|
import { boolean, date, integer, jsonb, pgEnum, pgTable, text, timestamp, unique, uniqueIndex, uuid, varchar } from "drizzle-orm/pg-core";
|
||||||
|
|
||||||
export const subscription_enum = pgEnum("subscription_tier", ["free", "basic", "pro", "enterprise"])
|
export const subscription_enum = pgEnum("subscription_tier", ["free", "basic", "pro", "enterprise"])
|
||||||
export const article_status_enum = pgEnum("article_status", ["queued", "transcribing", "generating", "done"])
|
|
||||||
|
|
||||||
export const users = pgTable("users", {
|
export const users = pgTable("users", {
|
||||||
id: uuid("id").defaultRandom().primaryKey(),
|
id: uuid("id").defaultRandom().primaryKey(),
|
||||||
@ -71,9 +70,11 @@ export const articles = pgTable("articles", {
|
|||||||
meta_title: text("seo_title"),
|
meta_title: text("seo_title"),
|
||||||
meta_desc: text("seo_description"),
|
meta_desc: text("seo_description"),
|
||||||
excerp: text("excerp"),
|
excerp: text("excerp"),
|
||||||
status: article_status_enum("status").default("queued"),
|
|
||||||
created_at: timestamp("created_at").defaultNow()
|
created_at: timestamp("created_at").defaultNow()
|
||||||
|
// }, (t) => ({
|
||||||
|
// unq: unique().on(t.site_id, t.seo_slug).nullsNotDistinct()
|
||||||
})
|
})
|
||||||
|
// );
|
||||||
|
|
||||||
export const signups = pgTable("signups", {
|
export const signups = pgTable("signups", {
|
||||||
email: text("email").notNull(),
|
email: text("email").notNull(),
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { and, desc, eq, not, or, sql } from "drizzle-orm";
|
import { and, desc, eq, or, sql } from "drizzle-orm";
|
||||||
import { db } from "../db/index.js";
|
import { db } from "../db/index.js";
|
||||||
import { authMiddlewareFn } from "../modules/middleware.js";
|
import { authMiddlewareFn } from "../modules/middleware.js";
|
||||||
import { articles, articles as articlesTable, signups as signupsTable, sites, users } from "../db/schemas.js";
|
import { articles, articles as articlesTable, signups as signupsTable, sites, users } from "../db/schemas.js";
|
||||||
@ -64,7 +64,7 @@ export const blogRoutes = (fastify, _, done) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clause = eq(articlesTable.site_id, site.id);
|
clause = eq(articlesTable.site_id, site.id);
|
||||||
if (!mine) {
|
if (mine == false) {
|
||||||
clause = and(eq(articlesTable.site_id, site.id), eq(articlesTable.is_public, true));
|
clause = and(eq(articlesTable.site_id, site.id), eq(articlesTable.is_public, true));
|
||||||
}
|
}
|
||||||
// const access_token = await getAccessToken(fastify, request);
|
// const access_token = await getAccessToken(fastify, request);
|
||||||
@ -77,31 +77,17 @@ export const blogRoutes = (fastify, _, done) => {
|
|||||||
views: articlesTable.views,
|
views: articlesTable.views,
|
||||||
is_public: articlesTable.is_public,
|
is_public: articlesTable.is_public,
|
||||||
created_at: articlesTable.created_at,
|
created_at: articlesTable.created_at,
|
||||||
}).from(articlesTable).where(and(eq(articlesTable.status, "done"), clause)).limit(10).offset(request.query.offset || 0).orderBy(desc(articlesTable.created_at));
|
}).from(articlesTable).where(clause).limit(10).offset(request.query.offset || 0).orderBy(desc(articlesTable.created_at));
|
||||||
|
|
||||||
const [{ total }] = await db.select({
|
const [{ total }] = await db.select({
|
||||||
total: sql`COUNT(*)`
|
total: sql`COUNT(*)`
|
||||||
}).from(articlesTable).where(clause);
|
}).from(articlesTable).where(clause);
|
||||||
|
|
||||||
let queue = [];
|
|
||||||
if (mine) {
|
|
||||||
queue = await db.select({
|
|
||||||
id: articlesTable.id,
|
|
||||||
title: articlesTable.title,
|
|
||||||
seo_slug: articlesTable.seo_slug,
|
|
||||||
views: articlesTable.views,
|
|
||||||
is_public: articlesTable.is_public,
|
|
||||||
created_at: articlesTable.created_at,
|
|
||||||
status: articlesTable.status
|
|
||||||
}).where(and(eq(articlesTable.site_id, site.id), not(articlesTable.status, "done")));
|
|
||||||
}
|
|
||||||
|
|
||||||
response.send({
|
response.send({
|
||||||
success: true,
|
success: true,
|
||||||
articles: results,
|
articles: results,
|
||||||
total_articles: total,
|
total_articles: total,
|
||||||
site,
|
site,
|
||||||
queue
|
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
|
@ -6,6 +6,7 @@ import ytdl from 'ytdl-core';
|
|||||||
import { getWhisperCaptions } from './ai.js';
|
import { getWhisperCaptions } from './ai.js';
|
||||||
const service = google.youtube("v3");
|
const service = google.youtube("v3");
|
||||||
|
|
||||||
|
|
||||||
export async function getVideoById(access_token, video_id) {
|
export async function getVideoById(access_token, video_id) {
|
||||||
const video = await service.videos.list({
|
const video = await service.videos.list({
|
||||||
access_token,
|
access_token,
|
||||||
|
Loading…
Reference in New Issue
Block a user