appwrite-utils-cli 1.3.5 → 1.4.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 (116) hide show
  1. package/dist/adapters/AdapterFactory.d.ts +87 -0
  2. package/dist/adapters/AdapterFactory.js +217 -0
  3. package/dist/adapters/DatabaseAdapter.d.ts +217 -0
  4. package/dist/adapters/DatabaseAdapter.js +50 -0
  5. package/dist/adapters/LegacyAdapter.d.ts +49 -0
  6. package/dist/adapters/LegacyAdapter.js +382 -0
  7. package/dist/adapters/TablesDBAdapter.d.ts +55 -0
  8. package/dist/adapters/TablesDBAdapter.js +302 -0
  9. package/dist/adapters/index.d.ts +11 -0
  10. package/dist/adapters/index.js +12 -0
  11. package/dist/collections/attributes.js +41 -22
  12. package/dist/collections/methods.d.ts +4 -3
  13. package/dist/collections/methods.js +34 -14
  14. package/dist/config/yamlConfig.d.ts +40 -437
  15. package/dist/config/yamlConfig.js +8 -2
  16. package/dist/databases/setup.js +2 -2
  17. package/dist/main.js +0 -0
  18. package/dist/migrations/appwriteToX.d.ts +26 -37
  19. package/dist/migrations/comprehensiveTransfer.js +4 -4
  20. package/dist/migrations/dataLoader.d.ts +124 -1484
  21. package/dist/migrations/dataLoader.js +2 -1
  22. package/dist/migrations/relationships.d.ts +2 -3
  23. package/dist/migrations/relationships.js +1 -1
  24. package/dist/migrations/services/UserMappingService.js +1 -1
  25. package/dist/migrations/yaml/YamlImportConfigLoader.d.ts +24 -279
  26. package/dist/migrations/yaml/YamlImportConfigLoader.js +7 -2
  27. package/dist/schemas/authUser.d.ts +7 -47
  28. package/dist/schemas/authUser.js +1 -1
  29. package/dist/shared/jsonSchemaGenerator.d.ts +0 -2
  30. package/dist/shared/jsonSchemaGenerator.js +4 -17
  31. package/dist/shared/migrationHelpers.d.ts +17 -119
  32. package/dist/shared/operationQueue.js +16 -7
  33. package/dist/shared/schemaGenerator.js +2 -17
  34. package/dist/storage/schemas.d.ts +149 -296
  35. package/dist/users/methods.d.ts +2 -2
  36. package/dist/utils/configMigration.js +0 -1
  37. package/dist/utils/getClientFromConfig.d.ts +26 -0
  38. package/dist/utils/getClientFromConfig.js +37 -0
  39. package/dist/utils/loadConfigs.js +0 -2
  40. package/dist/utils/schemaStrings.js +2 -17
  41. package/dist/utils/setupFiles.js +2 -0
  42. package/dist/utils/versionDetection.d.ts +56 -0
  43. package/dist/utils/versionDetection.js +217 -0
  44. package/dist/utils/yamlConverter.d.ts +0 -1
  45. package/dist/utils/yamlConverter.js +0 -2
  46. package/dist/utilsController.js +2 -0
  47. package/package.json +3 -2
  48. package/src/adapters/AdapterFactory.ts +296 -0
  49. package/src/adapters/DatabaseAdapter.ts +290 -0
  50. package/src/adapters/LegacyAdapter.ts +667 -0
  51. package/src/adapters/TablesDBAdapter.ts +429 -0
  52. package/src/adapters/index.ts +37 -0
  53. package/src/collections/attributes.ts +347 -153
  54. package/src/collections/methods.ts +43 -28
  55. package/src/config/yamlConfig.ts +8 -2
  56. package/src/databases/setup.ts +2 -2
  57. package/src/migrations/afterImportActions.ts +2 -2
  58. package/src/migrations/comprehensiveTransfer.ts +4 -0
  59. package/src/migrations/dataLoader.ts +2 -1
  60. package/src/migrations/relationships.ts +1 -1
  61. package/src/migrations/services/UserMappingService.ts +1 -1
  62. package/src/migrations/yaml/YamlImportConfigLoader.ts +7 -2
  63. package/src/schemas/authUser.ts +1 -1
  64. package/src/shared/jsonSchemaGenerator.ts +4 -19
  65. package/src/shared/operationQueue.ts +20 -13
  66. package/src/shared/schemaGenerator.ts +2 -16
  67. package/src/types/node-appwrite-tablesdb.d.ts +44 -0
  68. package/src/users/methods.ts +2 -2
  69. package/src/utils/configMigration.ts +0 -1
  70. package/src/utils/getClientFromConfig.ts +56 -0
  71. package/src/utils/loadConfigs.ts +0 -2
  72. package/src/utils/schemaStrings.ts +2 -16
  73. package/src/utils/setupFiles.ts +2 -0
  74. package/src/utils/versionDetection.ts +265 -0
  75. package/src/utils/yamlConverter.ts +0 -2
  76. package/src/utilsController.ts +2 -0
  77. package/dist/functions/openapi.d.ts +0 -4
  78. package/dist/functions/openapi.js +0 -60
  79. package/dist/migrations/attributes.d.ts +0 -4
  80. package/dist/migrations/attributes.js +0 -301
  81. package/dist/migrations/backup.d.ts +0 -687
  82. package/dist/migrations/backup.js +0 -175
  83. package/dist/migrations/collections.d.ts +0 -22
  84. package/dist/migrations/collections.js +0 -347
  85. package/dist/migrations/converters.d.ts +0 -46
  86. package/dist/migrations/converters.js +0 -139
  87. package/dist/migrations/databases.d.ts +0 -2
  88. package/dist/migrations/databases.js +0 -28
  89. package/dist/migrations/dbHelpers.d.ts +0 -5
  90. package/dist/migrations/dbHelpers.js +0 -57
  91. package/dist/migrations/helper.d.ts +0 -3
  92. package/dist/migrations/helper.js +0 -21
  93. package/dist/migrations/indexes.d.ts +0 -4
  94. package/dist/migrations/indexes.js +0 -19
  95. package/dist/migrations/logging.d.ts +0 -10
  96. package/dist/migrations/logging.js +0 -46
  97. package/dist/migrations/migrationHelper.d.ts +0 -173
  98. package/dist/migrations/migrationHelper.js +0 -130
  99. package/dist/migrations/openapi.d.ts +0 -4
  100. package/dist/migrations/openapi.js +0 -60
  101. package/dist/migrations/queue.d.ts +0 -13
  102. package/dist/migrations/queue.js +0 -79
  103. package/dist/migrations/schemaStrings.d.ts +0 -14
  104. package/dist/migrations/schemaStrings.js +0 -478
  105. package/dist/migrations/setupDatabase.d.ts +0 -6
  106. package/dist/migrations/setupDatabase.js +0 -115
  107. package/dist/migrations/storage.d.ts +0 -10
  108. package/dist/migrations/storage.js +0 -340
  109. package/dist/migrations/users.d.ts +0 -16
  110. package/dist/migrations/users.js +0 -276
  111. package/dist/migrations/validationRules.d.ts +0 -43
  112. package/dist/migrations/validationRules.js +0 -42
  113. package/dist/shared/attributeManager.d.ts +0 -17
  114. package/dist/shared/attributeManager.js +0 -272
  115. package/src/functions/openapi.ts +0 -83
  116. package/src/shared/attributeManager.ts +0 -428
@@ -5,108 +5,97 @@ export declare class AppwriteToX {
5
5
  storage: Storage;
6
6
  updatedConfig: AppwriteConfig;
7
7
  collToAttributeMap: Map<string, ({
8
- type: "string";
9
8
  key: string;
9
+ type: "string";
10
10
  size: number;
11
- format?: string | null | undefined;
12
- description?: string | Record<string, string> | undefined;
11
+ error?: string | undefined;
13
12
  required?: boolean | undefined;
14
13
  array?: boolean | undefined;
15
- error?: string | undefined;
16
14
  xdefault?: string | null | undefined;
17
15
  encrypted?: boolean | undefined;
16
+ format?: string | null | undefined;
18
17
  } | {
19
- type: "integer";
20
18
  key: string;
21
- description?: string | Record<string, string> | null | undefined;
19
+ type: "integer";
20
+ error?: string | undefined;
22
21
  required?: boolean | undefined;
23
22
  array?: boolean | undefined;
24
- error?: string | undefined;
25
- xdefault?: number | null | undefined;
26
23
  min?: number | undefined;
27
24
  max?: number | undefined;
25
+ xdefault?: number | null | undefined;
28
26
  } | {
29
- type: "double";
30
27
  key: string;
31
- description?: string | Record<string, string> | null | undefined;
28
+ type: "double";
29
+ error?: string | undefined;
32
30
  required?: boolean | undefined;
33
31
  array?: boolean | undefined;
34
- error?: string | undefined;
35
- xdefault?: number | null | undefined;
36
32
  min?: number | undefined;
37
33
  max?: number | undefined;
34
+ xdefault?: number | null | undefined;
38
35
  } | {
39
- type: "float";
40
36
  key: string;
41
- description?: string | Record<string, string> | null | undefined;
37
+ type: "float";
38
+ error?: string | undefined;
42
39
  required?: boolean | undefined;
43
40
  array?: boolean | undefined;
44
- error?: string | undefined;
45
- xdefault?: number | null | undefined;
46
41
  min?: number | undefined;
47
42
  max?: number | undefined;
43
+ xdefault?: number | null | undefined;
48
44
  } | {
49
- type: "boolean";
50
45
  key: string;
51
- description?: string | Record<string, string> | null | undefined;
46
+ type: "boolean";
47
+ error?: string | undefined;
52
48
  required?: boolean | undefined;
53
49
  array?: boolean | undefined;
54
- error?: string | undefined;
55
50
  xdefault?: boolean | null | undefined;
56
51
  } | {
57
- type: "datetime";
58
52
  key: string;
59
- description?: string | Record<string, string> | null | undefined;
53
+ type: "datetime";
54
+ error?: string | undefined;
60
55
  required?: boolean | undefined;
61
56
  array?: boolean | undefined;
62
- error?: string | undefined;
63
57
  xdefault?: string | null | undefined;
64
58
  } | {
65
- type: "email";
66
59
  key: string;
67
- description?: string | Record<string, string> | null | undefined;
60
+ type: "email";
61
+ error?: string | undefined;
68
62
  required?: boolean | undefined;
69
63
  array?: boolean | undefined;
70
- error?: string | undefined;
71
64
  xdefault?: string | null | undefined;
72
65
  } | {
73
- type: "ip";
74
66
  key: string;
75
- description?: string | Record<string, string> | null | undefined;
67
+ type: "ip";
68
+ error?: string | undefined;
76
69
  required?: boolean | undefined;
77
70
  array?: boolean | undefined;
78
- error?: string | undefined;
79
71
  xdefault?: string | null | undefined;
80
72
  } | {
81
- type: "url";
82
73
  key: string;
83
- description?: string | Record<string, string> | null | undefined;
74
+ type: "url";
75
+ error?: string | undefined;
84
76
  required?: boolean | undefined;
85
77
  array?: boolean | undefined;
86
- error?: string | undefined;
87
78
  xdefault?: string | null | undefined;
88
79
  } | {
89
- type: "enum";
90
80
  key: string;
81
+ type: "enum";
91
82
  elements: string[];
92
- description?: string | Record<string, string> | null | undefined;
83
+ error?: string | undefined;
93
84
  required?: boolean | undefined;
94
85
  array?: boolean | undefined;
95
- error?: string | undefined;
96
86
  xdefault?: string | null | undefined;
97
87
  } | {
98
- type: "relationship";
99
88
  key: string;
89
+ type: "relationship";
100
90
  relatedCollection: string;
101
91
  relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany";
102
92
  twoWay: boolean;
103
93
  twoWayKey: string;
104
94
  onDelete: "setNull" | "cascade" | "restrict";
105
95
  side: "parent" | "child";
106
- description?: string | Record<string, string> | null | undefined;
96
+ error?: string | undefined;
107
97
  required?: boolean | undefined;
108
98
  array?: boolean | undefined;
109
- error?: string | undefined;
110
99
  importMapping?: {
111
100
  originalIdField: string;
112
101
  targetField?: string | undefined;
@@ -956,7 +956,7 @@ export class ComprehensiveTransfer {
956
956
  async transferDocumentsBulk(targetDb, targetDbId, targetCollectionId, documents) {
957
957
  // Prepare documents for bulk upsert
958
958
  const preparedDocs = documents.map((doc) => {
959
- const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, ...docData } = doc;
959
+ const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, $sequence, ...docData } = doc;
960
960
  return {
961
961
  $id,
962
962
  $permissions,
@@ -1018,7 +1018,7 @@ export class ComprehensiveTransfer {
1018
1018
  let successCount = 0;
1019
1019
  const transferTasks = documents.map((doc) => this.limit(async () => {
1020
1020
  try {
1021
- const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, ...docData } = doc;
1021
+ const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, $sequence, ...docData } = doc;
1022
1022
  await tryAwaitWithRetry(async () => targetDb.createDocument(targetDbId, targetCollectionId, doc.$id, docData, doc.$permissions));
1023
1023
  successCount++;
1024
1024
  }
@@ -1027,7 +1027,7 @@ export class ComprehensiveTransfer {
1027
1027
  error.message.includes("already exists")) {
1028
1028
  try {
1029
1029
  // Update it! It's here because it needs an update or a create
1030
- const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, ...docData } = doc;
1030
+ const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, $sequence, ...docData } = doc;
1031
1031
  await tryAwaitWithRetry(async () => targetDb.updateDocument(targetDbId, targetCollectionId, doc.$id, docData, doc.$permissions));
1032
1032
  successCount++;
1033
1033
  }
@@ -1051,7 +1051,7 @@ export class ComprehensiveTransfer {
1051
1051
  let successCount = 0;
1052
1052
  const updateTasks = documentPairs.map(({ doc, targetDoc, reason }) => this.limit(async () => {
1053
1053
  try {
1054
- const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, ...docData } = doc;
1054
+ const { $id, $createdAt, $updatedAt, $permissions, $databaseId, $collectionId, $sequence, ...docData } = doc;
1055
1055
  await tryAwaitWithRetry(async () => targetDb.updateDocument(targetDbId, targetCollectionId, doc.$id, docData, $permissions));
1056
1056
  successCount++;
1057
1057
  }