diff --git a/src/assets/templates/cachet-db-dark.png b/src/assets/templates/cachet-db-dark.png new file mode 100644 index 00000000..4466586d Binary files /dev/null and b/src/assets/templates/cachet-db-dark.png differ diff --git a/src/assets/templates/cachet-db.png b/src/assets/templates/cachet-db.png new file mode 100644 index 00000000..14aa7d2b Binary files /dev/null and b/src/assets/templates/cachet-db.png differ diff --git a/src/assets/templates/canvas-db-dark.png b/src/assets/templates/canvas-db-dark.png new file mode 100644 index 00000000..1a1ba9bd Binary files /dev/null and b/src/assets/templates/canvas-db-dark.png differ diff --git a/src/assets/templates/canvas-db.png b/src/assets/templates/canvas-db.png new file mode 100644 index 00000000..e83b3508 Binary files /dev/null and b/src/assets/templates/canvas-db.png differ diff --git a/src/assets/templates/doorkeeper-db-dark.png b/src/assets/templates/doorkeeper-db-dark.png new file mode 100644 index 00000000..3e755bdd Binary files /dev/null and b/src/assets/templates/doorkeeper-db-dark.png differ diff --git a/src/assets/templates/doorkeeper-db.png b/src/assets/templates/doorkeeper-db.png new file mode 100644 index 00000000..ff166249 Binary files /dev/null and b/src/assets/templates/doorkeeper-db.png differ diff --git a/src/assets/templates/flipper-db-dark.png b/src/assets/templates/flipper-db-dark.png new file mode 100644 index 00000000..8db9e1ce Binary files /dev/null and b/src/assets/templates/flipper-db-dark.png differ diff --git a/src/assets/templates/flipper-db.png b/src/assets/templates/flipper-db.png new file mode 100644 index 00000000..cf14b546 Binary files /dev/null and b/src/assets/templates/flipper-db.png differ diff --git a/src/assets/templates/orchid-db-dark.png b/src/assets/templates/orchid-db-dark.png new file mode 100644 index 00000000..fa254509 Binary files /dev/null and b/src/assets/templates/orchid-db-dark.png differ diff --git a/src/assets/templates/orchid-db.png b/src/assets/templates/orchid-db.png new file mode 100644 index 00000000..634f05c4 Binary files /dev/null and b/src/assets/templates/orchid-db.png differ diff --git a/src/assets/templates/taggit-db-dark.png b/src/assets/templates/taggit-db-dark.png new file mode 100644 index 00000000..c19a2497 Binary files /dev/null and b/src/assets/templates/taggit-db-dark.png differ diff --git a/src/assets/templates/taggit-db.png b/src/assets/templates/taggit-db.png new file mode 100644 index 00000000..965caa76 Binary files /dev/null and b/src/assets/templates/taggit-db.png differ diff --git a/src/templates-data/templates-data.ts b/src/templates-data/templates-data.ts index a3b92f21..68d114be 100644 --- a/src/templates-data/templates-data.ts +++ b/src/templates-data/templates-data.ts @@ -31,6 +31,12 @@ import { feedbinDb } from './templates/feedbin-db'; import { freescoutDb } from './templates/freescout-db'; import { hackerNewsDb } from './templates/hacker-news-db'; import { flarumDb } from './templates/flarum-db'; +import { canvasDb } from './templates/canvas-db'; +import { taggitDb } from './templates/taggit-db'; +import { doorkeeperDb } from './templates/doorkeeper-db'; +import { orchidDb } from './templates/orchid-db'; +import { flipperDb } from './templates/flipper-db'; +import { cachetDb } from './templates/cachet-db'; export interface Template { slug: string; name: string; @@ -77,4 +83,10 @@ export const templates: Template[] = [ freescoutDb, hackerNewsDb, flarumDb, + canvasDb, + taggitDb, + doorkeeperDb, + orchidDb, + flipperDb, + cachetDb, ]; diff --git a/src/templates-data/templates/cachet-db.ts b/src/templates-data/templates/cachet-db.ts new file mode 100644 index 00000000..e27c4d01 --- /dev/null +++ b/src/templates-data/templates/cachet-db.ts @@ -0,0 +1,3223 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/cachet-db.png'; +import imageDark from '@/assets/templates/cachet-db-dark.png'; + +export const cachetDb: Template = { + slug: 'cachet-database', + name: 'Cachet', + shortDescription: 'Status page for your website', + description: + 'Cachet is a beautiful, open source status page system for your website.', + image, + imageDark, + tags: ['Postgres', 'Open Source', 'Laravel', 'PHP'], + featured: false, + url: 'https://github.com/cachethq/cachet', + diagram: { + id: 'cachet_db', + name: 'cachet-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.POSTGRESQL, + tables: [ + { + id: '07vt2hng58z26q1zt6tv10pmb', + name: 'metric_points', + schema: 'public', + x: 1870.5053406129946, + y: 712.2223778898995, + fields: [ + { + id: '8lend13cbexw89dgxkfr7mhg5', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bwx8nb2kuz2fwc7bni4nabq19', + name: 'metric_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '99y1dohsotrrecneb4xawqtsl', + name: 'value', + type: { + id: 'numeric', + name: 'numeric', + }, + primaryKey: false, + unique: false, + nullable: false, + precision: 8, + scale: 2, + createdAt: Date.now(), + }, + { + id: 't7o89eplg9u56b8gt9v3yle4p', + name: 'counter', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'pto2y03b2qxzp30knrseop79u', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '4yo4v5ldp7gf8zzuwccl7enhp', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'lu8m4gwyfztgoh8p8w7vrvt68', + name: 'metric_points_metric_id_index', + unique: false, + fieldIds: ['bwx8nb2kuz2fwc7bni4nabq19'], + createdAt: Date.now(), + }, + { + id: 'k50bgdb44k94rqvdx0c6988bb', + name: 'metric_points_pkey', + unique: true, + fieldIds: ['8lend13cbexw89dgxkfr7mhg5'], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '0b940cuiyw9n0rnl85nd41wqa', + name: 'metrics', + schema: 'public', + x: 1865.8586937645891, + y: 251.61652955794432, + fields: [ + { + id: 'xx86byj5l3jfkn3822anghf66', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'zn6az01yg1ns7qgdlhs607iho', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '63rc6dj20we91g5j8jck644fv', + name: 'suffix', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'gj27mws1ur52v4pchirjxhvqd', + name: 'description', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'svi7mc8yc28kr6kck7buks23s', + name: 'default_value', + type: { + id: 'numeric', + name: 'numeric', + }, + primaryKey: false, + unique: false, + nullable: false, + precision: 8, + scale: 2, + createdAt: Date.now(), + }, + { + id: '6bz4il6a0inqqvhhskfnie25h', + name: 'calc_type', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '4spertonf7adqzqze3sinu3tt', + name: 'display_chart', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'mvnp7qav1hjsw142c3d7bzy2k', + name: 'places', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'm57x2uwr50upf6tkin31xde2x', + name: 'default_view', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '6q4n9rlbf2p2f3ymuf2h96wl6', + name: 'threshold', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'tabwl9y15tn6215qow2ut0nas', + name: 'order', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '3ck79v9fnw78yseg84xgq5alc', + name: 'visible', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '77wdw185wedgyqrfuo78qujeh', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'wfvaz5q0kjc6bburgp3neub9e', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '90ujv63b6e21ze9s1n5xzpkwt', + name: 'metrics_visible_index', + unique: false, + fieldIds: ['3ck79v9fnw78yseg84xgq5alc'], + createdAt: Date.now(), + }, + { + id: 'c2v0mwqssyvw6bd6utcj8uwpj', + name: 'metrics_display_chart_index', + unique: false, + fieldIds: ['4spertonf7adqzqze3sinu3tt'], + createdAt: Date.now(), + }, + { + id: '8qjoov56jp3kp6zobxjaonm5v', + name: 'metrics_pkey', + unique: true, + fieldIds: ['xx86byj5l3jfkn3822anghf66'], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '1bna44n1s2kobiarnmbhkdp1l', + name: 'failed_jobs', + schema: 'public', + x: 720, + y: 1300, + fields: [ + { + id: 'x3mlkp7xftnu1p9899myjk0lb', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'yrzlovrojwa8zugrwtaosv9ct', + name: 'connection', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'iwmdzb5u4n8yypotbnhzfnpx7', + name: 'queue', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'cja2p021cmzevyxrjd10cbyfg', + name: 'payload', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'hwyb11jfre48m26gi1k3j34zf', + name: 'failed_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'd5n9710c8rgvyxn8udn7axyl1', + name: 'failed_jobs_pkey', + unique: true, + fieldIds: ['x3mlkp7xftnu1p9899myjk0lb'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '4yn27fu9nw10dgde9tj6c4h8i', + name: 'component_groups', + schema: 'public', + x: 1300, + y: 966.0254037844386, + fields: [ + { + id: 'lghgy83wmos5n3t0ejn6kgdbu', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '3itl8214kqpajx0oc8ak5d312', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '0h3jvgr3vrkpx6qoj9lfzzd54', + name: 'order', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'e57le2kcvurezh8708um5rg7z', + name: 'visible', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'e2vso14vntxky64mcx8f4132t', + name: 'collapsed', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'n6h9v2dp1ymtw28ca1db5scwi', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'o4x0gjzq0bzdz38wq7l3agw78', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'xmevrrhksviwrss8hbn6oxq5i', + name: 'component_groups_pkey', + unique: true, + fieldIds: ['lghgy83wmos5n3t0ejn6kgdbu'], + createdAt: Date.now(), + }, + { + id: 'n969imcag49jm6dxp73xt5u8v', + name: 'component_groups_order_index', + unique: false, + fieldIds: ['0h3jvgr3vrkpx6qoj9lfzzd54'], + createdAt: Date.now(), + }, + { + id: 'zaimt4vjuehm8hpfssw91t5om', + name: 'component_groups_visible_index', + unique: false, + fieldIds: ['e57le2kcvurezh8708um5rg7z'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '5loe58avy8n0qet9r4e29k3rv', + name: 'cache', + schema: 'public', + x: 1660, + y: 1460, + fields: [ + { + id: '3p2ngj9rpl1m3fxz5t1l0xohr', + name: 'key', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '2jgl49uzupdgewho4fom7v0bz', + name: 'value', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'dgw3b9tp03ufz89sigfbxq9k0', + name: 'expiration', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'ou8u9mox8dpib7ans99ith4gt', + name: 'cache_key_unique', + unique: true, + fieldIds: ['3p2ngj9rpl1m3fxz5t1l0xohr'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '6fsvdt6260bp1o45zrw5k8qkh', + name: 'schedules', + schema: 'public', + x: 379.3945019203188, + y: 996.7324603399024, + fields: [ + { + id: 'xttjgedtl2b41l22c67u4c8ug', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'l639hpazjeoxt3tkvlldxkaer', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '49cbz63gy4w40zm2lhdrjral1', + name: 'message', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'qux2vev7flo5c5s8z825safqo', + name: 'status', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'ompzzw32v028vome1ae8t8mog', + name: 'scheduled_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'l7lvkz2k1d6g39qbekcu3s09a', + name: 'completed_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '3lmvo28xvnhiz1bp83h6t35yj', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'apzy4o9hbxfzj7wd9lz9zjjh9', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'e29matwezo9mvhzfs3w6i541d', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'u3ikmeq9mf2onij4w0h6qekmp', + name: 'schedules_pkey', + unique: true, + fieldIds: ['xttjgedtl2b41l22c67u4c8ug'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '9ingg4to3vgcpwsc44ttpayvv', + name: 'settings', + schema: 'public', + x: 1040, + y: 1660, + fields: [ + { + id: 'h6e4zmf0aaealbtjbapa8edcs', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'vitp5wswokw53z3j093ozqx3h', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'x0s5zxqjtq341y08tuua5t6bd', + name: 'value', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'w3y88q1degoeyt3fs1sh934e2', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'vtzc4zuod559edguzdycjy86o', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'ry8o1bhhhmu2927dbw92y43iy', + name: 'settings_pkey', + unique: true, + fieldIds: ['h6e4zmf0aaealbtjbapa8edcs'], + createdAt: Date.now(), + }, + ], + color: '#ffe374', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'bk2m1htht8ql1oumdqlgy3ewd', + name: 'sessions', + schema: 'public', + x: -499.7979338052569, + y: 352.6087446288702, + fields: [ + { + id: '7q8nxh352ihj6vatq0sumiocu', + name: 'id', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 's3u6j6fbozr1whqwt288b4aac', + name: 'user_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '1i20isr788grrfzfadz1t0bjm', + name: 'ip_address', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'm3id593mjv91fozvqbe2qvpkx', + name: 'user_agent', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'apvtvojhndz6bl4clogiybmyv', + name: 'payload', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'w2rlo44krmog6u8bhc429uvjb', + name: 'last_activity', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '9yfpljflg78raoyqpddlkbdfn', + name: 'sessions_id_unique', + unique: true, + fieldIds: ['7q8nxh352ihj6vatq0sumiocu'], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'e2o4je3e9xu58ypexxczbjhhv', + name: 'actions', + schema: 'public', + x: -486.4641918442708, + y: -42.02013656901951, + fields: [ + { + id: 'a7kn7zratpy3hns7s2z1lkuoa', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '2622yssqaqq1482dc9bdh6yvc', + name: 'class_name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'jz44650yuxo1hzhpswp65du3y', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'jw8vovrscyi67o656q8wvejlr', + name: 'username', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'm073k1ec4bxss7ttpl22vie9l', + name: 'information', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'k1zus1lmd58ee4ys05h56j5uk', + name: 'description', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '69ws372fhmsqxuie6ygj4i1gc', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '1ahwjes7cltj2msle28v97pes', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'w5f42l9afq95rpr27r6plvygn', + name: 'actions_pkey', + unique: true, + fieldIds: ['a7kn7zratpy3hns7s2z1lkuoa'], + createdAt: Date.now(), + }, + { + id: 'l5rosxeocwfah788nfuq9jsae', + name: 'actions_user_id_index', + unique: false, + fieldIds: ['jz44650yuxo1hzhpswp65du3y'], + createdAt: Date.now(), + }, + ], + color: '#4dee8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'f2t2zw6y7qi8dfk3p8y2e7hjn', + name: 'jobs', + schema: 'public', + x: 1020, + y: 1300, + fields: [ + { + id: 'y7rrke4cwp44wr8zm8ide5jxm', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'm4ed9ubl4fy2yh3e9atkjrwmq', + name: 'queue', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'pjhy5pww5d1fvzu7sbkljh61w', + name: 'payload', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '4j5epu1vggkx2cupjjjox3gqi', + name: 'attempts', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'f1u2dhqfx1b1ajycp2uud1s8r', + name: 'reserved', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'w85ku3mryfp89ybmqv6nnhjcv', + name: 'reserved_at', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'z5sxw97h1anaq0urd57zqdg1b', + name: 'available_at', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'a975ievzbaxn30myq0tbum9g3', + name: 'created_at', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'l3i36fwpfjha85b7xdfpeigw4', + name: 'jobs_pkey', + unique: true, + fieldIds: ['y7rrke4cwp44wr8zm8ide5jxm'], + createdAt: Date.now(), + }, + ], + color: '#c05dcf', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'fz3n2os1g7k526t4moiwjouo5', + name: 'subscribers', + schema: 'public', + x: 1435.5557695986117, + y: 53.214943213099275, + fields: [ + { + id: 'ywdwx6x3ci9v5mzex1aeo9u1v', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '95nn5k18rk08g66wp9pk7ed2x', + name: 'email', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: true, + createdAt: Date.now(), + }, + { + id: '8vp9xtqw00sc2goez1f44yboc', + name: 'verify_code', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'go5d8fut6mzo21kfyz51q09l4', + name: 'phone_number', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'f7nq0tnq8sl2utqikng0ch73i', + name: 'slack_webhook_url', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'j57nh4amhy08407tstw7o097p', + name: 'verified_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'ifgc3ljug8w2f8n483fzuv9id', + name: 'global', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'dxjoowxyzs5e6eb55hfsy0c5t', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'ty6zuawndq89zu985ezz9d57c', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '45dve5k22dtk7ci7dlw7mgqa7', + name: 'subscribers_email_unique', + unique: true, + fieldIds: ['95nn5k18rk08g66wp9pk7ed2x'], + createdAt: Date.now(), + }, + { + id: 'ip47lzls7w44htwc9yjvxs7ru', + name: 'subscribers_pkey', + unique: true, + fieldIds: ['ywdwx6x3ci9v5mzex1aeo9u1v'], + createdAt: Date.now(), + }, + ], + color: '#4dee8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'inlbay63htympu3gk8ix79jbc', + name: 'incidents', + schema: 'public', + x: 292.3232358611342, + y: 521.4975556839205, + fields: [ + { + id: '2ns55u2zdhbws8cv98jr3wtw2', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'd6jjkpnfd60uulmtjhlzw376f', + name: 'user_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '55df7i92da62i9jn62xrnlv8t', + name: 'component_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'uiq0bdajlgn7zixkhmwwv9b1l', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'znsdp1xklncvmv1mljp4itkwp', + name: 'status', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'dk7n1sc9htlufhefb0a95v9ad', + name: 'visible', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '9fzv8220ndt1f917obe0zysgs', + name: 'stickied', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '1vtblzerpu2xnr2pgk0ftxie7', + name: 'notifications', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'dwngztboqrl2f5rnpsqtrd7x4', + name: 'message', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '5qccpnq3nkgjtcyrwrpph7zjo', + name: 'occurred_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'te0q305a3swec6lf62kdptcbe', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'sbvpyre8sz3t7ygqihy99cdtr', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'g5rjttbj3kooolblfgwt6pvdy', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'd89ktsi5k9qrzhgb4oei5z1rf', + name: 'incidents_visible_index', + unique: false, + fieldIds: ['dk7n1sc9htlufhefb0a95v9ad'], + createdAt: Date.now(), + }, + { + id: 'zlewes1s73mhlb8pe1xmcpkl5', + name: 'incidents_component_id_index', + unique: false, + fieldIds: ['55df7i92da62i9jn62xrnlv8t'], + createdAt: Date.now(), + }, + { + id: 'rzhie6u9rg65icg2s1gvtob5l', + name: 'incidents_pkey', + unique: true, + fieldIds: ['2ns55u2zdhbws8cv98jr3wtw2'], + createdAt: Date.now(), + }, + { + id: 'k2kyc1x7r1y70ztxl5ryh4qv2', + name: 'incidents_user_id_index', + unique: false, + fieldIds: ['d6jjkpnfd60uulmtjhlzw376f'], + createdAt: Date.now(), + }, + { + id: '1kv276ohynvnqhdjsia97wm0e', + name: 'incidents_stickied_index', + unique: false, + fieldIds: ['9fzv8220ndt1f917obe0zysgs'], + createdAt: Date.now(), + }, + { + id: 'jituiwlw4p67bg2czzs94vl2c', + name: 'incidents_status_index', + unique: false, + fieldIds: ['znsdp1xklncvmv1mljp4itkwp'], + createdAt: Date.now(), + }, + ], + color: '#ff6363', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'mnkhj38bpnzrwd7a5hao6yxu8', + name: 'meta', + schema: 'public', + x: 1340, + y: 1380, + fields: [ + { + id: 'quscs63a4n44lqpdkgbnbxoyz', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'wszo7gt287t33p441nxa0nbuk', + name: 'key', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'qkdbmxbep79szigw71edqlkba', + name: 'value', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '7yvvyqftmyhe852c9tnk2s660', + name: 'meta_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'yo5nygppds5p8fz9ok548ensz', + name: 'meta_type', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '87sp3i38l7jfn93abm0febyy0', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'jbai1rj56c57gisj1s0fsqwnt', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'bx8ob0ndploo39f10of94eyam', + name: 'meta_meta_id_meta_type_index', + unique: false, + fieldIds: [ + '7yvvyqftmyhe852c9tnk2s660', + 'yo5nygppds5p8fz9ok548ensz', + ], + createdAt: Date.now(), + }, + { + id: '9u1sgvtf0lx8troixj7kymo1w', + name: 'meta_key_index', + unique: false, + fieldIds: ['wszo7gt287t33p441nxa0nbuk'], + createdAt: Date.now(), + }, + { + id: '87ilvlo4pso0kd1a1v9odpafn', + name: 'meta_pkey', + unique: true, + fieldIds: ['quscs63a4n44lqpdkgbnbxoyz'], + createdAt: Date.now(), + }, + ], + color: '#9ef07a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'ozilylkctti9wackg2o6uaykz', + name: 'tags', + schema: 'public', + x: 376.3932022500212, + y: 1426.905328038456, + fields: [ + { + id: '9tqqm00r4x543is97r0qvkuu3', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '2xqxfck2gvt7c1p39qjof00cs', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '7f1t7zy4eyy1xpo1fqoai9q4v', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'dng5yku27useii36dwyhoajch', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'hug5h8pmgiuylu70pdgivqu5o', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'jdcy9qr89z1u6bdskx0k4h8g0', + name: 'tags_pkey', + unique: true, + fieldIds: ['9tqqm00r4x543is97r0qvkuu3'], + createdAt: Date.now(), + }, + { + id: 'bm6xabyk1pxleupyfk3yqwclq', + name: 'tags_name_slug_unique', + unique: true, + fieldIds: [ + '2xqxfck2gvt7c1p39qjof00cs', + '7f1t7zy4eyy1xpo1fqoai9q4v', + ], + createdAt: Date.now(), + }, + ], + color: '#ff6b8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'pucdcomnbz9abwcyy6nqkpf7j', + name: 'users', + schema: 'public', + x: 100, + y: 100, + fields: [ + { + id: 'nkkmmg5x4c1m1wthcizayw1mr', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '1z0nwvljagqa116oi45e1sdsh', + name: 'username', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'iy1c47inpea4hh19pi4vb1tsb', + name: 'password', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '7i0dhqe98g87ijxvoaa691uag', + name: 'remember_token', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'a5ssg3ixjjo6aphlt29m34xoz', + name: 'google_2fa_secret', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'a4l3lvs8zgg76axywfuggthpb', + name: 'email', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'pyrr52nnzfqczu6mfebo7bwr4', + name: 'api_key', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'xpitcjje18mu4xqjr7d2hiqdw', + name: 'active', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '4egkaoxrljhdgi55rykm902zz', + name: 'level', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'md51ublh11ts2ogm3iy3qwd5q', + name: 'welcomed', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '7ih4q46pd4ehvtb5z80mv9wdd', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '9ktxegq2e7so1ns2gsyytcbqg', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'esylv9u3x5ltkwhczlczrmc07', + name: 'users_remember_token_index', + unique: false, + fieldIds: ['7i0dhqe98g87ijxvoaa691uag'], + createdAt: Date.now(), + }, + { + id: 'r2oyqdvi7e2modg6sxrfdqyp3', + name: 'users_pkey', + unique: true, + fieldIds: ['nkkmmg5x4c1m1wthcizayw1mr'], + createdAt: Date.now(), + }, + { + id: 'bb412lq7td3hdj4xvxqo87oxq', + name: 'users_username_unique', + unique: true, + fieldIds: ['1z0nwvljagqa116oi45e1sdsh'], + createdAt: Date.now(), + }, + { + id: 'xjpjsat8ol07w9tbo50xyn0lo', + name: 'users_email_unique', + unique: true, + fieldIds: ['a4l3lvs8zgg76axywfuggthpb'], + createdAt: Date.now(), + }, + { + id: '4q4yhev2erv1x2pmvkly2b5gu', + name: 'users_active_index', + unique: false, + fieldIds: ['xpitcjje18mu4xqjr7d2hiqdw'], + createdAt: Date.now(), + }, + { + id: 'jw7vwvwwf5f5vwj97b2ak3cb3', + name: 'users_api_key_unique', + unique: true, + fieldIds: ['pyrr52nnzfqczu6mfebo7bwr4'], + createdAt: Date.now(), + }, + ], + color: '#ff9f74', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'qp0x5urte3lc8s23mzzs0xrg5', + name: 'schedule_components', + schema: 'public', + x: 900.0000000000001, + y: 966.0254037844386, + fields: [ + { + id: '1q1riaix1z03qa2e5de7mrl0t', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '3p628swzh7ejw9s18vzd9o3jc', + name: 'schedule_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'h7tfpdto1pxdhesv6xp1upirm', + name: 'component_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'c3uqq3piwyr3jk0z4zwabq33t', + name: 'component_status', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'cptmsywe41c51q4p255tgnfmm', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'erapwt35oeboey0mc2v17cb30', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 's0yxyhgqjaego10b3527slaqf', + name: 'schedule_components_pkey', + unique: true, + fieldIds: ['1q1riaix1z03qa2e5de7mrl0t'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'r0wuggimglf3j3v5ptspet6h6', + name: 'notifications', + schema: 'public', + x: 964.2430398373299, + y: 153.75131575632332, + fields: [ + { + id: 'q0cdfso7yejakzpdfhed2822h', + name: 'id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '40smhmw31vujpzz1l8fiu48na', + name: 'type', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '75a75e8w2optrwa7xa3d71n5o', + name: 'notifiable_type', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 't011rjqswjchd1z2i874970r0', + name: 'notifiable_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '61pi606ejj881zw31yu763pe9', + name: 'data', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'km9ynepchow0k3697i35viwzk', + name: 'read_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '39je4apfnkfvif9dka11rj0yg', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'blk7p5ma39iz76vp86xaqlt3h', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '12x2yzy8b8auqlz2dtljd39jo', + name: 'notifications_pkey', + unique: true, + fieldIds: ['q0cdfso7yejakzpdfhed2822h'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 's6tuixda8i8bwa77h5qubxwf2', + name: 'taggables', + schema: 'public', + x: -280.77839640198704, + y: 723.2690121637661, + fields: [ + { + id: '16c8hopw2ii1z93cvr3za4srb', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '18l477b3157zwzyvygexxgnkf', + name: 'tag_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'nc08xx2ptugx0spoe5cdz1ndq', + name: 'taggable_type', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'kwf583oc318j5j1jolkmovprj', + name: 'taggable_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'nuui0dfelutmawon0g8bj68us', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '1f3wioy5e8yf2w9jgbvmwzmwz', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '5bkrkm856zxfu7z31c9gjmb0z', + name: 'taggables_pkey', + unique: true, + fieldIds: ['16c8hopw2ii1z93cvr3za4srb'], + createdAt: Date.now(), + }, + { + id: 'zqhme3zws0hulhzbirs147o2e', + name: 'taggables_tag_id_index', + unique: false, + fieldIds: ['18l477b3157zwzyvygexxgnkf'], + createdAt: Date.now(), + }, + ], + color: '#8eb7ff', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'shfsrit1nebzidvocw567j97x', + name: 'incident_templates', + schema: 'public', + x: 720, + y: 1600, + fields: [ + { + id: 'kc3cr6lg2uul4hmxh1ioymbt0', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'tpomtu5142h9jw99iaeybxdaz', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '25mnke8mw19hngkafgzkv2wwv', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bq4c61ehbfup8s1xcrznz7ym3', + name: 'template', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '8i5sramyikut6242qb2zyc2p7', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'yg5a7dup26ku31w48vizxnzv7', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'snu9ogo0iusxcjb7dfwq58i6v', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'mlecf6paluxjo5g8ejqy2sh3q', + name: 'incident_templates_pkey', + unique: true, + fieldIds: ['kc3cr6lg2uul4hmxh1ioymbt0'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'sqs88mo88g2twwg4gt7pjeng6', + name: 'components', + schema: 'public', + x: 1142.2222027637627, + y: 513.8207915450546, + fields: [ + { + id: '7u58wkmc3kbw611rpccnlnk6t', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'ng9bdd7zowngtkqocn4p9zx5m', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'sgdn7zr8qgsmjtgqx7vp82pbo', + name: 'description', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '05yz2a0atqcz04vs586ldt7ws', + name: 'link', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'big1nn687z1irmgqdg2s6eh1g', + name: 'status', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'hkby974puf0dgblgfp0g8rbhi', + name: 'order', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'ldttfxw9ic4cbhj95wogo29bv', + name: 'group_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bzsupa4z8ka61y1dxclh6pjaq', + name: 'user_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'a28wvlujmxuaxrkp4imcuq9mm', + name: 'enabled', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'kx68bya03pxbqgb5ewbct7k0n', + name: 'meta', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'j9l7zyezk9ftrznku3bgqwnsh', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'lb25srlxcs3tueihotm9ktsuw', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'j732mem7p473kakf22bk0i29y', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '5ozo3brus7dewouhqv8d00816', + name: 'components_user_id_index', + unique: false, + fieldIds: ['bzsupa4z8ka61y1dxclh6pjaq'], + createdAt: Date.now(), + }, + { + id: 'bj0870z7zmcpvlb4axg98wz72', + name: 'components_pkey', + unique: true, + fieldIds: ['7u58wkmc3kbw611rpccnlnk6t'], + createdAt: Date.now(), + }, + { + id: 'syg65bvnbe5av6zdqmqm3oj9t', + name: 'components_status_index', + unique: false, + fieldIds: ['big1nn687z1irmgqdg2s6eh1g'], + createdAt: Date.now(), + }, + { + id: '5ofjwrjpxhyte7x587fao8063', + name: 'components_order_index', + unique: false, + fieldIds: ['hkby974puf0dgblgfp0g8rbhi'], + createdAt: Date.now(), + }, + { + id: 'ne890us8ah2uemm83au3fkxa2', + name: 'components_group_id_index', + unique: false, + fieldIds: ['ldttfxw9ic4cbhj95wogo29bv'], + createdAt: Date.now(), + }, + ], + color: '#8eb7ff', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 't6gud7e5hiaekjyhmjn33su6y', + name: 'incident_components', + schema: 'public', + x: 700, + y: 533.0127018922193, + fields: [ + { + id: 'fw467pufd0pkngw90w1qa4ut5', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'rkg1fewuv2uqb2wlfll7mf184', + name: 'incident_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bcdq9b2q747ody8ocn9z6zrgc', + name: 'component_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '2ggicz2kh4v2ukhfwqoxil7f4', + name: 'status_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'tvbn4piwqvnrawcm6u0851nbh', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'fqq9vm17hvjkkpn46z93brpnx', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'zlagxn9v5qedadap6vyb23ij3', + name: 'incident_components_pkey', + unique: true, + fieldIds: ['fw467pufd0pkngw90w1qa4ut5'], + createdAt: Date.now(), + }, + { + id: 'mz1b4r73lvep6adkzfugdnsuh', + name: 'incident_components_incident_id_index', + unique: false, + fieldIds: ['rkg1fewuv2uqb2wlfll7mf184'], + createdAt: Date.now(), + }, + { + id: 'rqi9glk8svudkk6ojjfh9ky2k', + name: 'incident_components_status_id_index', + unique: false, + fieldIds: ['2ggicz2kh4v2ukhfwqoxil7f4'], + createdAt: Date.now(), + }, + { + id: 'ulfrk7i1h155u6myefte0e2i3', + name: 'incident_components_component_id_index', + unique: false, + fieldIds: ['bcdq9b2q747ody8ocn9z6zrgc'], + createdAt: Date.now(), + }, + ], + color: '#ffe374', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'uzhcagh3e71in32z8atmvwps6', + name: 'subscriptions', + schema: 'public', + x: 1500, + y: 533.0127018922193, + fields: [ + { + id: 'w3hshhk9p9zl5etw6xi4fmnov', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'xdmksw14kxbxz2g51l2ubu2h4', + name: 'subscriber_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'je0yk529sgmz4m1uciynvjk1p', + name: 'component_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'i6nbfrgnyc7ggc6nom7scym05', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '3aiv7iv82ptv5juojvudiuuk4', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '8sv5ien1jnl4716l2un4nkpxd', + name: 'subscriptions_pkey', + unique: true, + fieldIds: ['w3hshhk9p9zl5etw6xi4fmnov'], + createdAt: Date.now(), + }, + { + id: '116kfiyv3gcjrt4rmo5znzqm6', + name: 'subscriptions_subscriber_id_index', + unique: false, + fieldIds: ['xdmksw14kxbxz2g51l2ubu2h4'], + createdAt: Date.now(), + }, + { + id: 'bhdpsuykwak57qadf560rd861', + name: 'subscriptions_component_id_index', + unique: false, + fieldIds: ['je0yk529sgmz4m1uciynvjk1p'], + createdAt: Date.now(), + }, + ], + color: '#ffe374', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'v0lg3xf7pk1lmspjn9av2mpan', + name: 'invites', + schema: 'public', + x: 723.2332342420259, + y: -296.07782510530006, + fields: [ + { + id: 'rqdwpbsvtmj63pu1k0g54pfoy', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'ul3v20odfpyg3cvj4jaji4ide', + name: 'code', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'hvqaq3fln299m9e2xvab6j40y', + name: 'email', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'f3vkb6ieqbx9dwuqko1vgw6fm', + name: 'claimed_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'q6rzepmsw2e5povgw9clz519u', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'nujghuk2q58j7tp7uzkh0etae', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '5fx6pmul8sfqggbov3g4knbgu', + name: 'invites_code_unique', + unique: true, + fieldIds: ['ul3v20odfpyg3cvj4jaji4ide'], + createdAt: Date.now(), + }, + { + id: 'ddyx1depyopmimf1nl2iblj92', + name: 'invites_pkey', + unique: true, + fieldIds: ['rqdwpbsvtmj63pu1k0g54pfoy'], + createdAt: Date.now(), + }, + ], + color: '#c05dcf', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'ww2zqox7zrcbupj0utcx9ccp2', + name: 'incident_updates', + schema: 'public', + x: 335.32401015302094, + y: -285.2224509784819, + fields: [ + { + id: 'yq6etmmqmccvm50frcm9p3oqt', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bpbh0cy72hbpit6qajgpksf51', + name: 'incident_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'h5v34jk6pz6m344wwjitioc2o', + name: 'status', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'awqo3mxjobqm8v4a9smxt0j0e', + name: 'message', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '95q01m5513zu4ca4078tmorbh', + name: 'user_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'gh9ndfkzzm60zfn02zaouef7u', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'ktrnte6asqja6vedjpa167fu6', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'bxzt79rbztm8ad9rtl1pzgd9k', + name: 'incident_updates_incident_id_index', + unique: false, + fieldIds: ['bpbh0cy72hbpit6qajgpksf51'], + createdAt: Date.now(), + }, + { + id: '7jwkbeqn6oby1fy12rqdc7ppp', + name: 'incident_updates_pkey', + unique: true, + fieldIds: ['yq6etmmqmccvm50frcm9p3oqt'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [ + { + id: '41ysedlf3qupmb96z11zt6azq', + name: 'incident_updates_incident_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'ww2zqox7zrcbupj0utcx9ccp2', + targetTableId: 'inlbay63htympu3gk8ix79jbc', + sourceFieldId: 'bpbh0cy72hbpit6qajgpksf51', + targetFieldId: '2ns55u2zdhbws8cv98jr3wtw2', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '43oro76tcoy7aku4qa1z9j698', + name: 'notifications_notifiable_id_foreign_2', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'r0wuggimglf3j3v5ptspet6h6', + targetTableId: 'fz3n2os1g7k526t4moiwjouo5', + sourceFieldId: 't011rjqswjchd1z2i874970r0', + targetFieldId: 'ywdwx6x3ci9v5mzex1aeo9u1v', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '8ogc2xyby3h4r97q0fj6uxsam', + name: 'incident_updates_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'ww2zqox7zrcbupj0utcx9ccp2', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: '95q01m5513zu4ca4078tmorbh', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '90g0fa036chyow7jy8mgoopnc', + name: 'components_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'sqs88mo88g2twwg4gt7pjeng6', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: 'bzsupa4z8ka61y1dxclh6pjaq', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '9imkpz00l1oe83mclsj9hqlqd', + name: 'taggables_taggable_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 's6tuixda8i8bwa77h5qubxwf2', + targetTableId: 'inlbay63htympu3gk8ix79jbc', + sourceFieldId: 'kwf583oc318j5j1jolkmovprj', + targetFieldId: '2ns55u2zdhbws8cv98jr3wtw2', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'bv13ojtkkrnhn7qvo5jhe83je', + name: 'taggables_tag_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 's6tuixda8i8bwa77h5qubxwf2', + targetTableId: 'ozilylkctti9wackg2o6uaykz', + sourceFieldId: '18l477b3157zwzyvygexxgnkf', + targetFieldId: '9tqqm00r4x543is97r0qvkuu3', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'gcrpbefqmh409hmdekdwdkvom', + name: 'subscriptions_component_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'uzhcagh3e71in32z8atmvwps6', + targetTableId: 'sqs88mo88g2twwg4gt7pjeng6', + sourceFieldId: 'je0yk529sgmz4m1uciynvjk1p', + targetFieldId: '7u58wkmc3kbw611rpccnlnk6t', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'hkvoaqam9uki4jnekrkrn2f66', + name: 'subscriptions_subscriber_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'uzhcagh3e71in32z8atmvwps6', + targetTableId: 'fz3n2os1g7k526t4moiwjouo5', + sourceFieldId: 'xdmksw14kxbxz2g51l2ubu2h4', + targetFieldId: 'ywdwx6x3ci9v5mzex1aeo9u1v', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'ivhqdjn2eavrxvzzz7zlw440m', + name: 'incident_components_component_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 't6gud7e5hiaekjyhmjn33su6y', + targetTableId: 'sqs88mo88g2twwg4gt7pjeng6', + sourceFieldId: 'bcdq9b2q747ody8ocn9z6zrgc', + targetFieldId: '7u58wkmc3kbw611rpccnlnk6t', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'l589c9h07spc9yu4vpdgr9rq9', + name: 'sessions_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'bk2m1htht8ql1oumdqlgy3ewd', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: 's3u6j6fbozr1whqwt288b4aac', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'm66h23czqdoc8dhvgt9tjnbdm', + name: 'schedule_components_schedule_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'qp0x5urte3lc8s23mzzs0xrg5', + targetTableId: '6fsvdt6260bp1o45zrw5k8qkh', + sourceFieldId: '3p628swzh7ejw9s18vzd9o3jc', + targetFieldId: 'xttjgedtl2b41l22c67u4c8ug', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'nh4xaqg0w4bkdckg8n5ndcwdh', + name: 'notifications_notifiable_id_foreign_3', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'r0wuggimglf3j3v5ptspet6h6', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: 't011rjqswjchd1z2i874970r0', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'p50m8ht142yfwp0rygxz5zt0n', + name: 'actions_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'e2o4je3e9xu58ypexxczbjhhv', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: 'jz44650yuxo1hzhpswp65du3y', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'pbpmut1qd91vvgmz6kbqivwpj', + name: 'incident_components_incident_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 't6gud7e5hiaekjyhmjn33su6y', + targetTableId: 'inlbay63htympu3gk8ix79jbc', + sourceFieldId: 'rkg1fewuv2uqb2wlfll7mf184', + targetFieldId: '2ns55u2zdhbws8cv98jr3wtw2', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'rbdztcp9fuvyoibx3d586gnp3', + name: 'incidents_component_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'inlbay63htympu3gk8ix79jbc', + targetTableId: 'sqs88mo88g2twwg4gt7pjeng6', + sourceFieldId: '55df7i92da62i9jn62xrnlv8t', + targetFieldId: '7u58wkmc3kbw611rpccnlnk6t', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'uolsffp8nwwcwrkeaod5f3lj9', + name: 'metric_points_metric_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: '07vt2hng58z26q1zt6tv10pmb', + targetTableId: '0b940cuiyw9n0rnl85nd41wqa', + sourceFieldId: 'bwx8nb2kuz2fwc7bni4nabq19', + targetFieldId: 'xx86byj5l3jfkn3822anghf66', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'wuse63txikuiebwm2gfwdm65o', + name: 'components_group_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'sqs88mo88g2twwg4gt7pjeng6', + targetTableId: '4yn27fu9nw10dgde9tj6c4h8i', + sourceFieldId: 'ldttfxw9ic4cbhj95wogo29bv', + targetFieldId: 'lghgy83wmos5n3t0ejn6kgdbu', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'wwe84iy44n729k6gpmkqvnf6d', + name: 'notifications_notifiable_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'r0wuggimglf3j3v5ptspet6h6', + targetTableId: 'v0lg3xf7pk1lmspjn9av2mpan', + sourceFieldId: 't011rjqswjchd1z2i874970r0', + targetFieldId: 'rqdwpbsvtmj63pu1k0g54pfoy', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'x1chggehpdbwnbebnjubxp1xu', + name: 'incidents_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'inlbay63htympu3gk8ix79jbc', + targetTableId: 'pucdcomnbz9abwcyy6nqkpf7j', + sourceFieldId: 'd6jjkpnfd60uulmtjhlzw376f', + targetFieldId: 'nkkmmg5x4c1m1wthcizayw1mr', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'yw8xi2zx0q307k3m39sm8vpep', + name: 'schedule_components_component_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'qp0x5urte3lc8s23mzzs0xrg5', + targetTableId: 'sqs88mo88g2twwg4gt7pjeng6', + sourceFieldId: 'h7tfpdto1pxdhesv6xp1upirm', + targetFieldId: '7u58wkmc3kbw611rpccnlnk6t', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + ], + dependencies: [], + }, +}; diff --git a/src/templates-data/templates/canvas-db.ts b/src/templates-data/templates/canvas-db.ts new file mode 100644 index 00000000..2d4263d0 --- /dev/null +++ b/src/templates-data/templates/canvas-db.ts @@ -0,0 +1,1219 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/canvas-db.png'; +import imageDark from '@/assets/templates/canvas-db-dark.png'; + +export const canvasDb: Template = { + slug: 'canvas-database', + name: 'Canvas', + shortDescription: 'Publishing on your own terms', + description: + 'A simple, open source extend your existing Laravel application and get you up-and-running with a blog in just a few minutes.', + image, + imageDark, + tags: ['Postgres', 'Open Source', 'Laravel', 'PHP'], + featured: false, + url: 'https://github.com/austintoddj/canvas', + diagram: { + id: 'canvas_db', + name: 'canvas-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.POSTGRESQL, + tables: [ + { + id: '1036n2uhrd3e9vydlf26z9g7q', + name: 'canvas_posts_topics', + schema: 'public', + x: 781.0231299278557, + y: 669.6825280193192, + fields: [ + { + id: 'fhwlpd8w33hobomelorttw9tj', + name: 'post_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'tsd8jzjwcmfw6mx5jer3whbph', + name: 'topic_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '25mjdadwkpffg0e9590f4y16w', + name: 'canvas_posts_topics_post_id_topic_id_unique', + unique: true, + fieldIds: [ + 'fhwlpd8w33hobomelorttw9tj', + 'tsd8jzjwcmfw6mx5jer3whbph', + ], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '5xwa6smxaoukrdo6g2e19nskt', + name: 'users', + schema: 'public', + x: 730.7548246927765, + y: 231.3642712247439, + fields: [ + { + id: '1nv304nagqmk8a01qgm8ghdmm', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'ciza8eyl53g1goacncp93e8vy', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'qzpmc3xjhw23d73cadadb1ozn', + name: 'email', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'rqq5qwf4p9d3x3mtvydimloei', + name: 'email_verified_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'offrjkr13nazmlgh9elxzae39', + name: 'password', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'nys8tpb5w0th3ur2a9wj9bv59', + name: 'remember_token', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'z2xzqa6lurpwoeiqkean8rdfa', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'dvac9q5ctgq3kmebn2o8a13g2', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'nqp42b8s3wo0zu7so4joyb98x', + name: 'users_email_unique', + unique: true, + fieldIds: ['qzpmc3xjhw23d73cadadb1ozn'], + createdAt: Date.now(), + }, + { + id: 'nph7qdsk1091nhvo7fclbc1ls', + name: 'users_pkey', + unique: true, + fieldIds: ['1nv304nagqmk8a01qgm8ghdmm'], + createdAt: Date.now(), + }, + ], + color: '#ff6363', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'gpzadn5qm3mx6jotmjgpu8htc', + name: 'canvas_posts', + schema: 'public', + x: 100, + y: 100, + fields: [ + { + id: 'x0y13niv8biq1ak1zoglm6fvi', + name: 'id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '1zmnya1d85gksdyt8742t3lbs', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '9nxqq9vkbtv7l889tl87d0bpf', + name: 'title', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'lv36rainmlib6eqk8ap4wfo9t', + name: 'summary', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'o3vcqg4uebkluvhcjy6cnmuv5', + name: 'body', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'sjnm2biaejyxnoy1bcbcv03xh', + name: 'published_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '7kisl6d3lygky70d0fbovq9lc', + name: 'featured_image', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'zzdd3opqp6co2a17zr49g5ppg', + name: 'featured_image_caption', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '6hmnwaur8d0s2wpgdo6sccok3', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'e6lyhjoudpy4188gagz2dsd04', + name: 'meta', + type: { + id: 'json', + name: 'json', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'uqoms2dp83n25kpt74izuwqv3', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'zqhyvmdl3u9yifta5ix8du66v', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'seo6rh5chhw21ialsfvqrgfzw', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '4vpvvjftxyk9jhbozgws557rv', + name: 'canvas_posts_slug_user_id_unique', + unique: true, + fieldIds: [ + '1zmnya1d85gksdyt8742t3lbs', + '6hmnwaur8d0s2wpgdo6sccok3', + ], + createdAt: Date.now(), + }, + { + id: 'mmvgnwdm8uavgw4u0cvbpnbif', + name: 'canvas_posts_user_id_index', + unique: false, + fieldIds: ['6hmnwaur8d0s2wpgdo6sccok3'], + createdAt: Date.now(), + }, + { + id: 'zvws6jn6245yw352tuc0utdpa', + name: 'canvas_posts_pkey', + unique: true, + fieldIds: ['x0y13niv8biq1ak1zoglm6fvi'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'iide3o2zr3cbfno06ybiepksi', + name: 'canvas_views', + schema: 'public', + x: 512.6081944444154, + y: -376.8627082318162, + fields: [ + { + id: 'uxyx4dl5s6z110zpg8i8x7r6o', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'oamdcg0otmd1ay9u5s9gjsxq3', + name: 'post_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '7001koh5z398wvhl9r9fs0ofx', + name: 'ip', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '95x1eme6vkztws5at4y5wrkmu', + name: 'agent', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'usqep9g1eg7r3uzeya23o7ylv', + name: 'referer', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'zrz0uwma9wgh8i01olfct6qzy', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'lah5uz5ow7n2pvadpy5xfeeh0', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'p59iuhmlbt757r83hw41383x1', + name: 'canvas_views_created_at_index', + unique: false, + fieldIds: ['zrz0uwma9wgh8i01olfct6qzy'], + createdAt: Date.now(), + }, + { + id: 'ava38h63ynadth3y2o2y28l4t', + name: 'canvas_views_post_id_index', + unique: false, + fieldIds: ['oamdcg0otmd1ay9u5s9gjsxq3'], + createdAt: Date.now(), + }, + { + id: 'rk3e3cvk1ogo7518766qktphc', + name: 'canvas_views_pkey', + unique: true, + fieldIds: ['uxyx4dl5s6z110zpg8i8x7r6o'], + createdAt: Date.now(), + }, + ], + color: '#9ef07a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'ncirb4xdc32o0mwjwzytcp416', + name: 'canvas_posts_tags', + schema: 'public', + x: 520, + y: -60, + fields: [ + { + id: 'dfuimnqjpwl68zflelvzwmgxf', + name: 'tag_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'diauddisg9mnphj140hw5k5ym', + name: 'post_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'e625fqpc0zmmxdmzerwe0bzfl', + name: 'canvas_posts_tags_post_id_tag_id_unique', + unique: true, + fieldIds: [ + 'diauddisg9mnphj140hw5k5ym', + 'dfuimnqjpwl68zflelvzwmgxf', + ], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'ovevnjzoigctv3dutsxan190o', + name: 'canvas_visits', + schema: 'public', + x: 91.66745318940627, + y: -282.63337066119425, + fields: [ + { + id: '6vvv572e003po9n7ie13y23bf', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '4mrfv6tuaztwcryj17132ix6r', + name: 'post_id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'lk15xv28nncv6ctaf202umv3s', + name: 'ip', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'zaamgq75pfe4d3q03c2lghdfj', + name: 'agent', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '8hfj04tk2f5zgl06i83klq4o5', + name: 'referer', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '8s0iop4ybulq1w7zwufbz4r7y', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'w81rnyabax7b5sibu5amo8em0', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'xvlbhfyx0my40ajun6szt2tzg', + name: 'canvas_visits_pkey', + unique: true, + fieldIds: ['6vvv572e003po9n7ie13y23bf'], + createdAt: Date.now(), + }, + ], + color: '#4dee8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'uwehb077txcxeqkhv97hujbex', + name: 'canvas_topics', + schema: 'public', + x: 1188.3403694589679, + y: 448.93108809154444, + fields: [ + { + id: 'e9f661z3ajm6vc2hx6mamcors', + name: 'id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'kesn93ygn92k45dx11tvhbh9d', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'kl0ro5wchfewz6liz7oh2th6w', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'sth033xoe10qffjcc73gfov17', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'okdes9su8kfo9yrrcmsdemeii', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'n5a10udc9b8vqew1u82i20gas', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '9hpf0v45z9k6d81qnckkwpkux', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'e8cwi9lq7qfirbw9i5lpl4yuf', + name: 'canvas_topics_user_id_index', + unique: false, + fieldIds: ['sth033xoe10qffjcc73gfov17'], + createdAt: Date.now(), + }, + { + id: '5dd0rh0a64hkl5hkmyi3kbc8a', + name: 'canvas_topics_slug_user_id_unique', + unique: true, + fieldIds: [ + 'kesn93ygn92k45dx11tvhbh9d', + 'sth033xoe10qffjcc73gfov17', + ], + createdAt: Date.now(), + }, + { + id: 'iimiysue67n6ecwcznbuwbb42', + name: 'canvas_topics_created_at_index', + unique: false, + fieldIds: ['okdes9su8kfo9yrrcmsdemeii'], + createdAt: Date.now(), + }, + { + id: '8yi15kli2hw55cl64zjcu46y7', + name: 'canvas_topics_pkey', + unique: true, + fieldIds: ['e9f661z3ajm6vc2hx6mamcors'], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'xyf5m4fnsxoincpi4awmkmxd1', + name: 'canvas_tags', + schema: 'public', + x: 928.4622587653612, + y: -261.2517458680456, + fields: [ + { + id: 'qrhlkoa6d2hg7d0mevn3aras3', + name: 'id', + type: { + id: 'character', + name: 'character', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '24e272fkgpkwyphbopj7ysbvg', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'gr39zqf3qfm9hq9r2tbfgw7uz', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'rxcacuumalld6p0jy60by1fpa', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'son9xgckjjm0g0qizsronu3jd', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'zfmt1zw89cwh4qw647w8l71w1', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'j8ydw0maa3qlxed3i5sarf8br', + name: 'deleted_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '5deaydgkhsmc5e8ozwn6bqafh', + name: 'canvas_tags_slug_user_id_unique', + unique: true, + fieldIds: [ + '24e272fkgpkwyphbopj7ysbvg', + 'rxcacuumalld6p0jy60by1fpa', + ], + createdAt: Date.now(), + }, + { + id: '27ba2dh6ou8ed0dzzi4ufw08x', + name: 'canvas_tags_user_id_index', + unique: false, + fieldIds: ['rxcacuumalld6p0jy60by1fpa'], + createdAt: Date.now(), + }, + { + id: 'l3ddstoogmu6eo6ky5qm2o7p0', + name: 'canvas_tags_created_at_index', + unique: false, + fieldIds: ['son9xgckjjm0g0qizsronu3jd'], + createdAt: Date.now(), + }, + { + id: 'i2bxvfqhq7zi9dzqvu988edn0', + name: 'canvas_tags_pkey', + unique: true, + fieldIds: ['qrhlkoa6d2hg7d0mevn3aras3'], + createdAt: Date.now(), + }, + ], + color: '#8a61f5', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'y1p8d5ws68urgi9ph9cklc2m1', + name: 'canvas_user_meta', + schema: 'public', + x: 1325.6118270094798, + y: -59.82652999010497, + fields: [ + { + id: 'mp5l57l8614xq7iy1f129dpgu', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'cypru4jaldrqgnnxg1cny9vii', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '3rvybnhy2vuqibcfpoktpcaf9', + name: 'username', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'i6k8y025obgy7sizsxis02fkm', + name: 'summary', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '91vu6mey8jj25zutewzftbtwy', + name: 'avatar', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'jzhd12j45j4iehxtbr9tkvmhz', + name: 'dark_mode', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'w6oi9cyi0el5n711kr98nw2kh', + name: 'digest', + type: { + id: 'smallint', + name: 'smallint', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'it3fnf1j4z8hjaixr57304c6n', + name: 'locale', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'p9eg12tl3vh7u9kyuebbnwcp6', + name: 'created_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'g15xjuuij9wreoga2c06ywar0', + name: 'updated_at', + type: { + id: 'timestamp_without_time_zone', + name: 'timestamp without time zone', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '8xkj8h1ughb9lp3h5x8ujyk2j', + name: 'canvas_user_meta_user_id_unique', + unique: true, + fieldIds: ['cypru4jaldrqgnnxg1cny9vii'], + createdAt: Date.now(), + }, + { + id: 'gs3wkqexghdui0bi6gvbnjyc6', + name: 'canvas_user_meta_username_unique', + unique: true, + fieldIds: ['3rvybnhy2vuqibcfpoktpcaf9'], + createdAt: Date.now(), + }, + { + id: 'zjxh74zdiibeam0h94rm6jg86', + name: 'canvas_user_meta_pkey', + unique: true, + fieldIds: ['mp5l57l8614xq7iy1f129dpgu'], + createdAt: Date.now(), + }, + ], + color: '#9ef07a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [ + { + id: '0oeah7mzasi23thsx3xn0ed81', + name: 'canvas_posts_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'gpzadn5qm3mx6jotmjgpu8htc', + targetTableId: '5xwa6smxaoukrdo6g2e19nskt', + sourceFieldId: '6hmnwaur8d0s2wpgdo6sccok3', + targetFieldId: '1nv304nagqmk8a01qgm8ghdmm', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '2p2sb1ssqjvsbq812m7h0vf97', + name: 'canvas_user_meta_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'y1p8d5ws68urgi9ph9cklc2m1', + targetTableId: '5xwa6smxaoukrdo6g2e19nskt', + sourceFieldId: 'cypru4jaldrqgnnxg1cny9vii', + targetFieldId: '1nv304nagqmk8a01qgm8ghdmm', + sourceCardinality: 'one', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '5utm4qfn4x8qohn5ykwum5eu7', + name: 'canvas_tags_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'xyf5m4fnsxoincpi4awmkmxd1', + targetTableId: '5xwa6smxaoukrdo6g2e19nskt', + sourceFieldId: 'rxcacuumalld6p0jy60by1fpa', + targetFieldId: '1nv304nagqmk8a01qgm8ghdmm', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: '66qirqfe18tjg2qmxbxht4jhm', + name: 'canvas_visits_post_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'ovevnjzoigctv3dutsxan190o', + targetTableId: 'gpzadn5qm3mx6jotmjgpu8htc', + sourceFieldId: '4mrfv6tuaztwcryj17132ix6r', + targetFieldId: 'x0y13niv8biq1ak1zoglm6fvi', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'aws5a2liece7gkr5ju64vvpei', + name: 'canvas_posts_tags_tag_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'ncirb4xdc32o0mwjwzytcp416', + targetTableId: 'xyf5m4fnsxoincpi4awmkmxd1', + sourceFieldId: 'dfuimnqjpwl68zflelvzwmgxf', + targetFieldId: 'qrhlkoa6d2hg7d0mevn3aras3', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'g8l06m7u2tcc6vo5950zhkxf1', + name: 'canvas_views_post_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'iide3o2zr3cbfno06ybiepksi', + targetTableId: 'gpzadn5qm3mx6jotmjgpu8htc', + sourceFieldId: 'oamdcg0otmd1ay9u5s9gjsxq3', + targetFieldId: 'x0y13niv8biq1ak1zoglm6fvi', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'hvhh9uoagz4arkdvkr93tgns5', + name: 'canvas_topics_user_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'uwehb077txcxeqkhv97hujbex', + targetTableId: '5xwa6smxaoukrdo6g2e19nskt', + sourceFieldId: 'sth033xoe10qffjcc73gfov17', + targetFieldId: '1nv304nagqmk8a01qgm8ghdmm', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'k9kdmrlb7me0qf44rev7gpuy5', + name: 'canvas_posts_tags_post_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: 'ncirb4xdc32o0mwjwzytcp416', + targetTableId: 'gpzadn5qm3mx6jotmjgpu8htc', + sourceFieldId: 'diauddisg9mnphj140hw5k5ym', + targetFieldId: 'x0y13niv8biq1ak1zoglm6fvi', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'l1sendu65brach1zzwoz3jw3l', + name: 'canvas_posts_topics_topic_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: '1036n2uhrd3e9vydlf26z9g7q', + targetTableId: 'uwehb077txcxeqkhv97hujbex', + sourceFieldId: 'tsd8jzjwcmfw6mx5jer3whbph', + targetFieldId: 'e9f661z3ajm6vc2hx6mamcors', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'y3fcflr0szdgg1cui3yrlxwxn', + name: 'canvas_posts_topics_post_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: '1036n2uhrd3e9vydlf26z9g7q', + targetTableId: 'gpzadn5qm3mx6jotmjgpu8htc', + sourceFieldId: 'fhwlpd8w33hobomelorttw9tj', + targetFieldId: 'x0y13niv8biq1ak1zoglm6fvi', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + ], + dependencies: [], + }, +}; diff --git a/src/templates-data/templates/doorkeeper-db.ts b/src/templates-data/templates/doorkeeper-db.ts new file mode 100644 index 00000000..84f67973 --- /dev/null +++ b/src/templates-data/templates/doorkeeper-db.ts @@ -0,0 +1,584 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/doorkeeper-db.png'; +import imageDark from '@/assets/templates/doorkeeper-db-dark.png'; + +export const doorkeeperDb: Template = { + slug: 'doorkeeper-database', + name: 'Doorkeeper', + shortDescription: 'Rails OAuth 2 provider', + description: 'Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.', + image, + imageDark, + tags: ['MySQL', 'Open Source', 'Rails'], + featured: true, + url: 'https://github.com/doorkeeper-gem/doorkeeper', + diagram: { + id: 'doorkeeper_db', + name: 'doorkeeper-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.MYSQL, + tables: [ + { + id: '5s9fctsmmsy96rgwxx22yxv5p', + name: 'oauth_applications', + schema: 't_doorkeeper_db', + x: 100, + y: 100, + fields: [ + { + id: '9w3uwcorjanaccb1tljxcris9', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '8w3g80lo0tw7p3t06b5r9lg2o', + name: 'name', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'uf3kgxkstwmiuezmvcnj847uj', + name: 'uid', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '5n63c3tsqzdvftkjnkq6i7k39', + name: 'secret', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'cau4z0n2m8mcli9hx6ed64hyu', + name: 'redirect_uri', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'fbagrcvuk25uzwq5unm991881', + name: 'scopes', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'urzv1fn66dprx7tww1s0dsef8', + name: 'confidential', + type: { + id: 'tinyint', + name: 'tinyint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'mi7liyvghjixoawtdkic7ooot', + name: 'created_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bpuk51a0g725c9m6s6aedabfp', + name: 'updated_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'hw3xm9sv6fhy2wvz2orna1e3c', + name: 'oauth_applications_uid_unique', + unique: true, + fieldIds: ['uf3kgxkstwmiuezmvcnj847uj'], + createdAt: Date.now(), + }, + { + id: 'ddbuj2dtx28emv9g9jv2inh7c', + name: 'PRIMARY', + unique: true, + fieldIds: ['9w3uwcorjanaccb1tljxcris9'], + createdAt: Date.now(), + }, + ], + color: '#4dee8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'niw9mkgqx819etmpvu63dslic', + name: 'oauth_access_tokens', + schema: 't_doorkeeper_db', + x: 562.4237256719184, + y: -53.88174235403156, + fields: [ + { + id: 'rzwnbomoljnap72wvxaht5rjj', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'svcycxxruofrbl7ih2f27tl6s', + name: 'resource_owner_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'ue57b6hukq4u6k2jggpdp4j40', + name: 'application_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'gftvctnnukb8hab10vvd4sqz1', + name: 'token', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'stus1int8xzwz31tdpamnrf3j', + name: 'refresh_token', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'gc4a8icklv4k715kjo1nfgdqh', + name: 'expires_in', + type: { + id: 'int', + name: 'int', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'bt6g2e2es9autp4s4lsf6o7mw', + name: 'revoked_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'm74coxh0sval57vl85xfhldyx', + name: 'created_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'hs91n9coj97l1agtcvjz3s5g0', + name: 'scopes', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'mggpvfqw8zig20mh1ozjjkvoo', + name: 'previous_refresh_token', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'w1y0kvftt0yd0tph3g70onl3w', + name: 'oauth_access_tokens_application_id_index', + unique: false, + fieldIds: ['ue57b6hukq4u6k2jggpdp4j40'], + createdAt: Date.now(), + }, + { + id: '2l2mh5fi238cp5ec2kqks3mlq', + name: 'oauth_access_tokens_refresh_token_unique', + unique: true, + fieldIds: ['stus1int8xzwz31tdpamnrf3j'], + createdAt: Date.now(), + }, + { + id: 'n9yxzigeawx10z6tc5b1v2qjw', + name: 'oauth_access_tokens_resource_owner_id_index', + unique: false, + fieldIds: ['svcycxxruofrbl7ih2f27tl6s'], + createdAt: Date.now(), + }, + { + id: 'y2al3g85a3nm8dfpjvoyy6ub1', + name: 'oauth_access_tokens_token_unique', + unique: true, + fieldIds: ['gftvctnnukb8hab10vvd4sqz1'], + createdAt: Date.now(), + }, + { + id: 'q9j0ei3gd01c0agykvrpa9si5', + name: 'PRIMARY', + unique: true, + fieldIds: ['rzwnbomoljnap72wvxaht5rjj'], + createdAt: Date.now(), + }, + ], + color: '#c05dcf', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'y45hybx72gu835y6me5xkxf3l', + name: 'users', + schema: 't_doorkeeper_db', + x: 920.3240037071362, + y: 278.5608897126969, + fields: [ + { + id: 'zwnnses125v9idekkxtvbsh1k', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'qnb9vqcrl10cuucbvgbxpwrql', + name: 'PRIMARY', + unique: true, + fieldIds: ['zwnnses125v9idekkxtvbsh1k'], + createdAt: Date.now(), + }, + ], + color: '#ffe374', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'zl0f5zdujwq39p02yiun3swnx', + name: 'oauth_access_grants', + schema: 't_doorkeeper_db', + x: 442.0367006487488, + y: 400.5049119555143, + fields: [ + { + id: '0dc4bf0xklltcexsnudn87858', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'n0dx2nbwesk4f4eayc5fow4rf', + name: 'resource_owner_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '3usgqxo8mc0vzf2d59j4c52mq', + name: 'application_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'n9hn8jduqs3fy0iqtirgmsc0u', + name: 'token', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'v5k2owfedw5bkx2myi5l3n5eh', + name: 'expires_in', + type: { + id: 'int', + name: 'int', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'f9rji11u4corji12t0cn0tz9z', + name: 'redirect_uri', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '3dfb97ysllt65qd9azbfeh4ob', + name: 'created_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'zols5jkofvt77wgd18tolgidv', + name: 'revoked_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '3nhab9g21hhnslze7pkbaojh8', + name: 'scopes', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'ldbno34wq68oog6ngy6gtzauu', + name: 'oauth_access_grants_application_id_index', + unique: false, + fieldIds: ['3usgqxo8mc0vzf2d59j4c52mq'], + createdAt: Date.now(), + }, + { + id: '4qglx7v8h6pye1qh4e5ibqvyi', + name: 'oauth_access_grants_resource_owner_id_index', + unique: false, + fieldIds: ['n0dx2nbwesk4f4eayc5fow4rf'], + createdAt: Date.now(), + }, + { + id: 'krd01ebul7w0z1us7irdcjyry', + name: 'oauth_access_grants_token_unique', + unique: true, + fieldIds: ['n9hn8jduqs3fy0iqtirgmsc0u'], + createdAt: Date.now(), + }, + { + id: '6s2ssgczw5qfa0cnh5nk2t6h9', + name: 'PRIMARY', + unique: true, + fieldIds: ['0dc4bf0xklltcexsnudn87858'], + createdAt: Date.now(), + }, + ], + color: '#ff9f74', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [ + { + id: 'cnv6nm63754yl29dq9w3cbnwg', + name: 'oauth_access_tokens_resource_owner_id_foreign', + sourceSchema: 't_doorkeeper_db', + targetSchema: 't_doorkeeper_db', + sourceTableId: 'niw9mkgqx819etmpvu63dslic', + targetTableId: 'y45hybx72gu835y6me5xkxf3l', + sourceFieldId: 'svcycxxruofrbl7ih2f27tl6s', + targetFieldId: 'zwnnses125v9idekkxtvbsh1k', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'eod8ieflqxcyeoi8xp1rkc6nm', + name: 'oauth_access_grants_resource_owner_id_foreign', + sourceSchema: 't_doorkeeper_db', + targetSchema: 't_doorkeeper_db', + sourceTableId: 'zl0f5zdujwq39p02yiun3swnx', + targetTableId: 'y45hybx72gu835y6me5xkxf3l', + sourceFieldId: 'n0dx2nbwesk4f4eayc5fow4rf', + targetFieldId: 'zwnnses125v9idekkxtvbsh1k', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'nr99xikuvarwxnw5oxh1ahlzk', + name: 'oauth_access_grants_application_id_foreign', + sourceSchema: 't_doorkeeper_db', + targetSchema: 't_doorkeeper_db', + sourceTableId: 'zl0f5zdujwq39p02yiun3swnx', + targetTableId: '5s9fctsmmsy96rgwxx22yxv5p', + sourceFieldId: '3usgqxo8mc0vzf2d59j4c52mq', + targetFieldId: '9w3uwcorjanaccb1tljxcris9', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'rv73p4hzcmpochd0gij75v4c9', + name: 'oauth_access_tokens_application_id_foreign', + sourceSchema: 't_doorkeeper_db', + targetSchema: 't_doorkeeper_db', + sourceTableId: 'niw9mkgqx819etmpvu63dslic', + targetTableId: '5s9fctsmmsy96rgwxx22yxv5p', + sourceFieldId: 'ue57b6hukq4u6k2jggpdp4j40', + targetFieldId: '9w3uwcorjanaccb1tljxcris9', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + ], + dependencies: [], + }, +}; diff --git a/src/templates-data/templates/flarum-db.ts b/src/templates-data/templates/flarum-db.ts index 77467e2e..f4f57a8e 100644 --- a/src/templates-data/templates/flarum-db.ts +++ b/src/templates-data/templates/flarum-db.ts @@ -14,8 +14,8 @@ export const flarumDb: Template = { featured: false, url: 'https://flarum.org', diagram: { - id: 'diagramexample27', - name: 'flarum-db', + id: 'flarum_db', + name: 'flarum-database', createdAt: new Date(), updatedAt: new Date(), databaseType: DatabaseType.POSTGRESQL, diff --git a/src/templates-data/templates/flipper-db.ts b/src/templates-data/templates/flipper-db.ts new file mode 100644 index 00000000..74680a9d --- /dev/null +++ b/src/templates-data/templates/flipper-db.ts @@ -0,0 +1,213 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/flipper-db.png'; +import imageDark from '@/assets/templates/flipper-db-dark.png'; + +export const flipperDb: Template = { + slug: 'flipper-database', + name: 'Flipper', + shortDescription: 'Feature flags for Ruby', + description: 'Beautiful, performant feature flags for Ruby and Rails.', + image, + imageDark, + tags: ['MySQL', 'Open Source', 'Rails'], + featured: true, + url: 'https://github.com/flippercloud/flipper', + diagram: { + id: 'flipper_db', + name: 'flipper-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.MYSQL, + tables: [ + { + id: 'fm94fes2cxfjjyxf7cop8r6iy', + name: 'flipper_features', + schema: 't_flipper_db', + x: 490.8536539472756, + y: 97.95898875223355, + fields: [ + { + id: 'kzvapep4sezv1ehvx9jut4msa', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'nhyf4lcb6wavevyf57lf5sgg6', + name: 'key', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'j767ltyzmrue9da0834y51dm2', + name: 'created_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'jxv356syc9l7pn70o5ypjsvu2', + name: 'updated_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '171wmmejcsoekydukvqf7f8as', + name: 'flipper_features_key_unique', + unique: true, + fieldIds: ['nhyf4lcb6wavevyf57lf5sgg6'], + createdAt: Date.now(), + }, + { + id: '688euilbvac7l4g4td0f4ope0', + name: 'PRIMARY', + unique: true, + fieldIds: ['kzvapep4sezv1ehvx9jut4msa'], + createdAt: Date.now(), + }, + ], + color: '#8eb7ff', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'k3fi60h438pnhfit52zds2y22', + name: 'flipper_gates', + schema: 't_flipper_db', + x: 189.76629033949916, + y: 100, + fields: [ + { + id: 'pqq0xmwknc6byigyseyh8r9q8', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'hyk3w9a3cj48338mma85vm4vn', + name: 'feature_key', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'pss1gs5xz19bm3nbldxq4qgyc', + name: 'key', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'shzigzjrhv0m3mlb5mvjit3up', + name: 'value', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'v92wmlsa70mbcgdlz5pz50xx1', + name: 'created_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'atxf546zsrtvq8mzavfc8gm3e', + name: 'updated_at', + type: { + id: 'datetime', + name: 'datetime', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '1jpbmppoqifibrackarznx19q', + name: 'flipper_gates_feature_key_key_value_unique', + unique: true, + fieldIds: [ + 'hyk3w9a3cj48338mma85vm4vn', + 'pss1gs5xz19bm3nbldxq4qgyc', + 'shzigzjrhv0m3mlb5mvjit3up', + ], + createdAt: Date.now(), + }, + { + id: 'canhlx66b19z1ota9z9l353ou', + name: 'PRIMARY', + unique: true, + fieldIds: ['pqq0xmwknc6byigyseyh8r9q8'], + createdAt: Date.now(), + }, + ], + color: '#4dee8a', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [], + dependencies: [], + }, +}; diff --git a/src/templates-data/templates/orchid-db.ts b/src/templates-data/templates/orchid-db.ts new file mode 100644 index 00000000..69b6e6ba --- /dev/null +++ b/src/templates-data/templates/orchid-db.ts @@ -0,0 +1,891 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/orchid-db.png'; +import imageDark from '@/assets/templates/orchid-db-dark.png'; + +export const orchidDb: Template = { + slug: 'orchid-database', + name: 'Orchid', + shortDescription: 'Back-Office platform', + description: + 'A Laravel package of back-office applications, admin/user panels, and dashboards.', + image, + imageDark, + tags: ['Postgres', 'Open Source', 'Laravel', 'PHP'], + featured: false, + url: 'https://drawsql.app/templates/orchid', + diagram: { + id: 'orchid_db', + name: 'orchid-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.MYSQL, + tables: [ + { + id: '71fdxo9ncuj7j5h7p6z6p9wnk', + name: 'attachments', + schema: 't_orchid_db', + x: -300, + y: -100, + fields: [ + { + id: 'lgqpeo3tbu1ct5pqhaxx55b89', + name: 'id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'rrbw2jsbum3w6wug0b6hklmwo', + name: 'name', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'g48tjszq4p6el5rhwvyap3tkh', + name: 'original_name', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '8okobzkdj9tb5flnm0sfjy3a5', + name: 'mime', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'mzzwbs0cvccejkdx2k3bxsvdv', + name: 'extension', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'ln2eh4bgj75a8wxm8tknc7krm', + name: 'size', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '2blffmjau84s7lnnezad60638', + name: 'sort', + type: { + id: 'int', + name: 'int', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'wdlk5dhteq4h0tpt4sg2cwx7l', + name: 'path', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'vmibvvuhrzhzsdim04py8vt4i', + name: 'description', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'j2yt3hgfb5m5s25edc5g5p5dg', + name: 'alt', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'te2zpzw69y1hhvfeuj2mtm5z5', + name: 'hash', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 's4zt7i83jodx4sndx3tzxh3fx', + name: 'disk', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '8zlf2ojsc5d7rboguwayfh5ha', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '5kbdynhu49e7luliyivevxnq6', + name: 'group', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 't2u1d50oxcil6chubqztufibn', + name: 'created_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'neh7szkld37h2uphiq5f7uyus', + name: 'updated_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '2a60016w71sw1z4rqmytwdcyv', + name: 'PRIMARY', + unique: true, + fieldIds: ['lgqpeo3tbu1ct5pqhaxx55b89'], + createdAt: Date.now(), + }, + ], + color: '#7175fa', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: '9e8wgcnlgadlwq88ab7x42nfw', + name: 'attachmentable', + schema: 't_orchid_db', + x: 81.76538577755491, + y: -137.56299254753986, + fields: [ + { + id: 'lze7awwqh7cmfges7j9gss7ld', + name: 'id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'fv8i1bjy7y9ohds8uo6r9cvjk', + name: 'attachmentable_type', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '0bga9idieaely6byav6lg86vj', + name: 'attachmentable_id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '08vow7auknmbt4vd35dw5sr64', + name: 'attachment_id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'ih5u7wxqgqvtbdd73oflxp4zt', + name: 'attachmentable_attachment_id_index', + unique: false, + fieldIds: ['08vow7auknmbt4vd35dw5sr64'], + createdAt: Date.now(), + }, + { + id: 'mx4r0qb2v3hc1n71pbb0lwebh', + name: 'attachmentable_attachmentable_type_attachmentable_id_index', + unique: false, + fieldIds: [ + 'fv8i1bjy7y9ohds8uo6r9cvjk', + '0bga9idieaely6byav6lg86vj', + ], + createdAt: Date.now(), + }, + { + id: 'drk9jmopuds3h36hx6sxhdklx', + name: 'PRIMARY', + unique: true, + fieldIds: ['lze7awwqh7cmfges7j9gss7ld'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'i4ieeqk4511ri623n7vtmjxkg', + name: 'settings', + schema: 't_orchid_db', + x: 400, + y: 600, + fields: [ + { + id: 'whig3jtfp4hszl69aeshnz5e4', + name: 'key', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: true, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: '9hd4t4x8qdorb0zgh5zy7ks45', + name: 'value', + type: { + id: 'json', + name: 'json', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'pk0ua9dy2pzhhlvr9jaygjbpx', + name: 'PRIMARY', + unique: true, + fieldIds: ['whig3jtfp4hszl69aeshnz5e4'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'k027uir0ao6l8fpw7d1ay3qft', + name: 'notifications', + schema: 't_orchid_db', + x: 500, + y: 100, + fields: [ + { + id: '01cotfakdw7iunarpuc1eqwnr', + name: 'id', + type: { + id: 'char', + name: 'char', + }, + primaryKey: true, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'l1253c6f5nyaajfignk776qnv', + name: 'type', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'e357s9a7q59z4lj4563k0ov70', + name: 'notifiable_type', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'hmro9cstbl7pvzyb0ueej38b7', + name: 'notifiable_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'r8jlzknygzkspqwyekdofonjq', + name: 'data', + type: { + id: 'text', + name: 'text', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'slwb1sbiid5xuxs8zwtrhgw1c', + name: 'read_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'o4rmhz6ze2p1fwzvvmsn0ey4a', + name: 'created_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '97zmk1w819jwuyvs2sthe1mew', + name: 'updated_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '3xbo7enpv4t1dxbdelfmd606o', + name: 'notifications_notifiable_id_foreign', + unique: false, + fieldIds: ['hmro9cstbl7pvzyb0ueej38b7'], + createdAt: Date.now(), + }, + { + id: 'ng4t2jdsmi3lpmkzg6nw7odzk', + name: 'notifications_notifiable_type_notifiable_id_index', + unique: false, + fieldIds: [ + 'e357s9a7q59z4lj4563k0ov70', + 'hmro9cstbl7pvzyb0ueej38b7', + ], + createdAt: Date.now(), + }, + { + id: 'krsfpt88k3qjdhn6uq778yu0g', + name: 'PRIMARY', + unique: true, + fieldIds: ['01cotfakdw7iunarpuc1eqwnr'], + createdAt: Date.now(), + }, + ], + color: '#ff6363', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'p3j1u8r3xxv3p3wsqexn7rovb', + name: 'roles', + schema: 't_orchid_db', + x: 100.00000000000003, + y: 550, + fields: [ + { + id: 'o4hh7mgjf9ee94is4ynwyo5zj', + name: 'id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: '9ukanv6p7mwd4rupjwl3d8hku', + name: 'slug', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'vm2tdqrqzce99h90umbh05pi1', + name: 'name', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'w0m3b817zkfsp7las0peu5y2r', + name: 'permissions', + type: { + id: 'json', + name: 'json', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'trnigyvttxywsqy1cqenqyaw6', + name: 'created_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'gpx1i0t8e6hwqf3nnlgl7rtw6', + name: 'updated_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'zyx6khmt3g9pd3vev5bpjo4yh', + name: 'PRIMARY', + unique: true, + fieldIds: ['o4hh7mgjf9ee94is4ynwyo5zj'], + createdAt: Date.now(), + }, + { + id: 'qcr373xl5gjq2rothmvoajo2a', + name: 'roles_slug_unique', + unique: true, + fieldIds: ['9ukanv6p7mwd4rupjwl3d8hku'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'wwy772ru0zkg4ljct6pjwl91s', + name: 'role_users', + schema: 't_orchid_db', + x: -320, + y: 420, + fields: [ + { + id: 'iuwqr7fw84fgxarlqkmq2bnh3', + name: 'user_id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'vyqpj645b1dc0txxmhyc5ie23', + name: 'role_id', + type: { + id: 'int', + name: 'int', + }, + primaryKey: true, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'xx8ukrey4gim3jwfs56zfeicg', + name: 'PRIMARY', + unique: true, + fieldIds: [ + 'iuwqr7fw84fgxarlqkmq2bnh3', + 'vyqpj645b1dc0txxmhyc5ie23', + ], + createdAt: Date.now(), + }, + { + id: 't344ymg5cjfiny4p39i9vwh3x', + name: 'role_users_role_id_index', + unique: false, + fieldIds: ['vyqpj645b1dc0txxmhyc5ie23'], + createdAt: Date.now(), + }, + ], + color: '#b067e9', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'ydbfacxlwhodoy9nnzbkdkf0g', + name: 'users', + schema: 't_orchid_db', + x: 100, + y: 100, + fields: [ + { + id: 'o1n4ty6ymyi41gbfhcqwppa3p', + name: 'id', + type: { + id: 'bigint', + name: 'bigint', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'kmea6u19ghgwduvtgkh05tgoq', + name: 'name', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'ozi31o0p9ow8epliom949x01e', + name: 'email', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: true, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'o24szb7w4t8ngzzwzgmito21m', + name: 'email_verified_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '6kdn1ktgx3wv8tv5nnmeapypg', + name: 'password', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: false, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'u16gkd45jpwec0cc9uiky7622', + name: 'remember_token', + type: { + id: 'varchar', + name: 'varchar', + }, + primaryKey: false, + unique: false, + nullable: true, + collation: 'utf8mb4_0900_ai_ci', + createdAt: Date.now(), + }, + { + id: 'u36wia3c8hjb1yww5dv86rn21', + name: 'created_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'e18csiyrk41qa9xlninw797re', + name: 'updated_at', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: '9k4lt1xa7dps1sajhcncr4j5k', + name: 'last_login', + type: { + id: 'timestamp', + name: 'timestamp', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + { + id: 'i00i6og4e1xk0bb1s005ovg3r', + name: 'permissions', + type: { + id: 'json', + name: 'json', + }, + primaryKey: false, + unique: false, + nullable: true, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'mj4rijed0zqbtmvh51lnw5bau', + name: 'PRIMARY', + unique: true, + fieldIds: ['o1n4ty6ymyi41gbfhcqwppa3p'], + createdAt: Date.now(), + }, + { + id: 'qwygfkmk6e8fz6emzeyk4bmay', + name: 'users_email_unique', + unique: true, + fieldIds: ['ozi31o0p9ow8epliom949x01e'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [ + { + id: 'dbrx24i66861hxrwxaba3jaee', + name: 'attachmentable_attachment_id_foreign', + sourceSchema: 't_orchid_db', + targetSchema: 't_orchid_db', + sourceTableId: '9e8wgcnlgadlwq88ab7x42nfw', + targetTableId: '71fdxo9ncuj7j5h7p6z6p9wnk', + sourceFieldId: '08vow7auknmbt4vd35dw5sr64', + targetFieldId: 'lgqpeo3tbu1ct5pqhaxx55b89', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'ehglrbddna888qzcrhz0u9zxm', + name: 'role_users_user_id_foreign', + sourceSchema: 't_orchid_db', + targetSchema: 't_orchid_db', + sourceTableId: 'wwy772ru0zkg4ljct6pjwl91s', + targetTableId: 'ydbfacxlwhodoy9nnzbkdkf0g', + sourceFieldId: 'iuwqr7fw84fgxarlqkmq2bnh3', + targetFieldId: 'o1n4ty6ymyi41gbfhcqwppa3p', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'qynjlszbi8qiflgjvbvd6pkjc', + name: 'notifications_notifiable_id_foreign', + sourceSchema: 't_orchid_db', + targetSchema: 't_orchid_db', + sourceTableId: 'k027uir0ao6l8fpw7d1ay3qft', + targetTableId: 'ydbfacxlwhodoy9nnzbkdkf0g', + sourceFieldId: 'hmro9cstbl7pvzyb0ueej38b7', + targetFieldId: 'o1n4ty6ymyi41gbfhcqwppa3p', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + { + id: 'x3inmacyjmf8y1mvq2j1w6phd', + name: 'role_users_role_id_foreign', + sourceSchema: 't_orchid_db', + targetSchema: 't_orchid_db', + sourceTableId: 'wwy772ru0zkg4ljct6pjwl91s', + targetTableId: 'p3j1u8r3xxv3p3wsqexn7rovb', + sourceFieldId: 'vyqpj645b1dc0txxmhyc5ie23', + targetFieldId: 'o4hh7mgjf9ee94is4ynwyo5zj', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + ], + dependencies: [], + }, +}; diff --git a/src/templates-data/templates/taggit-db.ts b/src/templates-data/templates/taggit-db.ts new file mode 100644 index 00000000..82802c32 --- /dev/null +++ b/src/templates-data/templates/taggit-db.ts @@ -0,0 +1,198 @@ +import { DatabaseType } from '@/lib/domain/database-type'; +import type { Template } from '../templates-data'; +import image from '@/assets/templates/taggit-db.png'; +import imageDark from '@/assets/templates/taggit-db-dark.png'; + +export const taggitDb: Template = { + slug: 'taggit-database', + name: 'Taggit', + shortDescription: 'Simple tagging for django', + description: + 'Django-taggit adds simple tagging to Django models via TaggableManager, perfect for content categorization.', + image, + imageDark, + tags: ['Postgres', 'Python', 'Django'], + featured: true, + url: 'https://github.com/jazzband/django-taggit', + diagram: { + id: 'taggit_db', + name: 'taggit-database', + createdAt: new Date(), + updatedAt: new Date(), + databaseType: DatabaseType.POSTGRESQL, + tables: [ + { + id: '0holubg8i1uulaw3lic1rygkx', + name: 'taggit_taggeditem', + schema: 'public', + x: 500, + y: 100, + fields: [ + { + id: 'ltcc5pkb4ooq63foi63gdtb3c', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'pup36l9w97keiae4vfw56igsb', + name: 'tag_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: '19dp43bm6ux6lus333j9sny6x', + name: 'content_type_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'w9yfpzpeupxjgzw65o4zf04qf', + name: 'object_id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: false, + unique: false, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: '3sxkkcnm9lvfx6l3sc30rq147', + name: 'taggit_taggeditem_object_id_index', + unique: false, + fieldIds: ['w9yfpzpeupxjgzw65o4zf04qf'], + createdAt: Date.now(), + }, + { + id: '0jvg6v0k20rgw3mbonj70mine', + name: 'taggit_taggeditem_tag_id_index', + unique: false, + fieldIds: ['pup36l9w97keiae4vfw56igsb'], + createdAt: Date.now(), + }, + { + id: 'l0zz5xoktlxbyeit6jlne9ao2', + name: 'taggit_taggeditem_pkey', + unique: true, + fieldIds: ['ltcc5pkb4ooq63foi63gdtb3c'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + { + id: 'y07r6qa7swxs31geu6evcyaor', + name: 'taggit_tag', + schema: 'public', + x: 100, + y: 100, + fields: [ + { + id: 'yqa1ei8zqjiere7ism4x161by', + name: 'id', + type: { + id: 'integer', + name: 'integer', + }, + primaryKey: true, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'z3ybcuhf577pxfxprhbio3376', + name: 'name', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + { + id: 'bqigt5quu06yv8m8ocb6acp81', + name: 'slug', + type: { + id: 'character_varying', + name: 'character varying', + }, + primaryKey: false, + unique: true, + nullable: false, + createdAt: Date.now(), + }, + ], + indexes: [ + { + id: 'wfcg2lyomssv39fllfdfs8yqy', + name: 'taggit_tag_slug_unique', + unique: true, + fieldIds: ['bqigt5quu06yv8m8ocb6acp81'], + createdAt: Date.now(), + }, + { + id: 'cta41zix0hvmckn4opnr3f960', + name: 'taggit_tag_name_unique', + unique: true, + fieldIds: ['z3ybcuhf577pxfxprhbio3376'], + createdAt: Date.now(), + }, + { + id: '32fplxrl5adx6fj9m8e718fvm', + name: 'taggit_tag_pkey', + unique: true, + fieldIds: ['yqa1ei8zqjiere7ism4x161by'], + createdAt: Date.now(), + }, + ], + color: '#42e0c0', + isView: false, + isMaterializedView: false, + createdAt: Date.now(), + }, + ], + relationships: [ + { + id: '6lmfxfk9n2acc4f9pb32ywbnj', + name: 'taggit_taggeditem_tag_id_foreign', + sourceSchema: 'public', + targetSchema: 'public', + sourceTableId: '0holubg8i1uulaw3lic1rygkx', + targetTableId: 'y07r6qa7swxs31geu6evcyaor', + sourceFieldId: 'pup36l9w97keiae4vfw56igsb', + targetFieldId: 'yqa1ei8zqjiere7ism4x161by', + sourceCardinality: 'many', + targetCardinality: 'one', + createdAt: Date.now(), + }, + ], + dependencies: [], + }, +};