@replyke/core 7.0.0-beta.29 → 7.0.0-beta.30

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 (41) hide show
  1. package/dist/cjs/hooks/entities/useCreateEntity.d.ts +27 -0
  2. package/dist/cjs/hooks/entities/useCreateEntity.js +88 -15
  3. package/dist/cjs/hooks/entities/useCreateEntity.js.map +1 -1
  4. package/dist/cjs/hooks/storage/index.d.ts +1 -0
  5. package/dist/cjs/hooks/storage/index.js +3 -1
  6. package/dist/cjs/hooks/storage/index.js.map +1 -1
  7. package/dist/cjs/hooks/storage/useUploadFile.d.ts +12 -1
  8. package/dist/cjs/hooks/storage/useUploadFile.js +22 -8
  9. package/dist/cjs/hooks/storage/useUploadFile.js.map +1 -1
  10. package/dist/cjs/hooks/storage/useUploadImage.d.ts +14 -0
  11. package/dist/cjs/hooks/storage/useUploadImage.js +161 -0
  12. package/dist/cjs/hooks/storage/useUploadImage.js.map +1 -0
  13. package/dist/cjs/index.d.ts +2 -1
  14. package/dist/cjs/index.js +2 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/interfaces/models/Entity.d.ts +40 -1
  17. package/dist/cjs/interfaces/models/Image.d.ts +35 -0
  18. package/dist/cjs/interfaces/models/Image.js +3 -0
  19. package/dist/cjs/interfaces/models/Image.js.map +1 -0
  20. package/dist/cjs/store/slices/entityListsSlice.d.ts +480 -0
  21. package/dist/esm/hooks/entities/useCreateEntity.d.ts +27 -0
  22. package/dist/esm/hooks/entities/useCreateEntity.js +88 -15
  23. package/dist/esm/hooks/entities/useCreateEntity.js.map +1 -1
  24. package/dist/esm/hooks/storage/index.d.ts +1 -0
  25. package/dist/esm/hooks/storage/index.js +1 -0
  26. package/dist/esm/hooks/storage/index.js.map +1 -1
  27. package/dist/esm/hooks/storage/useUploadFile.d.ts +12 -1
  28. package/dist/esm/hooks/storage/useUploadFile.js +22 -8
  29. package/dist/esm/hooks/storage/useUploadFile.js.map +1 -1
  30. package/dist/esm/hooks/storage/useUploadImage.d.ts +14 -0
  31. package/dist/esm/hooks/storage/useUploadImage.js +156 -0
  32. package/dist/esm/hooks/storage/useUploadImage.js.map +1 -0
  33. package/dist/esm/index.d.ts +2 -1
  34. package/dist/esm/index.js +1 -1
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/interfaces/models/Entity.d.ts +40 -1
  37. package/dist/esm/interfaces/models/Image.d.ts +35 -0
  38. package/dist/esm/interfaces/models/Image.js +2 -0
  39. package/dist/esm/interfaces/models/Image.js.map +1 -0
  40. package/dist/esm/store/slices/entityListsSlice.d.ts +480 -0
  41. package/package.json +1 -1
@@ -1,5 +1,30 @@
1
1
  import { Entity } from "../../interfaces/models/Entity";
2
2
  import { Mention } from "../../interfaces/models/Mention";
3
+ import { ImageSizeConfig } from "../../interfaces/models/Image";
4
+ type BrowserFile = File;
5
+ type RNFile = {
6
+ uri: string;
7
+ name: string;
8
+ type?: string;
9
+ };
10
+ type UniversalFile = BrowserFile | RNFile;
11
+ interface ImageUploadConfig {
12
+ files: UniversalFile[];
13
+ options?: {
14
+ sizes?: ImageSizeConfig;
15
+ quality?: number;
16
+ format?: "webp" | "jpeg" | "png" | "original";
17
+ pathParts?: string[];
18
+ stripExif?: boolean;
19
+ fit?: "cover" | "contain" | "inside" | "outside";
20
+ };
21
+ }
22
+ interface FileUploadConfig {
23
+ files: UniversalFile[];
24
+ options?: {
25
+ pathParts?: string[];
26
+ };
27
+ }
3
28
  declare function useCreateEntity(): (props: {
4
29
  foreignId?: string;
5
30
  sourceId?: string;
@@ -15,5 +40,7 @@ declare function useCreateEntity(): (props: {
15
40
  };
16
41
  metadata?: Record<string, any>;
17
42
  excludeUserId?: boolean;
43
+ images?: ImageUploadConfig;
44
+ files?: FileUploadConfig;
18
45
  }) => Promise<Entity>;
19
46
  export default useCreateEntity;
@@ -42,35 +42,108 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var react_1 = require("react");
43
43
  var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
44
44
  var useProject_1 = __importDefault(require("../projects/useProject"));
45
+ function isBrowserFile(file) {
46
+ return typeof File !== "undefined" && file instanceof File;
47
+ }
45
48
  function useCreateEntity() {
46
49
  var _this = this;
47
50
  var axios = (0, useAxiosPrivate_1.default)();
48
51
  var projectId = (0, useProject_1.default)().projectId;
49
52
  var createEntity = (0, react_1.useCallback)(function (props) { return __awaiter(_this, void 0, void 0, function () {
50
- var foreignId, sourceId, spaceId, title, content, attachments, keywords, mentions, location, metadata, excludeUserId, response;
53
+ var foreignId, sourceId, spaceId, title, content, attachments, keywords, mentions, location, metadata, excludeUserId, images, files, hasImages, hasFiles, formData_1, response, response;
51
54
  return __generator(this, function (_a) {
52
55
  switch (_a.label) {
53
56
  case 0:
54
- foreignId = props.foreignId, sourceId = props.sourceId, spaceId = props.spaceId, title = props.title, content = props.content, attachments = props.attachments, keywords = props.keywords, mentions = props.mentions, location = props.location, metadata = props.metadata, excludeUserId = props.excludeUserId;
57
+ foreignId = props.foreignId, sourceId = props.sourceId, spaceId = props.spaceId, title = props.title, content = props.content, attachments = props.attachments, keywords = props.keywords, mentions = props.mentions, location = props.location, metadata = props.metadata, excludeUserId = props.excludeUserId, images = props.images, files = props.files;
55
58
  if (!projectId) {
56
59
  throw new Error("No projectId available.");
57
60
  }
58
- return [4 /*yield*/, axios.post("/".concat(projectId, "/entities"), {
59
- foreignId: foreignId,
60
- sourceId: sourceId,
61
- spaceId: spaceId,
62
- title: title,
63
- content: content,
64
- attachments: attachments,
65
- keywords: keywords,
66
- mentions: mentions,
67
- location: location,
68
- metadata: metadata,
69
- excludeUserId: excludeUserId,
70
- }, { withCredentials: true })];
61
+ hasImages = images && images.files.length > 0;
62
+ hasFiles = files && files.files.length > 0;
63
+ if (!(hasImages || hasFiles)) return [3 /*break*/, 2];
64
+ formData_1 = new FormData();
65
+ // Append standard entity fields
66
+ if (foreignId !== undefined)
67
+ formData_1.append("foreignId", foreignId);
68
+ if (sourceId !== undefined)
69
+ formData_1.append("sourceId", sourceId);
70
+ if (spaceId !== undefined)
71
+ formData_1.append("spaceId", spaceId);
72
+ if (title !== undefined)
73
+ formData_1.append("title", title);
74
+ if (content !== undefined)
75
+ formData_1.append("content", content);
76
+ if (attachments !== undefined)
77
+ formData_1.append("attachments", JSON.stringify(attachments));
78
+ if (keywords !== undefined)
79
+ formData_1.append("keywords", JSON.stringify(keywords));
80
+ if (mentions !== undefined)
81
+ formData_1.append("mentions", JSON.stringify(mentions));
82
+ if (location !== undefined)
83
+ formData_1.append("location", JSON.stringify(location));
84
+ if (metadata !== undefined)
85
+ formData_1.append("metadata", JSON.stringify(metadata));
86
+ if (excludeUserId !== undefined)
87
+ formData_1.append("excludeUserId", excludeUserId.toString());
88
+ // Append images
89
+ if (hasImages) {
90
+ images.files.forEach(function (file) {
91
+ if (isBrowserFile(file)) {
92
+ formData_1.append("images.files", file, file.name);
93
+ }
94
+ else {
95
+ formData_1.append("images.files", {
96
+ uri: file.uri,
97
+ type: file.type || "image/jpeg",
98
+ name: file.name,
99
+ });
100
+ }
101
+ });
102
+ if (images.options) {
103
+ formData_1.append("images.options", JSON.stringify(images.options));
104
+ }
105
+ }
106
+ // Append files
107
+ if (hasFiles) {
108
+ files.files.forEach(function (file) {
109
+ if (isBrowserFile(file)) {
110
+ formData_1.append("files.files", file, file.name);
111
+ }
112
+ else {
113
+ formData_1.append("files.files", {
114
+ uri: file.uri,
115
+ type: file.type || "application/octet-stream",
116
+ name: file.name,
117
+ });
118
+ }
119
+ });
120
+ if (files.options) {
121
+ formData_1.append("files.options", JSON.stringify(files.options));
122
+ }
123
+ }
124
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/entities"), formData_1, {
125
+ headers: { "Content-Type": "multipart/form-data" },
126
+ withCredentials: true,
127
+ })];
71
128
  case 1:
72
129
  response = _a.sent();
73
130
  return [2 /*return*/, response.data];
131
+ case 2: return [4 /*yield*/, axios.post("/".concat(projectId, "/entities"), {
132
+ foreignId: foreignId,
133
+ sourceId: sourceId,
134
+ spaceId: spaceId,
135
+ title: title,
136
+ content: content,
137
+ attachments: attachments,
138
+ keywords: keywords,
139
+ mentions: mentions,
140
+ location: location,
141
+ metadata: metadata,
142
+ excludeUserId: excludeUserId,
143
+ }, { withCredentials: true })];
144
+ case 3:
145
+ response = _a.sent();
146
+ return [2 /*return*/, response.data];
74
147
  }
75
148
  });
76
149
  }); }, [projectId, axios]);
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAE3D,sEAAgD;AAGhD,SAAS,eAAe;IAAxB,iBA+DC;IA9DC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,UAAO,KAeN;;;;;oBAEG,SAAS,GAWP,KAAK,UAXE,EACT,QAAQ,GAUN,KAAK,SAVC,EACR,OAAO,GASL,KAAK,QATA,EACP,KAAK,GAQH,KAAK,MARF,EACL,OAAO,GAOL,KAAK,QAPA,EACP,WAAW,GAMT,KAAK,YANI,EACX,QAAQ,GAKN,KAAK,SALC,EACR,QAAQ,GAIN,KAAK,SAJC,EACR,QAAQ,GAGN,KAAK,SAHC,EACR,QAAQ,GAEN,KAAK,SAFC,EACR,aAAa,GACX,KAAK,cADM,CACL;oBAEV,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;oBAEgB,qBAAM,KAAK,CAAC,IAAI,CAC/B,WAAI,SAAS,cAAW,EACxB;4BACE,SAAS,WAAA;4BACT,QAAQ,UAAA;4BACR,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,OAAO,SAAA;4BACP,WAAW,aAAA;4BACX,QAAQ,UAAA;4BACR,QAAQ,UAAA;4BACR,QAAQ,UAAA;4BACR,QAAQ,UAAA;4BACR,aAAa,eAAA;yBACd,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,EAAA;;oBAhBK,QAAQ,GAAG,SAgBhB;oBAED,sBAAO,QAAQ,CAAC,IAAc,EAAC;;;SAChC,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"useCreateEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useCreateEntity.tsx"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export { default as useUploadFile } from "./useUploadFile";
2
+ export { default as useUploadImage } from "./useUploadImage";
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useUploadFile = void 0;
6
+ exports.useUploadImage = exports.useUploadFile = void 0;
7
7
  var useUploadFile_1 = require("./useUploadFile");
8
8
  Object.defineProperty(exports, "useUploadFile", { enumerable: true, get: function () { return __importDefault(useUploadFile_1).default; } });
9
+ var useUploadImage_1 = require("./useUploadImage");
10
+ Object.defineProperty(exports, "useUploadImage", { enumerable: true, get: function () { return __importDefault(useUploadImage_1).default; } });
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/storage/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/storage/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB"}
@@ -5,10 +5,21 @@ type RNFile = {
5
5
  type?: string;
6
6
  };
7
7
  type UniversalFile = BrowserFile | RNFile;
8
+ type UploadFileOptions = {
9
+ entityId?: string;
10
+ commentId?: string;
11
+ spaceId?: string;
12
+ position?: number;
13
+ metadata?: Record<string, any>;
14
+ };
8
15
  type UploadResponse = {
9
16
  fileId: string;
17
+ type: "image" | "video" | "document" | "other";
10
18
  relativePath: string;
11
19
  publicPath: string;
20
+ size: number;
21
+ mimeType: string;
22
+ createdAt: string;
12
23
  };
13
- declare function useUploadFile(): (file: UniversalFile, pathParts: string[]) => Promise<UploadResponse | void>;
24
+ declare function useUploadFile(): (file: UniversalFile, pathParts: string[], options?: UploadFileOptions) => Promise<UploadResponse>;
14
25
  export default useUploadFile;
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var react_1 = require("react");
43
43
  var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
44
44
  var useProject_1 = __importDefault(require("../projects/useProject"));
45
- // Type guard to detect if its a real browser File
45
+ // Type guard to detect if it's a real browser File
46
46
  function isBrowserFile(file) {
47
47
  return typeof File !== "undefined" && file instanceof File;
48
48
  }
@@ -50,7 +50,7 @@ function useUploadFile() {
50
50
  var _this = this;
51
51
  var axios = (0, useAxiosPrivate_1.default)();
52
52
  var projectId = (0, useProject_1.default)().projectId;
53
- var uploadFile = (0, react_1.useCallback)(function (file, pathParts) { return __awaiter(_this, void 0, void 0, function () {
53
+ var uploadFile = (0, react_1.useCallback)(function (file, pathParts, options) { return __awaiter(_this, void 0, void 0, function () {
54
54
  var formData, response;
55
55
  return __generator(this, function (_a) {
56
56
  switch (_a.label) {
@@ -62,21 +62,35 @@ function useUploadFile() {
62
62
  throw new Error("Invalid arguments. File and pathParts are required.");
63
63
  }
64
64
  formData = new FormData();
65
- // 2) Check if it's a browser File or a React Native { uri, ... } object
65
+ // Append file (browser or React Native)
66
66
  if (isBrowserFile(file)) {
67
- // We are dealing with a real browser File
68
67
  formData.append("file", file, file.name);
69
68
  }
70
69
  else {
71
- // We assume it’s a React Native { uri, type, name } shape
72
70
  formData.append("file", {
73
71
  uri: file.uri,
74
72
  type: file.type || "application/octet-stream",
75
73
  name: file.name,
76
- }); // casting to `any` to appease TS if needed
74
+ });
77
75
  }
78
- // 3) Append other form fields
76
+ // Append pathParts
79
77
  formData.append("pathParts", JSON.stringify(pathParts));
78
+ // Append optional associations
79
+ if (options === null || options === void 0 ? void 0 : options.entityId) {
80
+ formData.append("entityId", options.entityId);
81
+ }
82
+ if (options === null || options === void 0 ? void 0 : options.commentId) {
83
+ formData.append("commentId", options.commentId);
84
+ }
85
+ if (options === null || options === void 0 ? void 0 : options.spaceId) {
86
+ formData.append("spaceId", options.spaceId);
87
+ }
88
+ if ((options === null || options === void 0 ? void 0 : options.position) !== undefined) {
89
+ formData.append("position", options.position.toString());
90
+ }
91
+ if (options === null || options === void 0 ? void 0 : options.metadata) {
92
+ formData.append("metadata", JSON.stringify(options.metadata));
93
+ }
80
94
  return [4 /*yield*/, axios.post("/".concat(projectId, "/storage"), formData, {
81
95
  headers: {
82
96
  "Content-Type": "multipart/form-data",
@@ -85,7 +99,7 @@ function useUploadFile() {
85
99
  })];
86
100
  case 1:
87
101
  response = _a.sent();
88
- return [2 /*return*/, response.data]; // Return the server response
102
+ return [2 /*return*/, response.data];
89
103
  }
90
104
  });
91
105
  }); }, [projectId, axios]);
@@ -1 +1 @@
1
- {"version":3,"file":"useUploadFile.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadFile.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAEhD,mDAAmD;AACnD,SAAS,aAAa,CAAC,IAAmB;IACxC,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,CAAC;AAC7D,CAAC;AAYD,SAAS,aAAa;IAAtB,iBAiDC;IAhDC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UACE,IAAmB,EACnB,SAAmB;;;;;oBAEnB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;oBACzE,CAAC;oBAEK,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAEhC,wEAAwE;oBACxE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,0CAA0C;wBAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;4BACtB,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,0BAA0B;4BAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;yBACT,CAAC,CAAC,CAAC,2CAA2C;oBACxD,CAAC;oBAED,8BAA8B;oBAC9B,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;oBAGvC,qBAAM,KAAK,CAAC,IAAI,CAAC,WAAI,SAAS,aAAU,EAAE,QAAQ,EAAE;4BACnE,OAAO,EAAE;gCACP,cAAc,EAAE,qBAAqB;6BACtC;4BACD,eAAe,EAAE,IAAI;yBACtB,CAAC,EAAA;;oBALI,QAAQ,GAAG,SAKf;oBAEF,sBAAO,QAAQ,CAAC,IAAsB,EAAC,CAAC,6BAA6B;;;SACtE,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useUploadFile.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadFile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Image, UploadImageOptions } from "../../interfaces/models/Image";
2
+ type BrowserFile = File;
3
+ type RNFile = {
4
+ uri: string;
5
+ name: string;
6
+ type?: string;
7
+ };
8
+ type UniversalFile = BrowserFile | RNFile;
9
+ declare function useUploadImage(): {
10
+ uploadImage: (file: UniversalFile, options?: UploadImageOptions) => Promise<Image>;
11
+ uploading: boolean;
12
+ progress: number;
13
+ };
14
+ export default useUploadImage;
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ var react_1 = require("react");
52
+ var useAxiosPrivate_1 = __importDefault(require("../../config/useAxiosPrivate"));
53
+ var useProject_1 = __importDefault(require("../projects/useProject"));
54
+ // Type guard to detect browser File vs React Native file object
55
+ function isBrowserFile(file) {
56
+ return typeof File !== "undefined" && file instanceof File;
57
+ }
58
+ function useUploadImage() {
59
+ var _this = this;
60
+ var axios = (0, useAxiosPrivate_1.default)();
61
+ var projectId = (0, useProject_1.default)().projectId;
62
+ var _a = (0, react_1.useState)(false), uploading = _a[0], setUploading = _a[1];
63
+ var _b = (0, react_1.useState)(0), progress = _b[0], setProgress = _b[1];
64
+ var uploadImage = (0, react_1.useCallback)(function (file_1) {
65
+ var args_1 = [];
66
+ for (var _i = 1; _i < arguments.length; _i++) {
67
+ args_1[_i - 1] = arguments[_i];
68
+ }
69
+ return __awaiter(_this, __spreadArray([file_1], args_1, true), void 0, function (file, options) {
70
+ var formData, response;
71
+ if (options === void 0) { options = {}; }
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ // Validate required inputs
76
+ if (!projectId) {
77
+ throw new Error("No projectId available.");
78
+ }
79
+ if (!file) {
80
+ throw new Error("No file provided.");
81
+ }
82
+ setUploading(true);
83
+ setProgress(0);
84
+ _a.label = 1;
85
+ case 1:
86
+ _a.trys.push([1, , 3, 4]);
87
+ formData = new FormData();
88
+ // Append file (handle both browser and React Native)
89
+ if (isBrowserFile(file)) {
90
+ formData.append("file", file, file.name);
91
+ }
92
+ else {
93
+ formData.append("file", {
94
+ uri: file.uri,
95
+ type: file.type || "image/jpeg",
96
+ name: file.name,
97
+ });
98
+ }
99
+ // Append all optional configuration fields
100
+ if (options.pathParts) {
101
+ formData.append("pathParts", JSON.stringify(options.pathParts));
102
+ }
103
+ if (options.sizes) {
104
+ formData.append("sizes", JSON.stringify(options.sizes));
105
+ }
106
+ if (options.quality !== undefined) {
107
+ formData.append("quality", options.quality.toString());
108
+ }
109
+ if (options.format) {
110
+ formData.append("format", options.format);
111
+ }
112
+ if (options.stripExif !== undefined) {
113
+ formData.append("stripExif", options.stripExif.toString());
114
+ }
115
+ if (options.fit) {
116
+ formData.append("fit", options.fit);
117
+ }
118
+ // Append optional associations
119
+ if (options.entityId) {
120
+ formData.append("entityId", options.entityId);
121
+ }
122
+ if (options.commentId) {
123
+ formData.append("commentId", options.commentId);
124
+ }
125
+ if (options.spaceId) {
126
+ formData.append("spaceId", options.spaceId);
127
+ }
128
+ return [4 /*yield*/, axios.post("/".concat(projectId, "/storage/images"), formData, {
129
+ headers: {
130
+ "Content-Type": "multipart/form-data",
131
+ },
132
+ withCredentials: true,
133
+ onUploadProgress: function (progressEvent) {
134
+ var _a;
135
+ if (progressEvent.total) {
136
+ var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
137
+ setProgress(percentCompleted);
138
+ (_a = options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, percentCompleted);
139
+ }
140
+ },
141
+ })];
142
+ case 2:
143
+ response = _a.sent();
144
+ return [2 /*return*/, response.data];
145
+ case 3:
146
+ setUploading(false);
147
+ setProgress(0);
148
+ return [7 /*endfinally*/];
149
+ case 4: return [2 /*return*/];
150
+ }
151
+ });
152
+ });
153
+ }, [projectId, axios]);
154
+ return {
155
+ uploadImage: uploadImage,
156
+ uploading: uploading,
157
+ progress: progress,
158
+ };
159
+ }
160
+ exports.default = useUploadImage;
161
+ //# sourceMappingURL=useUploadImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadImage.js","sourceRoot":"","sources":["../../../../src/hooks/storage/useUploadImage.tsx"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export { useFetchSpaceReports } from "./hooks/reports";
27
27
  export { useHandleSpaceEntityReport } from "./hooks/reports";
28
28
  export { useHandleSpaceCommentReport } from "./hooks/reports";
29
29
  export { useGetMetadata } from "./hooks/utils";
30
- export { useUploadFile } from "./hooks/storage";
30
+ export { useUploadFile, useUploadImage } from "./hooks/storage";
31
31
  export type { PaginatedResponse, PaginationMetadata, } from "./interfaces/IPaginatedResponse";
32
32
  export type { EntityCommentsTree } from "./interfaces/EntityCommentsTree";
33
33
  export type { UserFull, User, AuthUser, UserRole, } from "./interfaces/models/User";
@@ -46,3 +46,4 @@ export type { EntityListSortByOptions, SortDirection, SortType, } from "./interf
46
46
  export { validateSortBy, validateMetadataPropertyName, validateSortType, } from "./interfaces/EntityListSortByOptions";
47
47
  export type { TimeFrame } from "./interfaces/TimeFrame";
48
48
  export type { Connection, EstablishedConnection, PendingConnection, ConnectionsResponse, PendingConnectionsResponse, PendingConnectionListResponse, ConnectionRequestParams, ConnectionActionResponse, ConnectionWithdrawResponse, ConnectionCountResponse, RemoveConnectionByUserIdResponse, ConnectionStatusResponse, ConnectionStatus, } from "./interfaces/models/Connection";
49
+ export type { Image, ImageVariant, ImageSizeConfig, UploadImageOptions, } from "./interfaces/models/Image";
package/dist/cjs/index.js CHANGED
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.useUpdateSpace = exports.useCreateSpace = exports.useCheckSlugAvailability = exports.useFetchManySpaces = exports.useFetchSpaceChildren = exports.useFetchSpaceBreadcrumb = exports.useFetchSpaceBySlug = exports.useFetchSpaceByShortId = exports.useFetchSpace = exports.useSpaceData = exports.useSpace = exports.useEntityListActions = exports.useEntityList = exports.useUpdateEntity = exports.useFetchManyEntitiesWrapper = exports.useIncrementEntityViews = exports.useFetchManyEntities = exports.useFetchEntityByShortId = exports.useFetchEntityByForeignId = exports.useFetchEntity = exports.useDeleteEntity = exports.useCreateEntity = exports.useEntityData = exports.useEntity = exports.useCollectionEntitiesWrapper = exports.useIsEntityInCollection = exports.useCollectionsActions = exports.useCollections = exports.useAppNotificationsActions = exports.useAppNotifications = exports.useUserActions = exports.useUser = exports.useAuth = exports.useSignTestingJwt = exports.useProjectData = exports.useProject = exports.SpaceProvider = exports.CommentSectionProvider = exports.EntityProvider = exports.ReplykeProvider = exports.reportReasons = exports.getEnvVar = exports.getApiBaseUrl = exports.isProduction = exports.isDevelopment = exports.getPublicFileUrl = exports.getUserName = exports.safeMergeStyleProps = exports.keywordHelpers = exports.handleError = void 0;
40
40
  exports.useUnfollowUserByUserId = exports.useUnfollowByFollowId = exports.useFollowUser = exports.useFollowManager = exports.useFetchFollowingCountByUserId = exports.useFetchFollowingCount = exports.useFetchFollowingByUserId = exports.useFetchFollowing = exports.useFetchFollowersCountByUserId = exports.useFetchFollowersCount = exports.useFetchFollowersByUserId = exports.useFetchFollowers = exports.useFetchFollowStatus = exports.useUpdateUser = exports.useMentions = exports.useFetchUserSuggestions = exports.useCheckUsernameAvailability = exports.useFetchUserByUsername = exports.useFetchUserByForeignId = exports.useFetchUser = exports.useReactionToggle = exports.useRemoveReaction = exports.useAddReaction = exports.useFetchCommentReactionsWrapper = exports.useFetchEntityReactionsWrapper = exports.useFetchCommentReactions = exports.useFetchEntityReactions = exports.useFetchManyCommentsWrapper = exports.useEntityComments = exports.useDeleteComment = exports.useUpdateComment = exports.useReplies = exports.useFetchCommentByForeignId = exports.useFetchComment = exports.useFetchManyComments = exports.useCreateComment = exports.useCommentSectionData = exports.useCommentSection = exports.useSpaceListActions = exports.useSpaceList = exports.useSpacePermissions = exports.useRemoveMember = exports.useDeclineMember = exports.useApproveMember = exports.useUpdateMemberRole = exports.useFetchMySpaces = exports.useFetchSpaceMembers = exports.useLeaveSpace = exports.useJoinSpace = exports.useDeleteSpace = void 0;
41
- exports.validateSortType = exports.validateMetadataPropertyName = exports.validateSortBy = exports.AppNotification = exports.useUploadFile = exports.useGetMetadata = exports.useHandleSpaceCommentReport = exports.useHandleSpaceEntityReport = exports.useFetchSpaceReports = exports.useCreateReport = exports.useConnectionManager = exports.useFetchConnectionsCountByUserId = exports.useFetchConnectionsByUserId = exports.useFetchReceivedPendingConnections = exports.useFetchSentPendingConnections = exports.useFetchConnectionsCount = exports.useRemoveConnectionByUserId = exports.useFetchConnectionStatus = exports.useFetchConnections = exports.useRemoveConnection = exports.useDeclineConnection = exports.useAcceptConnection = exports.useRequestConnection = void 0;
41
+ exports.validateSortType = exports.validateMetadataPropertyName = exports.validateSortBy = exports.AppNotification = exports.useUploadImage = exports.useUploadFile = exports.useGetMetadata = exports.useHandleSpaceCommentReport = exports.useHandleSpaceEntityReport = exports.useFetchSpaceReports = exports.useCreateReport = exports.useConnectionManager = exports.useFetchConnectionsCountByUserId = exports.useFetchConnectionsByUserId = exports.useFetchReceivedPendingConnections = exports.useFetchSentPendingConnections = exports.useFetchConnectionsCount = exports.useRemoveConnectionByUserId = exports.useFetchConnectionStatus = exports.useFetchConnections = exports.useRemoveConnection = exports.useDeclineConnection = exports.useAcceptConnection = exports.useRequestConnection = void 0;
42
42
  // Helpers & Utilities
43
43
  var handleError_1 = require("./utils/handleError");
44
44
  Object.defineProperty(exports, "handleError", { enumerable: true, get: function () { return handleError_1.handleError; } });
@@ -208,6 +208,7 @@ Object.defineProperty(exports, "useGetMetadata", { enumerable: true, get: functi
208
208
  // -- storage
209
209
  var storage_1 = require("./hooks/storage");
210
210
  Object.defineProperty(exports, "useUploadFile", { enumerable: true, get: function () { return storage_1.useUploadFile; } });
211
+ Object.defineProperty(exports, "useUploadImage", { enumerable: true, get: function () { return storage_1.useUploadImage; } });
211
212
  exports.AppNotification = __importStar(require("./interfaces/models/AppNotification"));
212
213
  var EntityListSortByOptions_1 = require("./interfaces/EntityListSortByOptions");
213
214
  Object.defineProperty(exports, "validateSortBy", { enumerable: true, get: function () { return EntityListSortByOptions_1.validateSortBy; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,44 @@ export interface TopComment {
9
9
  content: string;
10
10
  createdAt: string;
11
11
  }
12
+ export interface EntityImageVariant {
13
+ path: string;
14
+ publicPath: string;
15
+ width: number;
16
+ height: number;
17
+ size: number;
18
+ format: string;
19
+ }
20
+ export interface EntityImage {
21
+ fileId: string;
22
+ originalWidth: number;
23
+ originalHeight: number;
24
+ variants: Record<string, EntityImageVariant>;
25
+ processingStatus: "completed" | "failed";
26
+ processingError: string | null;
27
+ format: string;
28
+ quality: number;
29
+ exifStripped: boolean;
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ }
33
+ export interface EntityFile {
34
+ id: string;
35
+ projectId: string;
36
+ userId: string | null;
37
+ entityId: string | null;
38
+ commentId: string | null;
39
+ spaceId: string | null;
40
+ type: "image" | "video" | "document" | "other";
41
+ originalPath: string;
42
+ originalSize: number;
43
+ originalMimeType: string;
44
+ position: number;
45
+ metadata: Record<string, any>;
46
+ image?: EntityImage;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ }
12
50
  export interface Entity {
13
51
  id: string;
14
52
  foreignId: string | null;
@@ -22,6 +60,7 @@ export interface Entity {
22
60
  content: string | null;
23
61
  mentions: Mention[];
24
62
  attachments: Record<string, any>[];
63
+ files?: EntityFile[];
25
64
  keywords: string[];
26
65
  upvotes: string[];
27
66
  downvotes: string[];
@@ -42,6 +81,6 @@ export interface Entity {
42
81
  updatedAt: Date;
43
82
  deletedAt: Date | null;
44
83
  }
45
- export type EntityInclude = "space" | "user" | "topComment" | "saved";
84
+ export type EntityInclude = "space" | "user" | "topComment" | "saved" | "files";
46
85
  export type EntityIncludeArray = EntityInclude[];
47
86
  export type EntityIncludeParam = string | EntityIncludeArray;