@mongoosejs/studio 0.0.120 → 0.0.122
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.
- package/frontend/public/app.js +1 -1
- package/frontend/src/api.js +48 -2
- package/package.json +2 -2
package/frontend/public/app.js
CHANGED
|
@@ -15006,7 +15006,7 @@ var bson = /*#__PURE__*/Object.freeze({
|
|
|
15006
15006
|
/***/ ((module) => {
|
|
15007
15007
|
|
|
15008
15008
|
"use strict";
|
|
15009
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@mongoosejs/studio","version":"0.0.
|
|
15009
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@mongoosejs/studio","version":"0.0.121","description":"A sleek, powerful MongoDB UI with built-in dashboarding and auth, seamlessly integrated with your Express, Vercel, or Netlify app.","homepage":"https://studio.mongoosejs.io/","repository":{"type":"git","url":"https://github.com/mongoosejs/studio"},"dependencies":{"archetype":"0.13.1","csv-stringify":"6.3.0","ejson":"^2.2.3","extrovert":"^0.1.0","marked":"15.0.12","node-inspect-extracted":"3.x","tailwindcss":"3.4.0","vanillatoasts":"^1.6.0","vue":"3.x","webpack":"5.x"},"peerDependencies":{"bson":"^5.5.1 || 6.x","express":"4.x","mongoose":"7.x || 8.x"},"devDependencies":{"@masteringjs/eslint-config":"0.1.1","axios":"1.2.2","dedent":"^1.6.0","eslint":"9.30.0","express":"4.x","mocha":"10.2.0","mongoose":"8.x"},"scripts":{"lint":"eslint .","tailwind":"tailwindcss -o ./frontend/public/tw.css","tailwind:watch":"tailwindcss -o ./frontend/public/tw.css --watch","test":"mocha test/*.test.js"}}');
|
|
15010
15010
|
|
|
15011
15011
|
/***/ })
|
|
15012
15012
|
|
package/frontend/src/api.js
CHANGED
|
@@ -114,8 +114,54 @@ if (window.MONGOOSE_STUDIO_CONFIG.isLambda) {
|
|
|
114
114
|
getDocuments: function getDocuments(params) {
|
|
115
115
|
return client.post('', { action: 'Model.getDocuments', ...params }).then(res => res.data);
|
|
116
116
|
},
|
|
117
|
-
getDocumentsStream: function getDocumentsStream(params) {
|
|
118
|
-
|
|
117
|
+
getDocumentsStream: async function* getDocumentsStream(params) {
|
|
118
|
+
const accessToken = window.localStorage.getItem('_mongooseStudioAccessToken') || null;
|
|
119
|
+
const url = window.MONGOOSE_STUDIO_CONFIG.baseURL + '?' + new URLSearchParams({ ...params, action: 'Model.getDocumentsStream' }).toString();
|
|
120
|
+
|
|
121
|
+
const response = await fetch(url, {
|
|
122
|
+
method: 'GET',
|
|
123
|
+
headers: {
|
|
124
|
+
Authorization: `${accessToken}`,
|
|
125
|
+
Accept: 'text/event-stream'
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
if (!response.ok) {
|
|
130
|
+
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const reader = response.body.getReader();
|
|
134
|
+
const decoder = new TextDecoder('utf-8');
|
|
135
|
+
let buffer = '';
|
|
136
|
+
|
|
137
|
+
while (true) {
|
|
138
|
+
const { done, value } = await reader.read();
|
|
139
|
+
if (done) break;
|
|
140
|
+
buffer += decoder.decode(value, { stream: true });
|
|
141
|
+
|
|
142
|
+
let eventEnd;
|
|
143
|
+
while ((eventEnd = buffer.indexOf('\n\n')) !== -1) {
|
|
144
|
+
const eventStr = buffer.slice(0, eventEnd);
|
|
145
|
+
buffer = buffer.slice(eventEnd + 2);
|
|
146
|
+
|
|
147
|
+
// Parse SSE event
|
|
148
|
+
const lines = eventStr.split('\n');
|
|
149
|
+
let data = '';
|
|
150
|
+
for (const line of lines) {
|
|
151
|
+
if (line.startsWith('data:')) {
|
|
152
|
+
data += line.slice(5).trim();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (data) {
|
|
156
|
+
try {
|
|
157
|
+
yield JSON.parse(data);
|
|
158
|
+
} catch (err) {
|
|
159
|
+
// If not JSON, yield as string
|
|
160
|
+
yield data;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
119
165
|
},
|
|
120
166
|
getIndexes: function getIndexes(params) {
|
|
121
167
|
return client.post('', { action: 'Model.getIndexes', ...params }).then(res => res.data);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongoosejs/studio",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.122",
|
|
4
4
|
"description": "A sleek, powerful MongoDB UI with built-in dashboarding and auth, seamlessly integrated with your Express, Vercel, or Netlify app.",
|
|
5
5
|
"homepage": "https://studio.mongoosejs.io/",
|
|
6
6
|
"repository": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"archetype": "0.13.1",
|
|
12
12
|
"csv-stringify": "6.3.0",
|
|
13
13
|
"ejson": "^2.2.3",
|
|
14
|
-
"extrovert": "0.1.0",
|
|
14
|
+
"extrovert": "^0.1.0",
|
|
15
15
|
"marked": "15.0.12",
|
|
16
16
|
"node-inspect-extracted": "3.x",
|
|
17
17
|
"tailwindcss": "3.4.0",
|