@aphexcms/cms-core 0.1.17 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/api/client.d.ts.map +1 -1
  2. package/dist/api/client.js +7 -1
  3. package/dist/api/types.d.ts +2 -0
  4. package/dist/api/types.d.ts.map +1 -1
  5. package/dist/cli/generate-types.js +59 -16
  6. package/dist/cli/index.js +1 -1
  7. package/dist/client/index.d.ts +0 -1
  8. package/dist/client/index.d.ts.map +1 -1
  9. package/dist/client/index.js +0 -1
  10. package/dist/components/AdminApp.svelte +278 -45
  11. package/dist/components/AdminApp.svelte.d.ts +2 -0
  12. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  13. package/dist/components/admin/DocumentEditor.svelte +60 -13
  14. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  15. package/dist/components/admin/ObjectModal.svelte +15 -4
  16. package/dist/components/admin/ObjectModal.svelte.d.ts +1 -0
  17. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
  18. package/dist/components/admin/SchemaField.svelte +64 -5
  19. package/dist/components/admin/SchemaField.svelte.d.ts +1 -0
  20. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
  21. package/dist/components/admin/fields/ArrayField.svelte +72 -17
  22. package/dist/components/admin/fields/ArrayField.svelte.d.ts +1 -0
  23. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  24. package/dist/components/admin/fields/DateField.svelte +145 -0
  25. package/dist/components/admin/fields/DateField.svelte.d.ts +14 -0
  26. package/dist/components/admin/fields/DateField.svelte.d.ts.map +1 -0
  27. package/dist/components/admin/fields/DateTimeField.svelte +225 -0
  28. package/dist/components/admin/fields/DateTimeField.svelte.d.ts +14 -0
  29. package/dist/components/admin/fields/DateTimeField.svelte.d.ts.map +1 -0
  30. package/dist/components/admin/fields/ImageField.svelte +20 -7
  31. package/dist/components/admin/fields/ImageField.svelte.d.ts +1 -0
  32. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -1
  33. package/dist/components/admin/fields/ReferenceField.svelte +1 -1
  34. package/dist/components/admin/fields/SlugField.svelte +1 -3
  35. package/dist/components/admin/fields/SlugField.svelte.d.ts.map +1 -1
  36. package/dist/components/admin/fields/StringField.svelte +156 -12
  37. package/dist/components/admin/fields/StringField.svelte.d.ts +3 -2
  38. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -1
  39. package/dist/components/admin/fields/URLField.svelte +41 -0
  40. package/dist/components/admin/fields/URLField.svelte.d.ts +14 -0
  41. package/dist/components/admin/fields/URLField.svelte.d.ts.map +1 -0
  42. package/dist/components/index.d.ts +0 -1
  43. package/dist/components/index.d.ts.map +1 -1
  44. package/dist/components/index.js +0 -1
  45. package/dist/db/interfaces/document.d.ts +0 -2
  46. package/dist/db/interfaces/document.d.ts.map +1 -1
  47. package/dist/db/interfaces/index.d.ts +2 -1
  48. package/dist/db/interfaces/index.d.ts.map +1 -1
  49. package/dist/db/interfaces/user.d.ts +2 -0
  50. package/dist/db/interfaces/user.d.ts.map +1 -1
  51. package/dist/db/utils/reference-resolver.js +1 -1
  52. package/dist/engine.d.ts.map +1 -1
  53. package/dist/engine.js +3 -0
  54. package/dist/field-validation/date-utils.d.ts +30 -0
  55. package/dist/field-validation/date-utils.d.ts.map +1 -0
  56. package/dist/field-validation/date-utils.js +147 -0
  57. package/dist/field-validation/rule.d.ts +4 -0
  58. package/dist/field-validation/rule.d.ts.map +1 -1
  59. package/dist/field-validation/rule.js +170 -4
  60. package/dist/field-validation/utils.d.ts +7 -3
  61. package/dist/field-validation/utils.d.ts.map +1 -1
  62. package/dist/field-validation/utils.js +129 -35
  63. package/dist/hooks.d.ts.map +1 -1
  64. package/dist/hooks.js +38 -21
  65. package/dist/lib/field-validation/date-utils.js +147 -0
  66. package/dist/lib/field-validation/rule.js +170 -4
  67. package/dist/lib/field-validation/utils.js +129 -35
  68. package/dist/local-api/collection-api.d.ts +16 -4
  69. package/dist/local-api/collection-api.d.ts.map +1 -1
  70. package/dist/local-api/collection-api.js +51 -17
  71. package/dist/local-api/index.d.ts +1 -1
  72. package/dist/local-api/index.d.ts.map +1 -1
  73. package/dist/routes/assets-cdn.d.ts.map +1 -1
  74. package/dist/routes/assets-cdn.js +14 -7
  75. package/dist/routes/assets.d.ts.map +1 -1
  76. package/dist/routes/assets.js +6 -1
  77. package/dist/routes/documents-by-id.d.ts.map +1 -1
  78. package/dist/routes/documents-by-id.js +18 -7
  79. package/dist/routes/documents-publish.js +2 -2
  80. package/dist/routes/documents-query.d.ts +3 -1
  81. package/dist/routes/documents-query.d.ts.map +1 -1
  82. package/dist/routes/documents-query.js +6 -2
  83. package/dist/routes/documents.d.ts.map +1 -1
  84. package/dist/routes/documents.js +20 -4
  85. package/dist/routes/index.d.ts +1 -0
  86. package/dist/routes/index.d.ts.map +1 -1
  87. package/dist/routes/index.js +2 -0
  88. package/dist/routes/user-preferences.d.ts +4 -0
  89. package/dist/routes/user-preferences.d.ts.map +1 -0
  90. package/dist/routes/user-preferences.js +77 -0
  91. package/dist/schema-utils/utils.d.ts +4 -0
  92. package/dist/schema-utils/utils.d.ts.map +1 -1
  93. package/dist/schema-utils/utils.js +23 -2
  94. package/dist/schema-utils/validator.d.ts +4 -0
  95. package/dist/schema-utils/validator.d.ts.map +1 -1
  96. package/dist/schema-utils/validator.js +120 -0
  97. package/dist/types/filters.d.ts +13 -0
  98. package/dist/types/filters.d.ts.map +1 -1
  99. package/dist/types/organization.d.ts +3 -0
  100. package/dist/types/organization.d.ts.map +1 -1
  101. package/dist/types/schemas.d.ts +67 -7
  102. package/dist/types/schemas.d.ts.map +1 -1
  103. package/dist/utils/default-orderings.d.ts +10 -0
  104. package/dist/utils/default-orderings.d.ts.map +1 -0
  105. package/dist/utils/default-orderings.js +63 -0
  106. package/dist/utils/field-defaults.d.ts +8 -0
  107. package/dist/utils/field-defaults.d.ts.map +1 -0
  108. package/dist/utils/field-defaults.js +20 -0
  109. package/dist/utils/index.d.ts +1 -0
  110. package/dist/utils/index.d.ts.map +1 -1
  111. package/dist/utils/index.js +1 -0
  112. package/dist/utils/initial-value-helpers.d.ts +50 -0
  113. package/dist/utils/initial-value-helpers.d.ts.map +1 -0
  114. package/dist/utils/initial-value-helpers.js +70 -0
  115. package/package.json +6 -4
  116. package/dist/components/admin/DocumentTypesList.svelte +0 -97
  117. package/dist/components/admin/DocumentTypesList.svelte.d.ts +0 -14
  118. package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/lib/routes/documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AASpD,eAAO,MAAM,GAAG,EAAE,cAiGjB,CAAC;AAGF,eAAO,MAAM,IAAI,EAAE,cAsElB,CAAC"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/lib/routes/documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AASpD,eAAO,MAAM,GAAG,EAAE,cAwGjB,CAAC;AAGF,eAAO,MAAM,IAAI,EAAE,cAmFlB,CAAC"}
@@ -18,6 +18,11 @@ export const GET = async ({ url, locals }) => {
18
18
  const depthParam = url.searchParams.get('depth');
19
19
  const sortParam = url.searchParams.get('sort');
20
20
  const perspective = url.searchParams.get('perspective') || 'draft';
21
+ const includeChildOrganizations = url.searchParams.get('includeChildOrganizations') === 'true';
22
+ const filterOrganizationIds = url.searchParams
23
+ .get('filterOrganizationIds')
24
+ ?.split(',')
25
+ .filter(Boolean);
21
26
  // Parse pagination
22
27
  const page = pageParam ? Math.max(1, parseInt(pageParam)) : DEFAULT_PAGE;
23
28
  const pageSize = pageSizeParam ? parseInt(pageSizeParam) : DEFAULT_PAGE_SIZE;
@@ -52,7 +57,9 @@ export const GET = async ({ url, locals }) => {
52
57
  offset: offset,
53
58
  depth: depth,
54
59
  sort: sortParam || undefined,
55
- perspective
60
+ perspective,
61
+ includeChildOrganizations,
62
+ filterOrganizationIds
56
63
  });
57
64
  return json({
58
65
  success: true,
@@ -109,13 +116,14 @@ export const POST = async ({ request, locals }) => {
109
116
  message: `Collection '${documentType}' not found. Available: ${localAPI.getCollectionNames().join(', ')}`
110
117
  }, { status: 400 });
111
118
  }
112
- // Create via LocalAPI (permission checks happen inside)
113
- const newDocument = await collection.create(context, documentData, {
119
+ // Create via LocalAPI (permission checks and validation happen inside)
120
+ const result = await collection.create(context, documentData, {
114
121
  publish: shouldPublish
115
122
  });
116
123
  return json({
117
124
  success: true,
118
- data: newDocument
125
+ data: result.document,
126
+ validation: result.validation
119
127
  }, { status: 201 });
120
128
  }
121
129
  catch (error) {
@@ -127,6 +135,14 @@ export const POST = async ({ request, locals }) => {
127
135
  message: error.message
128
136
  }, { status: 403 });
129
137
  }
138
+ // Validation errors from publish attempts
139
+ if (error instanceof Error && error.message.includes('validation errors')) {
140
+ return json({
141
+ success: false,
142
+ error: 'Validation failed',
143
+ message: error.message
144
+ }, { status: 400 });
145
+ }
130
146
  return json({
131
147
  success: false,
132
148
  error: 'Failed to create document',
@@ -5,4 +5,5 @@ export * as documentsPublish from './documents-publish.js';
5
5
  export * as assets from './assets.js';
6
6
  export * as schemas from './schemas.js';
7
7
  export * as schemasByType from './schemas-by-type.js';
8
+ export * as userPreferences from './user-preferences.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/routes/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAGnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/routes/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAGnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC"}
@@ -10,3 +10,5 @@ export * as assets from './assets.js';
10
10
  // Schema information routes
11
11
  export * as schemas from './schemas.js';
12
12
  export * as schemasByType from './schemas-by-type.js';
13
+ // User management routes
14
+ export * as userPreferences from './user-preferences.js';
@@ -0,0 +1,4 @@
1
+ import type { RequestHandler } from '@sveltejs/kit';
2
+ export declare const GET: RequestHandler;
3
+ export declare const PATCH: RequestHandler;
4
+ //# sourceMappingURL=user-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preferences.d.ts","sourceRoot":"","sources":["../../src/lib/routes/user-preferences.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,eAAO,MAAM,GAAG,EAAE,cAiCjB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,cAkEnB,CAAC"}
@@ -0,0 +1,77 @@
1
+ // Aphex CMS User Preferences API Handler
2
+ import { json } from '@sveltejs/kit';
3
+ // GET /api/user/preferences - Get user preferences
4
+ export const GET = async ({ locals }) => {
5
+ try {
6
+ const { databaseAdapter } = locals.aphexCMS;
7
+ const auth = locals.auth;
8
+ if (!auth || auth.type !== 'session') {
9
+ return json({
10
+ success: false,
11
+ error: 'Unauthorized',
12
+ message: 'Session authentication required'
13
+ }, { status: 401 });
14
+ }
15
+ const userProfile = await databaseAdapter.findUserProfileById(auth.user.id);
16
+ return json({
17
+ success: true,
18
+ data: userProfile?.preferences || {}
19
+ });
20
+ }
21
+ catch (error) {
22
+ console.error('Failed to get user preferences:', error);
23
+ return json({
24
+ success: false,
25
+ error: 'Failed to get user preferences',
26
+ message: error instanceof Error ? error.message : 'Unknown error'
27
+ }, { status: 500 });
28
+ }
29
+ };
30
+ // PATCH /api/user/preferences - Update user preferences (partial update)
31
+ export const PATCH = async ({ request, locals }) => {
32
+ try {
33
+ const { databaseAdapter } = locals.aphexCMS;
34
+ const auth = locals.auth;
35
+ if (!auth || auth.type !== 'session') {
36
+ return json({
37
+ success: false,
38
+ error: 'Unauthorized',
39
+ message: 'Session authentication required'
40
+ }, { status: 401 });
41
+ }
42
+ const body = (await request.json());
43
+ // Validate the preferences object
44
+ if (typeof body !== 'object' || body === null) {
45
+ return json({
46
+ success: false,
47
+ error: 'Invalid request body',
48
+ message: 'Expected an object with preference values'
49
+ }, { status: 400 });
50
+ }
51
+ // Validate individual preference types
52
+ if (body.includeChildOrganizations !== undefined &&
53
+ typeof body.includeChildOrganizations !== 'boolean') {
54
+ return json({
55
+ success: false,
56
+ error: 'Invalid preference value',
57
+ message: 'includeChildOrganizations must be a boolean'
58
+ }, { status: 400 });
59
+ }
60
+ // Update preferences
61
+ await databaseAdapter.updateUserPreferences(auth.user.id, body);
62
+ // Get updated profile
63
+ const userProfile = await databaseAdapter.findUserProfileById(auth.user.id);
64
+ return json({
65
+ success: true,
66
+ data: userProfile?.preferences || {}
67
+ });
68
+ }
69
+ catch (error) {
70
+ console.error('Failed to update user preferences:', error);
71
+ return json({
72
+ success: false,
73
+ error: 'Failed to update user preferences',
74
+ message: error instanceof Error ? error.message : 'Unknown error'
75
+ }, { status: 500 });
76
+ }
77
+ };
@@ -21,10 +21,14 @@ export declare function getDocumentTypes(schemas: SchemaType[]): SchemaType[];
21
21
  export declare function schemaExists(schemas: SchemaType[], name: string): boolean;
22
22
  /**
23
23
  * Get the available types for an array field
24
+ * Supports both schema references and inline object definitions
24
25
  */
25
26
  export declare function getArrayTypes(schemas: SchemaType[], arrayField: {
26
27
  of?: Array<{
27
28
  type: string;
29
+ name?: string;
30
+ title?: string;
31
+ fields?: any[];
28
32
  }>;
29
33
  }): SchemaType[];
30
34
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/schema-utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE;IAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC1C,UAAU,EAAE,CAKd"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/schema-utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE;IAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,GACzF,UAAU,EAAE,CA0Bd"}
@@ -28,10 +28,31 @@ export function schemaExists(schemas, name) {
28
28
  }
29
29
  /**
30
30
  * Get the available types for an array field
31
+ * Supports both schema references and inline object definitions
31
32
  */
32
33
  export function getArrayTypes(schemas, arrayField) {
33
34
  if (!arrayField.of)
34
35
  return [];
35
- const typeNames = arrayField.of.map((item) => item.type);
36
- return schemas.filter((schema) => typeNames.includes(schema.name));
36
+ const availableTypes = [];
37
+ arrayField.of.forEach((item) => {
38
+ // Check if this is an inline object definition
39
+ if (item.fields) {
40
+ // Create a temporary SchemaType from inline definition
41
+ const schemaName = item.name || item.type;
42
+ availableTypes.push({
43
+ type: 'object',
44
+ name: schemaName,
45
+ title: item.title || item.name || item.type,
46
+ fields: item.fields
47
+ });
48
+ }
49
+ else {
50
+ // Look it up in the schema registry
51
+ const schema = schemas.find((s) => s.name === item.type);
52
+ if (schema) {
53
+ availableTypes.push(schema);
54
+ }
55
+ }
56
+ });
57
+ return availableTypes;
37
58
  }
@@ -1,4 +1,8 @@
1
1
  import type { SchemaType } from '../types/schemas.js';
2
+ /**
3
+ * Check if a field name is reserved
4
+ */
5
+ export declare function isReservedFieldName(fieldName: string): boolean;
2
6
  /**
3
7
  * Validate all schema references to ensure they exist
4
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/lib/schema-utils/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAoDpE"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/lib/schema-utils/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAkB1D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAoMpE"}
@@ -1,13 +1,69 @@
1
+ // Reserved field names that conflict with system properties
2
+ const RESERVED_FIELD_NAMES = [
3
+ 'id',
4
+ 'type',
5
+ 'status',
6
+ 'organizationId',
7
+ 'createdBy',
8
+ 'updatedBy',
9
+ 'createdAt',
10
+ 'updatedAt',
11
+ 'publishedAt',
12
+ 'draftData',
13
+ 'publishedData',
14
+ 'publishedHash'
15
+ ];
16
+ /**
17
+ * Check if a field name is reserved
18
+ */
19
+ export function isReservedFieldName(fieldName) {
20
+ return RESERVED_FIELD_NAMES.includes(fieldName);
21
+ }
1
22
  /**
2
23
  * Validate all schema references to ensure they exist
3
24
  */
4
25
  export function validateSchemaReferences(schemas) {
5
26
  const schemaNames = new Set(schemas.map((schema) => schema.name));
6
27
  const errors = [];
28
+ // Primitive field types that don't need schema validation
29
+ const primitiveTypes = [
30
+ 'string',
31
+ 'text',
32
+ 'number',
33
+ 'boolean',
34
+ 'slug',
35
+ 'url',
36
+ 'image',
37
+ 'date',
38
+ 'datetime',
39
+ 'reference'
40
+ ];
41
+ const validFieldTypes = [...primitiveTypes, 'array', 'object'];
7
42
  function validateField(field, parentSchema) {
43
+ // Check that field has a valid type (cast to any to access name property)
44
+ if (!field.type) {
45
+ errors.push(`Schema "${parentSchema}" field "${field.name || 'unknown'}" is missing required "type" property`);
46
+ return; // Skip further validation if type is missing
47
+ }
48
+ if (!validFieldTypes.includes(field.type)) {
49
+ errors.push(`Schema "${parentSchema}" field "${field.name}" has invalid type "${field.type}". Valid types: ${validFieldTypes.join(', ')}`);
50
+ }
51
+ // Check for reserved field names
52
+ if (isReservedFieldName(field.name)) {
53
+ errors.push(`Schema "${parentSchema}" uses reserved field name "${field.name}". Reserved names: ${RESERVED_FIELD_NAMES.join(', ')}`);
54
+ }
8
55
  // Check array field references
9
56
  if (field.type === 'array' && field.of) {
10
57
  for (const arrayType of field.of) {
58
+ // Skip validation for primitive types and inline objects
59
+ if (primitiveTypes.includes(arrayType.type)) {
60
+ continue;
61
+ }
62
+ // Skip inline object definitions (has fields property)
63
+ if (arrayType.type === 'object' && arrayType.fields) {
64
+ continue;
65
+ }
66
+ // Only validate if it's a reference to another schema
11
67
  if (!schemaNames.has(arrayType.type)) {
12
68
  errors.push(`Schema "${parentSchema}" field "${field.name}" references unknown type "${arrayType.type}"`);
13
69
  }
@@ -19,6 +75,14 @@ export function validateSchemaReferences(schemas) {
19
75
  errors.push(`Schema "${parentSchema}" field "${field.name}" references unknown object type "${field.fields}"`);
20
76
  }
21
77
  }
78
+ // Check reference field targets
79
+ if (field.type === 'reference' && 'to' in field && field.to) {
80
+ for (const target of field.to) {
81
+ if (!schemaNames.has(target.type)) {
82
+ errors.push(`Schema "${parentSchema}" field "${field.name}" references unknown document type "${target.type}"`);
83
+ }
84
+ }
85
+ }
22
86
  // Recursively check nested fields -- cast type later or something. cba
23
87
  if ('fields' in field && Array.isArray(field.fields)) {
24
88
  for (const nestedField of field.fields) {
@@ -28,11 +92,67 @@ export function validateSchemaReferences(schemas) {
28
92
  }
29
93
  // Validate each schema
30
94
  for (const schema of schemas) {
95
+ // Validate schema type
96
+ if (schema.type !== 'document' && schema.type !== 'object') {
97
+ errors.push(`Schema "${schema.name}" has invalid type "${schema.type}". Must be "document" or "object"`);
98
+ }
31
99
  if (schema.fields) {
32
100
  for (const field of schema.fields) {
33
101
  validateField(field, schema.name);
34
102
  }
35
103
  }
104
+ // Validate preview config references
105
+ if (schema.preview?.select) {
106
+ const fieldNames = new Set(schema.fields?.map((f) => f.name) || []);
107
+ // Validate title field reference
108
+ if (schema.preview.select.title && !fieldNames.has(schema.preview.select.title)) {
109
+ errors.push(`Schema "${schema.name}" preview.select.title references unknown field "${schema.preview.select.title}"`);
110
+ }
111
+ // Validate subtitle field reference
112
+ if (schema.preview.select.subtitle && !fieldNames.has(schema.preview.select.subtitle)) {
113
+ errors.push(`Schema "${schema.name}" preview.select.subtitle references unknown field "${schema.preview.select.subtitle}"`);
114
+ }
115
+ // Validate media field reference
116
+ if (schema.preview.select.media && !fieldNames.has(schema.preview.select.media)) {
117
+ errors.push(`Schema "${schema.name}" preview.select.media references unknown field "${schema.preview.select.media}"`);
118
+ }
119
+ }
120
+ // Validate orderings
121
+ if (schema.orderings && schema.orderings.length > 0) {
122
+ const fieldNames = new Set(schema.fields?.map((f) => f.name) || []);
123
+ // Add meta fields that are always available
124
+ fieldNames.add('createdAt');
125
+ fieldNames.add('updatedAt');
126
+ for (const ordering of schema.orderings) {
127
+ // Validate ordering has required properties
128
+ if (!ordering.name) {
129
+ errors.push(`Schema "${schema.name}" has an ordering without a "name" property`);
130
+ continue;
131
+ }
132
+ if (!ordering.title) {
133
+ errors.push(`Schema "${schema.name}" ordering "${ordering.name}" is missing required "title" property`);
134
+ }
135
+ if (!ordering.by || ordering.by.length === 0) {
136
+ errors.push(`Schema "${schema.name}" ordering "${ordering.name}" is missing required "by" array`);
137
+ continue;
138
+ }
139
+ // Validate each field in the ordering
140
+ for (const orderItem of ordering.by) {
141
+ if (!orderItem.field) {
142
+ errors.push(`Schema "${schema.name}" ordering "${ordering.name}" has an item without a "field" property`);
143
+ continue;
144
+ }
145
+ if (!fieldNames.has(orderItem.field)) {
146
+ errors.push(`Schema "${schema.name}" ordering "${ordering.name}" references unknown field "${orderItem.field}"`);
147
+ }
148
+ if (orderItem.direction &&
149
+ orderItem.direction !== 'asc' &&
150
+ orderItem.direction !== 'desc') {
151
+ errors.push(`Schema "${schema.name}" ordering "${ordering.name}" field "${orderItem.field}" has invalid direction "${orderItem.direction}". Must be "asc" or "desc"`);
152
+ }
153
+ }
154
+ }
155
+ }
36
156
  }
37
157
  // Throw error if any validation issues found
38
158
  if (errors.length > 0) {
@@ -131,6 +131,19 @@ export interface FindOptions<T = unknown> {
131
131
  * @default 'draft'
132
132
  */
133
133
  perspective?: 'draft' | 'published';
134
+ /**
135
+ * Include documents from child organizations
136
+ * - Only applies when hierarchyEnabled is true
137
+ * @default false
138
+ */
139
+ includeChildOrganizations?: boolean;
140
+ /**
141
+ * Filter to specific organization IDs
142
+ * - Overrides the default single organizationId filter
143
+ * - Useful for multi-org queries (e.g., parent + children)
144
+ * - RLS will still enforce access control
145
+ */
146
+ filterOrganizationIds?: string[];
134
147
  }
135
148
  /**
136
149
  * Result from find operations with pagination metadata
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/lib/types/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/lib/types/filters.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,9 @@ export interface NewInvitation {
79
79
  createdAt?: Date;
80
80
  acceptedAt?: Date | null;
81
81
  }
82
+ export interface UserSessionPreferences {
83
+ includeChildOrganizations?: boolean;
84
+ }
82
85
  export interface UserSession {
83
86
  updatedAt: Date;
84
87
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/lib/types/organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/lib/types/organization.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Rule } from '../field-validation/rule.js';
2
2
  import type { Icon as LucideIcon } from 'lucide-svelte';
3
- export type FieldType = 'string' | 'text' | 'number' | 'boolean' | 'slug' | 'image' | 'array' | 'object' | 'reference';
3
+ export type FieldType = 'string' | 'text' | 'number' | 'boolean' | 'slug' | 'url' | 'image' | 'array' | 'object' | 'reference' | 'date' | 'datetime';
4
4
  export interface BaseField {
5
5
  name: string;
6
6
  type: FieldType;
@@ -8,30 +8,54 @@ export interface BaseField {
8
8
  description?: string;
9
9
  validation?: ((rule: Rule) => Rule) | Array<(rule: Rule) => Rule>;
10
10
  }
11
+ export interface DependentList {
12
+ dependsOn: string;
13
+ options: Record<string, Array<string | {
14
+ title: string;
15
+ value: string;
16
+ }>>;
17
+ }
11
18
  export interface StringField extends BaseField {
12
19
  type: 'string';
13
20
  maxLength?: number;
14
21
  placeholder?: string;
22
+ initialValue?: string | (() => string | Promise<string>);
23
+ list?: Array<string | {
24
+ title: string;
25
+ value: string;
26
+ }> | DependentList;
27
+ options?: {
28
+ layout?: 'dropdown' | 'radio';
29
+ direction?: 'horizontal' | 'vertical';
30
+ };
15
31
  }
16
32
  export interface TextField extends BaseField {
17
33
  type: 'text';
18
34
  rows?: number;
19
35
  maxLength?: number;
20
36
  placeholder?: string;
37
+ initialValue?: string | (() => string | Promise<string>);
21
38
  }
22
39
  export interface NumberField extends BaseField {
23
40
  type: 'number';
24
41
  min?: number;
25
42
  max?: number;
43
+ initialValue?: number | (() => number | Promise<number>);
26
44
  }
27
45
  export interface BooleanField extends BaseField {
28
46
  type: 'boolean';
29
- initialValue?: boolean;
47
+ initialValue?: boolean | (() => boolean | Promise<boolean>);
30
48
  }
31
49
  export interface SlugField extends BaseField {
32
50
  type: 'slug';
33
51
  source?: string;
34
52
  maxLength?: number;
53
+ initialValue?: string | (() => string | Promise<string>);
54
+ }
55
+ export interface URLField extends BaseField {
56
+ type: 'url';
57
+ placeholder?: string;
58
+ initialValue?: string | (() => string | Promise<string>);
35
59
  }
36
60
  export interface ImageField extends BaseField {
37
61
  type: 'image';
@@ -40,27 +64,51 @@ export interface ImageField extends BaseField {
40
64
  metadata?: string[];
41
65
  fields?: Field[];
42
66
  private?: boolean;
67
+ initialValue?: string | (() => string | Promise<string>);
43
68
  }
44
69
  export interface TypeReference {
45
70
  type: string;
46
71
  title?: string;
72
+ name?: string;
73
+ fields?: Field[];
47
74
  }
48
75
  export interface ArrayField extends BaseField {
49
76
  type: 'array';
50
77
  of: TypeReference[];
51
- max?: number;
78
+ initialValue?: any[] | (() => any[] | Promise<any[]>);
52
79
  }
53
80
  export interface ObjectField extends BaseField {
54
81
  type: 'object';
55
82
  fields: Field[];
83
+ initialValue?: Record<string, any> | (() => Record<string, any> | Promise<Record<string, any>>);
84
+ }
85
+ export interface DateField extends BaseField {
86
+ type: 'date';
87
+ options?: {
88
+ dateFormat?: string;
89
+ calendarTodayLabel?: string;
90
+ };
91
+ initialValue?: string | (() => string | Promise<string>);
92
+ }
93
+ export interface DateTimeField extends BaseField {
94
+ type: 'datetime';
95
+ options?: {
96
+ dateFormat?: string;
97
+ timeFormat?: string;
98
+ timeStep?: number;
99
+ allowTimeZoneSwitch?: boolean;
100
+ displayTimeZone?: string;
101
+ };
102
+ initialValue?: string | (() => string | Promise<string>);
56
103
  }
57
104
  export interface ReferenceField extends BaseField {
58
105
  type: 'reference';
59
106
  to: Array<{
60
107
  type: string;
61
108
  }>;
109
+ initialValue?: any | (() => any | Promise<any>);
62
110
  }
63
- export type Field = StringField | TextField | NumberField | BooleanField | SlugField | ImageField | ArrayField | ObjectField | ReferenceField;
111
+ export type Field = StringField | TextField | NumberField | BooleanField | SlugField | URLField | ImageField | ArrayField | ObjectField | DateField | DateTimeField | ReferenceField;
64
112
  export interface PreviewConfig {
65
113
  select?: {
66
114
  title?: string;
@@ -68,8 +116,17 @@ export interface PreviewConfig {
68
116
  media?: string;
69
117
  };
70
118
  }
119
+ export interface OrderingItem {
120
+ field: string;
121
+ direction: 'asc' | 'desc';
122
+ }
123
+ export interface Ordering {
124
+ title: string;
125
+ name: string;
126
+ by: OrderingItem[];
127
+ }
71
128
  export interface DocumentType {
72
- id: string;
129
+ id?: string;
73
130
  type: 'document';
74
131
  name: string;
75
132
  title: string;
@@ -77,8 +134,9 @@ export interface DocumentType {
77
134
  icon?: typeof LucideIcon;
78
135
  fields: Field[];
79
136
  preview?: PreviewConfig;
80
- createdAt: Date | null;
81
- updatedAt: Date | null;
137
+ orderings?: Ordering[];
138
+ createdAt?: Date | null;
139
+ updatedAt?: Date | null;
82
140
  }
83
141
  export interface ObjectType {
84
142
  type: 'object';
@@ -101,6 +159,7 @@ export interface SchemaType {
101
159
  icon?: typeof LucideIcon;
102
160
  fields: Field[];
103
161
  preview?: PreviewConfig;
162
+ orderings?: Ordering[];
104
163
  createdAt?: Date | null;
105
164
  updatedAt?: Date | null;
106
165
  }
@@ -113,6 +172,7 @@ export interface NewSchemaType {
113
172
  icon?: typeof LucideIcon;
114
173
  fields: Field[];
115
174
  preview?: PreviewConfig;
175
+ orderings?: Ordering[];
116
176
  createdAt?: Date | null;
117
177
  updatedAt?: Date | null;
118
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}