feat: add script to initialize and configure PocketBase collections
All checks were successful
On Push to Main / test (push) Successful in 39s
On Push to Main / publish (push) Successful in 1m8s
On Push to Main / deploy-dev (push) Successful in 1m43s

This commit is contained in:
RaymondVerhoef
2026-05-16 20:00:28 +02:00
parent 267fa340a8
commit bb39a5fa71

View File

@@ -20,7 +20,7 @@ const COLLECTIONS = [
name: 'topics', name: 'topics',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'label', type: 'text', required: true }, { name: 'label', type: 'text', required: true },
{ name: 'type', type: 'text', required: false }, { name: 'type', type: 'text', required: false },
{ name: 'description', type: 'text', required: false }, { name: 'description', type: 'text', required: false },
@@ -30,7 +30,7 @@ const COLLECTIONS = [
name: 'relations', name: 'relations',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'source', type: 'text', required: true }, { name: 'source', type: 'text', required: true },
{ name: 'target', type: 'text', required: true }, { name: 'target', type: 'text', required: true },
{ name: 'type', type: 'text', required: false }, { name: 'type', type: 'text', required: false },
@@ -40,7 +40,7 @@ const COLLECTIONS = [
name: 'content', name: 'content',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'topic_id', type: 'text', required: true }, { name: 'topic_id', type: 'text', required: true },
{ name: 'data', type: 'json', required: false }, { name: 'data', type: 'json', required: false },
], ],
@@ -49,7 +49,7 @@ const COLLECTIONS = [
name: 'quiz_banks', name: 'quiz_banks',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'topic_id', type: 'text', required: true }, { name: 'topic_id', type: 'text', required: true },
{ name: 'questions', type: 'json', required: false }, { name: 'questions', type: 'json', required: false },
], ],
@@ -58,7 +58,7 @@ const COLLECTIONS = [
name: 'sources', name: 'sources',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'name', type: 'text', required: true }, { name: 'name', type: 'text', required: true },
{ name: 'status', type: 'text', required: false }, { name: 'status', type: 'text', required: false },
{ name: 'error', type: 'text', required: false }, { name: 'error', type: 'text', required: false },
@@ -68,7 +68,7 @@ const COLLECTIONS = [
name: 'team_members', name: 'team_members',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'name', type: 'text', required: true }, { name: 'name', type: 'text', required: true },
{ name: 'pin', type: 'text', required: false }, { name: 'pin', type: 'text', required: false },
{ name: 'role', type: 'text', required: false }, { name: 'role', type: 'text', required: false },
@@ -78,7 +78,7 @@ const COLLECTIONS = [
name: 'quiz_results', name: 'quiz_results',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'user_id', type: 'text', required: true }, { name: 'user_id', type: 'text', required: true },
{ name: 'week_number', type: 'number', required: true }, { name: 'week_number', type: 'number', required: true },
{ name: 'score', type: 'number', required: false }, { name: 'score', type: 'number', required: false },
@@ -94,7 +94,7 @@ const COLLECTIONS = [
name: 'quiz_cache', name: 'quiz_cache',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'user_id', type: 'text', required: true }, { name: 'user_id', type: 'text', required: true },
{ name: 'week_number', type: 'number', required: true }, { name: 'week_number', type: 'number', required: true },
{ name: 'questions', type: 'json', required: false }, { name: 'questions', type: 'json', required: false },
@@ -105,7 +105,7 @@ const COLLECTIONS = [
name: 'learn_progress', name: 'learn_progress',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'user_id', type: 'text', required: true }, { name: 'user_id', type: 'text', required: true },
{ name: 'week_number', type: 'number', required: true }, { name: 'week_number', type: 'number', required: true },
{ name: 'done', type: 'bool', required: false }, { name: 'done', type: 'bool', required: false },
@@ -115,7 +115,7 @@ const COLLECTIONS = [
name: 'leaderboard', name: 'leaderboard',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'user_id', type: 'text', required: true }, { name: 'user_id', type: 'text', required: true },
{ name: 'name', type: 'text', required: false }, { name: 'name', type: 'text', required: false },
{ name: 'points', type: 'number', required: false }, { name: 'points', type: 'number', required: false },
@@ -127,7 +127,7 @@ const COLLECTIONS = [
name: 'settings', name: 'settings',
type: 'base', type: 'base',
...OPEN_RULES, ...OPEN_RULES,
schema: [ fields: [
{ name: 'key', type: 'text', required: true }, { name: 'key', type: 'text', required: true },
{ name: 'value', type: 'text', required: false }, { name: 'value', type: 'text', required: false },
], ],