appwrite-utils-cli 0.0.58 → 0.0.59

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.
@@ -577,9 +577,22 @@ export class DataLoader {
577
577
  prepareUserData(item, attributeMappings, primaryKeyField, newId) {
578
578
  let transformedItem = this.transformData(item, attributeMappings);
579
579
  const userData = AuthUserCreateSchema.safeParse(transformedItem);
580
- if (!userData.success) {
581
- logger.error(`Invalid user data: ${JSON.stringify(userData.error.errors, undefined, 2)}`);
582
- return transformedItem;
580
+ if (!userData.success || !(userData.data.email && userData.data.phone)) {
581
+ logger.error(`Invalid user data: ${JSON.stringify(userData.error?.errors, undefined, 2)} or missing email/phone`);
582
+ const userKeys = ["email", "phone", "name", "labels", "prefs"];
583
+ userKeys.forEach((key) => {
584
+ if (transformedItem.hasOwnProperty(key)) {
585
+ delete transformedItem[key];
586
+ }
587
+ });
588
+ return {
589
+ transformedItem,
590
+ existingId: undefined,
591
+ userData: {
592
+ rawData: item,
593
+ finalData: transformedItem,
594
+ },
595
+ };
583
596
  }
584
597
  const email = userData.data.email;
585
598
  const phone = userData.data.phone;
@@ -718,7 +731,11 @@ export class DataLoader {
718
731
  if (!existingId) {
719
732
  // No existing user ID, generate a new unique ID
720
733
  existingId = this.getTrueUniqueId(this.getCollectionKey("users"));
721
- transformedItem.docId = existingId; // Assign the new ID to the transformed data's docId field
734
+ transformedItem = {
735
+ ...transformedItem,
736
+ userId: existingId,
737
+ docId: existingId,
738
+ };
722
739
  }
723
740
  // Create a context object for the item, including the new ID
724
741
  let context = this.createContext(db, collection, item, existingId);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "appwrite-utils-cli",
3
3
  "description": "Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.",
4
- "version": "0.0.58",
4
+ "version": "0.0.59",
5
5
  "main": "src/main.ts",
6
6
  "type": "module",
7
7
  "repository": {
@@ -754,15 +754,29 @@ export class DataLoader {
754
754
  } {
755
755
  let transformedItem = this.transformData(item, attributeMappings);
756
756
  const userData = AuthUserCreateSchema.safeParse(transformedItem);
757
- if (!userData.success) {
757
+ if (!userData.success || !(userData.data.email && userData.data.phone)) {
758
758
  logger.error(
759
759
  `Invalid user data: ${JSON.stringify(
760
- userData.error.errors,
760
+ userData.error?.errors,
761
761
  undefined,
762
762
  2
763
- )}`
763
+ )} or missing email/phone`
764
764
  );
765
- return transformedItem;
765
+
766
+ const userKeys = ["email", "phone", "name", "labels", "prefs"];
767
+ userKeys.forEach((key) => {
768
+ if (transformedItem.hasOwnProperty(key)) {
769
+ delete transformedItem[key];
770
+ }
771
+ });
772
+ return {
773
+ transformedItem,
774
+ existingId: undefined,
775
+ userData: {
776
+ rawData: item,
777
+ finalData: transformedItem,
778
+ },
779
+ };
766
780
  }
767
781
  const email = userData.data.email;
768
782
  const phone = userData.data.phone;
@@ -929,7 +943,11 @@ export class DataLoader {
929
943
  if (!existingId) {
930
944
  // No existing user ID, generate a new unique ID
931
945
  existingId = this.getTrueUniqueId(this.getCollectionKey("users"));
932
- transformedItem.docId = existingId; // Assign the new ID to the transformed data's docId field
946
+ transformedItem = {
947
+ ...transformedItem,
948
+ userId: existingId,
949
+ docId: existingId,
950
+ };
933
951
  }
934
952
 
935
953
  // Create a context object for the item, including the new ID