mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
config: yaml,packages,entities (11 files)
This commit is contained in:
166
packages/arcade_lobby/seed/schema/entities.yaml
Normal file
166
packages/arcade_lobby/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,166 @@
|
||||
# Arcade Lobby Schema Definitions
|
||||
# Package: arcade_lobby
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: Game
|
||||
description: Game definition for the arcade lobby
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: slug
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: false
|
||||
- name: thumbnail
|
||||
type: String
|
||||
required: false
|
||||
- name: category
|
||||
type: String
|
||||
required: true
|
||||
- name: minPlayers
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: maxPlayers
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: config
|
||||
type: Json
|
||||
required: false
|
||||
description: Game-specific configuration
|
||||
- name: isActive
|
||||
type: Boolean
|
||||
required: true
|
||||
default: true
|
||||
- name: playCount
|
||||
type: Int
|
||||
required: true
|
||||
default: 0
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: game_tenant_slug_idx
|
||||
fields: [tenantId, slug]
|
||||
unique: true
|
||||
- name: game_tenant_category_idx
|
||||
fields: [tenantId, category]
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [public]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: LeaderboardEntry
|
||||
description: High score entry for a game
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: gameId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: username
|
||||
type: String
|
||||
required: true
|
||||
- name: score
|
||||
type: Int
|
||||
required: true
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
description: Game-specific score metadata
|
||||
- name: submittedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: leaderboard_game_score_idx
|
||||
fields: [gameId, score]
|
||||
- name: leaderboard_game_user_idx
|
||||
fields: [gameId, userId]
|
||||
relations:
|
||||
- name: game
|
||||
type: belongsTo
|
||||
target: Game
|
||||
foreignKey: gameId
|
||||
acl:
|
||||
create: [user]
|
||||
read: [public]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: GameSession
|
||||
description: Multiplayer game session/lobby
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: gameId
|
||||
type: String
|
||||
required: true
|
||||
- name: hostId
|
||||
type: String
|
||||
required: true
|
||||
- name: status
|
||||
type: String
|
||||
required: true
|
||||
description: waiting, playing, finished
|
||||
- name: maxPlayers
|
||||
type: Int
|
||||
required: true
|
||||
- name: currentPlayers
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: players
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of player user IDs
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: startedAt
|
||||
type: DateTime
|
||||
required: false
|
||||
- name: endedAt
|
||||
type: DateTime
|
||||
required: false
|
||||
indexes:
|
||||
- name: session_game_status_idx
|
||||
fields: [gameId, status]
|
||||
relations:
|
||||
- name: game
|
||||
type: belongsTo
|
||||
target: Game
|
||||
foreignKey: gameId
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user]
|
||||
update: [owner, admin]
|
||||
delete: [owner, admin]
|
||||
163
packages/code_editor/seed/schema/entities.yaml
Normal file
163
packages/code_editor/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,163 @@
|
||||
# Code Editor Schema Definitions
|
||||
# Package: code_editor
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: CodeSnippet
|
||||
description: Saved code snippet
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: title
|
||||
type: String
|
||||
required: true
|
||||
- name: language
|
||||
type: String
|
||||
required: true
|
||||
- name: code
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: false
|
||||
- name: tags
|
||||
type: Json
|
||||
required: false
|
||||
description: Array of tag strings
|
||||
- name: isPublic
|
||||
type: Boolean
|
||||
required: true
|
||||
default: false
|
||||
- name: version
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: snippet_tenant_user_idx
|
||||
fields: [tenantId, userId]
|
||||
- name: snippet_tenant_public_idx
|
||||
fields: [tenantId, isPublic]
|
||||
- name: snippet_language_idx
|
||||
fields: [language]
|
||||
acl:
|
||||
create: [user]
|
||||
read: [owner, public_if_public, admin]
|
||||
update: [owner]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: EditorSession
|
||||
description: Saved editor session state
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: files
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of open file states
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: session_tenant_user_name_idx
|
||||
fields: [tenantId, userId, name]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user]
|
||||
read: [owner]
|
||||
update: [owner]
|
||||
delete: [owner]
|
||||
|
||||
- name: FileRevision
|
||||
description: File revision history
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: filePath
|
||||
type: String
|
||||
required: true
|
||||
- name: content
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: message
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: revision_tenant_file_idx
|
||||
fields: [tenantId, filePath]
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user, admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: LanguageConfig
|
||||
description: Language-specific editor configuration
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: language
|
||||
type: String
|
||||
required: true
|
||||
- name: config
|
||||
type: Json
|
||||
required: true
|
||||
description: Language-specific settings
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: lang_config_tenant_lang_idx
|
||||
fields: [tenantId, language]
|
||||
unique: true
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [user, admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
191
packages/codegen_studio/seed/schema/entities.yaml
Normal file
191
packages/codegen_studio/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,191 @@
|
||||
# Codegen Studio Schema Definitions
|
||||
# Package: codegen_studio
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: CodegenProject
|
||||
description: Code generation project
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: false
|
||||
- name: language
|
||||
type: String
|
||||
required: true
|
||||
description: Target language (typescript, python, lua, etc.)
|
||||
- name: framework
|
||||
type: String
|
||||
required: false
|
||||
description: Target framework
|
||||
- name: config
|
||||
type: Json
|
||||
required: false
|
||||
description: Project configuration
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: project_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user, admin]
|
||||
update: [owner, admin]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: CodegenBlueprint
|
||||
description: Code generation blueprint/template definition
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: projectId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: type
|
||||
type: String
|
||||
required: true
|
||||
description: entity, component, service, api, etc.
|
||||
- name: spec
|
||||
type: Json
|
||||
required: true
|
||||
description: Blueprint specification
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: blueprint_project_idx
|
||||
fields: [projectId]
|
||||
- name: blueprint_tenant_type_idx
|
||||
fields: [tenantId, type]
|
||||
relations:
|
||||
- name: project
|
||||
type: belongsTo
|
||||
target: CodegenProject
|
||||
foreignKey: projectId
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user, admin]
|
||||
update: [owner, admin]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: CodegenTemplate
|
||||
description: Code generation template
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: language
|
||||
type: String
|
||||
required: true
|
||||
- name: type
|
||||
type: String
|
||||
required: true
|
||||
description: Template type (entity, component, etc.)
|
||||
- name: template
|
||||
type: String
|
||||
required: true
|
||||
description: Template content with placeholders
|
||||
- name: variables
|
||||
type: Json
|
||||
required: false
|
||||
description: Available template variables
|
||||
- name: isBuiltin
|
||||
type: Boolean
|
||||
required: true
|
||||
default: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: template_tenant_lang_type_idx
|
||||
fields: [tenantId, language, type]
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [user, admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: CodegenGeneration
|
||||
description: Code generation execution record
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: projectId
|
||||
type: String
|
||||
required: true
|
||||
- name: blueprintId
|
||||
type: String
|
||||
required: false
|
||||
- name: templateId
|
||||
type: String
|
||||
required: false
|
||||
- name: input
|
||||
type: Json
|
||||
required: true
|
||||
description: Generation input parameters
|
||||
- name: output
|
||||
type: String
|
||||
required: false
|
||||
description: Generated code
|
||||
- name: status
|
||||
type: String
|
||||
required: true
|
||||
description: pending, completed, failed
|
||||
- name: error
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: generation_project_idx
|
||||
fields: [projectId]
|
||||
relations:
|
||||
- name: project
|
||||
type: belongsTo
|
||||
target: CodegenProject
|
||||
foreignKey: projectId
|
||||
acl:
|
||||
create: [user]
|
||||
read: [owner, admin]
|
||||
update: [none]
|
||||
delete: [owner, admin]
|
||||
138
packages/css_designer/seed/schema/entities.yaml
Normal file
138
packages/css_designer/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,138 @@
|
||||
# CSS Designer Schema Definitions
|
||||
# Package: css_designer
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: Theme
|
||||
description: Theme definition with CSS variables
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: baseTheme
|
||||
type: String
|
||||
required: false
|
||||
description: Parent theme (light, dark, or theme ID)
|
||||
- name: variables
|
||||
type: Json
|
||||
required: true
|
||||
description: CSS variable definitions
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
- name: isActive
|
||||
type: Boolean
|
||||
required: true
|
||||
default: true
|
||||
- name: version
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: theme_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
unique: true
|
||||
acl:
|
||||
create: [moderator, admin]
|
||||
read: [user, admin]
|
||||
update: [moderator, admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: StyleComponent
|
||||
description: Reusable style component definition
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: themeId
|
||||
type: String
|
||||
required: false
|
||||
description: Associated theme (null for global)
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: selector
|
||||
type: String
|
||||
required: true
|
||||
description: CSS selector
|
||||
- name: styles
|
||||
type: Json
|
||||
required: true
|
||||
description: CSS property-value pairs
|
||||
- name: variants
|
||||
type: Json
|
||||
required: false
|
||||
description: Pseudo-class/state variants
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: style_tenant_theme_idx
|
||||
fields: [tenantId, themeId]
|
||||
- name: style_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
relations:
|
||||
- name: theme
|
||||
type: belongsTo
|
||||
target: Theme
|
||||
foreignKey: themeId
|
||||
acl:
|
||||
create: [moderator, admin]
|
||||
read: [user, admin]
|
||||
update: [moderator, admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: ThemePreset
|
||||
description: Saved theme preset for quick application
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: false
|
||||
- name: variables
|
||||
type: Json
|
||||
required: true
|
||||
- name: baseTheme
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: preset_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
unique: true
|
||||
acl:
|
||||
create: [moderator, admin]
|
||||
read: [user, admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
89
packages/dashboard/seed/schema/entities.yaml
Normal file
89
packages/dashboard/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,89 @@
|
||||
# Dashboard Schema Definitions
|
||||
# Package: dashboard
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: DashboardLayout
|
||||
description: User or tenant dashboard layout configuration
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: false
|
||||
description: If null, this is a tenant-wide layout
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: widgets
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of widget configurations with positions
|
||||
- name: settings
|
||||
type: Json
|
||||
required: false
|
||||
description: Layout-specific settings
|
||||
- name: isDefault
|
||||
type: Boolean
|
||||
required: true
|
||||
default: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: dashboard_tenant_user_idx
|
||||
fields: [tenantId, userId]
|
||||
- name: dashboard_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user, admin]
|
||||
read: [user, admin]
|
||||
update: [owner, admin]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: WidgetCache
|
||||
description: Cached data for dashboard widgets
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: cacheKey
|
||||
type: String
|
||||
required: true
|
||||
- name: widgetType
|
||||
type: String
|
||||
required: true
|
||||
- name: data
|
||||
type: Json
|
||||
required: true
|
||||
- name: expiresAt
|
||||
type: DateTime
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: widget_cache_tenant_key_idx
|
||||
fields: [tenantId, cacheKey]
|
||||
unique: true
|
||||
acl:
|
||||
create: [system]
|
||||
read: [user, admin]
|
||||
update: [system]
|
||||
delete: [system]
|
||||
75
packages/data_table/seed/schema/entities.yaml
Normal file
75
packages/data_table/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# Data Table Schema Definitions
|
||||
# Package: data_table
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: TableConfig
|
||||
description: Table display configuration
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: tableKey
|
||||
type: String
|
||||
required: true
|
||||
description: Unique identifier for the table
|
||||
- name: config
|
||||
type: Json
|
||||
required: true
|
||||
description: Column definitions, filters, default sort
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: table_config_tenant_key_idx
|
||||
fields: [tenantId, tableKey]
|
||||
unique: true
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [user, admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: UserTablePreference
|
||||
description: User-specific table preferences
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: tableKey
|
||||
type: String
|
||||
required: true
|
||||
- name: columns
|
||||
type: Json
|
||||
required: false
|
||||
description: Visible columns in order
|
||||
- name: columnWidths
|
||||
type: Json
|
||||
required: false
|
||||
description: Column width preferences
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: user_pref_user_table_idx
|
||||
fields: [userId, tableKey]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user]
|
||||
read: [owner]
|
||||
update: [owner]
|
||||
delete: [owner]
|
||||
118
packages/form_builder/seed/schema/entities.yaml
Normal file
118
packages/form_builder/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
# Form Builder Schema Definitions
|
||||
# Package: form_builder
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: Form
|
||||
description: Form definition with fields and validation
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: false
|
||||
- name: fields
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of field definitions
|
||||
- name: settings
|
||||
type: Json
|
||||
required: false
|
||||
description: Form-level settings
|
||||
- name: validationRules
|
||||
type: Json
|
||||
required: false
|
||||
description: Custom validation rules
|
||||
- name: isActive
|
||||
type: Boolean
|
||||
required: true
|
||||
default: true
|
||||
- name: version
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: submissionCount
|
||||
type: Int
|
||||
required: true
|
||||
default: 0
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: form_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
- name: form_tenant_active_idx
|
||||
fields: [tenantId, isActive]
|
||||
acl:
|
||||
create: [moderator, admin]
|
||||
read: [user, admin]
|
||||
update: [moderator, admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: FormSubmission
|
||||
description: Submitted form response
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: formId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: false
|
||||
description: Null for anonymous submissions
|
||||
- name: data
|
||||
type: Json
|
||||
required: true
|
||||
description: Submitted form data
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
description: Submission metadata (IP, user agent, etc.)
|
||||
- name: status
|
||||
type: String
|
||||
required: true
|
||||
default: submitted
|
||||
description: submitted, reviewed, approved, rejected
|
||||
- name: reviewNotes
|
||||
type: String
|
||||
required: false
|
||||
- name: reviewedAt
|
||||
type: DateTime
|
||||
required: false
|
||||
- name: submittedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: submission_form_idx
|
||||
fields: [formId]
|
||||
- name: submission_form_status_idx
|
||||
fields: [formId, status]
|
||||
- name: submission_user_idx
|
||||
fields: [userId]
|
||||
relations:
|
||||
- name: form
|
||||
type: belongsTo
|
||||
target: Form
|
||||
foreignKey: formId
|
||||
acl:
|
||||
create: [public, user]
|
||||
read: [owner, moderator, admin]
|
||||
update: [moderator, admin]
|
||||
delete: [admin]
|
||||
141
packages/package_validator/seed/schema/entities.yaml
Normal file
141
packages/package_validator/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
# Package Validator Schema Definitions
|
||||
# Package: package_validator
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: ValidationRun
|
||||
description: Package validation execution record
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: packageName
|
||||
type: String
|
||||
required: true
|
||||
- name: packageVersion
|
||||
type: String
|
||||
required: false
|
||||
- name: status
|
||||
type: String
|
||||
required: true
|
||||
description: pending, running, completed, failed
|
||||
- name: results
|
||||
type: Json
|
||||
required: false
|
||||
description: Validation results summary
|
||||
- name: startedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: completedAt
|
||||
type: DateTime
|
||||
required: false
|
||||
indexes:
|
||||
- name: validation_tenant_package_idx
|
||||
fields: [tenantId, packageName]
|
||||
- name: validation_status_idx
|
||||
fields: [status]
|
||||
acl:
|
||||
create: [system, admin]
|
||||
read: [user, admin]
|
||||
update: [system]
|
||||
delete: [admin]
|
||||
|
||||
- name: ValidationIssue
|
||||
description: Individual validation issue/warning
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: runId
|
||||
type: String
|
||||
required: true
|
||||
- name: severity
|
||||
type: String
|
||||
required: true
|
||||
description: error, warning, info
|
||||
- name: code
|
||||
type: String
|
||||
required: true
|
||||
description: Issue code for categorization
|
||||
- name: message
|
||||
type: String
|
||||
required: true
|
||||
- name: file
|
||||
type: String
|
||||
required: false
|
||||
- name: line
|
||||
type: Int
|
||||
required: false
|
||||
- name: suggestion
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: issue_run_idx
|
||||
fields: [runId]
|
||||
- name: issue_severity_idx
|
||||
fields: [runId, severity]
|
||||
relations:
|
||||
- name: run
|
||||
type: belongsTo
|
||||
target: ValidationRun
|
||||
foreignKey: runId
|
||||
acl:
|
||||
create: [system]
|
||||
read: [user, admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: ValidationRule
|
||||
description: Custom validation rule definition
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
- name: code
|
||||
type: String
|
||||
required: true
|
||||
description: Unique rule code
|
||||
- name: severity
|
||||
type: String
|
||||
required: true
|
||||
- name: description
|
||||
type: String
|
||||
required: true
|
||||
- name: check
|
||||
type: String
|
||||
required: true
|
||||
description: Lua function body for validation
|
||||
- name: enabled
|
||||
type: Boolean
|
||||
required: true
|
||||
default: true
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: rule_tenant_code_idx
|
||||
fields: [tenantId, code]
|
||||
unique: true
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [user, admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
90
packages/schema_editor/seed/schema/entities.yaml
Normal file
90
packages/schema_editor/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,90 @@
|
||||
# Schema Editor Schema Definitions
|
||||
# Package: schema_editor
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: EntitySchema
|
||||
description: Dynamic entity schema definition
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: name
|
||||
type: String
|
||||
required: true
|
||||
description: Entity name
|
||||
- name: fields
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of field definitions
|
||||
- name: indexes
|
||||
type: Json
|
||||
required: false
|
||||
description: Array of index definitions
|
||||
- name: relations
|
||||
type: Json
|
||||
required: false
|
||||
description: Array of relation definitions
|
||||
- name: acl
|
||||
type: Json
|
||||
required: false
|
||||
description: Access control rules
|
||||
- name: version
|
||||
type: Int
|
||||
required: true
|
||||
default: 1
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: entity_schema_tenant_name_idx
|
||||
fields: [tenantId, name]
|
||||
unique: true
|
||||
acl:
|
||||
create: [admin]
|
||||
read: [admin]
|
||||
update: [admin]
|
||||
delete: [admin]
|
||||
|
||||
- name: SchemaVersion
|
||||
description: Schema version history for rollback
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: entityName
|
||||
type: String
|
||||
required: true
|
||||
- name: version
|
||||
type: Int
|
||||
required: true
|
||||
- name: snapshot
|
||||
type: Json
|
||||
required: true
|
||||
description: Complete schema snapshot
|
||||
- name: changeNote
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: schema_version_entity_idx
|
||||
fields: [tenantId, entityName, version]
|
||||
unique: true
|
||||
acl:
|
||||
create: [system]
|
||||
read: [admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
202
packages/screenshot_analyzer/seed/schema/entities.yaml
Normal file
202
packages/screenshot_analyzer/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,202 @@
|
||||
# Screenshot Analyzer Schema Definitions
|
||||
# Package: screenshot_analyzer
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: Screenshot
|
||||
description: Uploaded screenshot for analysis
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: url
|
||||
type: String
|
||||
required: true
|
||||
description: Image URL or base64 data
|
||||
- name: filename
|
||||
type: String
|
||||
required: false
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
description: Image dimensions, format, etc.
|
||||
- name: status
|
||||
type: String
|
||||
required: true
|
||||
default: uploaded
|
||||
description: uploaded, analyzing, analyzed, failed
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: screenshot_tenant_user_idx
|
||||
fields: [tenantId, userId]
|
||||
- name: screenshot_status_idx
|
||||
fields: [status]
|
||||
acl:
|
||||
create: [user]
|
||||
read: [owner, admin]
|
||||
update: [owner, admin]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: ScreenshotAnalysis
|
||||
description: Analysis result for a screenshot
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: screenshotId
|
||||
type: String
|
||||
required: true
|
||||
- name: analysisType
|
||||
type: String
|
||||
required: true
|
||||
description: component, color, layout, accessibility
|
||||
- name: result
|
||||
type: Json
|
||||
required: true
|
||||
description: Analysis result data
|
||||
- name: confidence
|
||||
type: Float
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: analysis_screenshot_idx
|
||||
fields: [screenshotId]
|
||||
- name: analysis_type_idx
|
||||
fields: [screenshotId, analysisType]
|
||||
relations:
|
||||
- name: screenshot
|
||||
type: belongsTo
|
||||
target: Screenshot
|
||||
foreignKey: screenshotId
|
||||
acl:
|
||||
create: [system]
|
||||
read: [owner, admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: DetectedComponent
|
||||
description: UI component detected in screenshot
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: analysisId
|
||||
type: String
|
||||
required: true
|
||||
- name: componentType
|
||||
type: String
|
||||
required: true
|
||||
description: button, input, card, etc.
|
||||
- name: bounds
|
||||
type: Json
|
||||
required: true
|
||||
description: x, y, width, height
|
||||
- name: confidence
|
||||
type: Float
|
||||
required: true
|
||||
- name: properties
|
||||
type: Json
|
||||
required: false
|
||||
description: Detected properties (color, text, etc.)
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: component_analysis_idx
|
||||
fields: [analysisId]
|
||||
relations:
|
||||
- name: analysis
|
||||
type: belongsTo
|
||||
target: ScreenshotAnalysis
|
||||
foreignKey: analysisId
|
||||
acl:
|
||||
create: [system]
|
||||
read: [owner, admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: ColorPalette
|
||||
description: Extracted color palette from screenshot
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: analysisId
|
||||
type: String
|
||||
required: true
|
||||
- name: colors
|
||||
type: Json
|
||||
required: true
|
||||
description: Array of color objects
|
||||
- name: dominantColor
|
||||
type: String
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: palette_analysis_idx
|
||||
fields: [analysisId]
|
||||
relations:
|
||||
- name: analysis
|
||||
type: belongsTo
|
||||
target: ScreenshotAnalysis
|
||||
foreignKey: analysisId
|
||||
acl:
|
||||
create: [system]
|
||||
read: [owner, admin]
|
||||
update: [none]
|
||||
delete: [admin]
|
||||
|
||||
- name: GeneratedCode
|
||||
description: Code generated from screenshot analysis
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: screenshotId
|
||||
type: String
|
||||
required: true
|
||||
- name: framework
|
||||
type: String
|
||||
required: true
|
||||
description: react, vue, html, qml
|
||||
- name: code
|
||||
type: String
|
||||
required: true
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: generated_screenshot_idx
|
||||
fields: [screenshotId]
|
||||
- name: generated_framework_idx
|
||||
fields: [screenshotId, framework]
|
||||
relations:
|
||||
- name: screenshot
|
||||
type: belongsTo
|
||||
target: Screenshot
|
||||
foreignKey: screenshotId
|
||||
acl:
|
||||
create: [system]
|
||||
read: [owner, admin]
|
||||
update: [none]
|
||||
delete: [owner, admin]
|
||||
164
packages/social_hub/seed/schema/entities.yaml
Normal file
164
packages/social_hub/seed/schema/entities.yaml
Normal file
@@ -0,0 +1,164 @@
|
||||
# Social Hub Schema Definitions
|
||||
# Package: social_hub
|
||||
# Version: 1.0.0
|
||||
|
||||
entities:
|
||||
- name: SocialProfile
|
||||
description: User social profile
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: displayName
|
||||
type: String
|
||||
required: true
|
||||
- name: bio
|
||||
type: String
|
||||
required: false
|
||||
- name: avatar
|
||||
type: String
|
||||
required: false
|
||||
- name: links
|
||||
type: Json
|
||||
required: false
|
||||
description: Social media links
|
||||
- name: settings
|
||||
type: Json
|
||||
required: false
|
||||
description: Privacy settings
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
- name: updatedAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: profile_tenant_user_idx
|
||||
fields: [tenantId, userId]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user]
|
||||
read: [public]
|
||||
update: [owner]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: SocialConnection
|
||||
description: Follow relationship between users
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: followerId
|
||||
type: String
|
||||
required: true
|
||||
description: User doing the following
|
||||
- name: followingId
|
||||
type: String
|
||||
required: true
|
||||
description: User being followed
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: connection_follower_idx
|
||||
fields: [tenantId, followerId]
|
||||
- name: connection_following_idx
|
||||
fields: [tenantId, followingId]
|
||||
- name: connection_unique_idx
|
||||
fields: [tenantId, followerId, followingId]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user]
|
||||
update: [none]
|
||||
delete: [owner]
|
||||
|
||||
- name: SocialActivity
|
||||
description: User activity feed item
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: type
|
||||
type: String
|
||||
required: true
|
||||
description: post, like, comment, follow, etc.
|
||||
- name: content
|
||||
type: String
|
||||
required: false
|
||||
- name: targetId
|
||||
type: String
|
||||
required: false
|
||||
description: Reference to target object
|
||||
- name: targetType
|
||||
type: String
|
||||
required: false
|
||||
description: Type of target object
|
||||
- name: metadata
|
||||
type: Json
|
||||
required: false
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: activity_tenant_user_idx
|
||||
fields: [tenantId, userId]
|
||||
- name: activity_created_idx
|
||||
fields: [tenantId, createdAt]
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user]
|
||||
update: [none]
|
||||
delete: [owner, admin]
|
||||
|
||||
- name: SocialLike
|
||||
description: Like on content
|
||||
fields:
|
||||
- name: id
|
||||
type: String
|
||||
required: true
|
||||
primary: true
|
||||
- name: tenantId
|
||||
type: String
|
||||
required: true
|
||||
- name: userId
|
||||
type: String
|
||||
required: true
|
||||
- name: targetId
|
||||
type: String
|
||||
required: true
|
||||
- name: targetType
|
||||
type: String
|
||||
required: true
|
||||
- name: createdAt
|
||||
type: DateTime
|
||||
required: true
|
||||
indexes:
|
||||
- name: like_target_idx
|
||||
fields: [tenantId, targetId]
|
||||
- name: like_user_target_idx
|
||||
fields: [tenantId, userId, targetId]
|
||||
unique: true
|
||||
acl:
|
||||
create: [user]
|
||||
read: [user]
|
||||
update: [none]
|
||||
delete: [owner]
|
||||
Reference in New Issue
Block a user