streamby-core 0.10.12 → 0.10.13
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.
|
@@ -7,7 +7,6 @@ exports.createStreamByRouter = createStreamByRouter;
|
|
|
7
7
|
const express_1 = __importDefault(require("express"));
|
|
8
8
|
const s3_1 = require("../adapters/s3");
|
|
9
9
|
const file_1 = require("../services/file");
|
|
10
|
-
const project_1 = require("../services/project");
|
|
11
10
|
const presign_1 = require("../services/presign");
|
|
12
11
|
function isProjectMember(project, userId) {
|
|
13
12
|
return project.members?.some((m) => m.userId?.toString() === userId?.toString());
|
|
@@ -59,7 +58,7 @@ function createStreamByRouter(config) {
|
|
|
59
58
|
return res.status(400).json({ error: 'Missing projectId' });
|
|
60
59
|
}
|
|
61
60
|
await (0, file_1.deleteProjectImage)(adapter, projectId);
|
|
62
|
-
const updated = await
|
|
61
|
+
const updated = await config.projectProvider.update(projectId, { image: '' });
|
|
63
62
|
res.status(201).json(updated);
|
|
64
63
|
}
|
|
65
64
|
catch (err) {
|
|
@@ -120,8 +119,13 @@ function createStreamByRouter(config) {
|
|
|
120
119
|
if (auth.role !== 'admin' && auth.role !== 'editor') {
|
|
121
120
|
return res.status(403).json({ error: 'Permission denied' });
|
|
122
121
|
}
|
|
123
|
-
const
|
|
124
|
-
|
|
122
|
+
const { name, description } = req.body;
|
|
123
|
+
const newProject = await config.projectProvider.create({
|
|
124
|
+
name,
|
|
125
|
+
description: description || '',
|
|
126
|
+
members: [{ userId: auth.userId, role: "admin" }]
|
|
127
|
+
});
|
|
128
|
+
res.status(201).json(newProject);
|
|
125
129
|
}
|
|
126
130
|
catch (err) {
|
|
127
131
|
res.status(500).json({ error: 'Failed to create project', details: err.message });
|
|
@@ -13,8 +13,8 @@ function createMongoProjectProvider(ProjectModel, adapter) {
|
|
|
13
13
|
const newProject = await ProjectModel.create({
|
|
14
14
|
members: [
|
|
15
15
|
{
|
|
16
|
-
userId: data.members[0].userId,
|
|
17
|
-
role: data.members[0].role,
|
|
16
|
+
userId: data.members?.[0].userId,
|
|
17
|
+
role: data.members?.[0].role,
|
|
18
18
|
}
|
|
19
19
|
],
|
|
20
20
|
name: data.name,
|
|
@@ -40,7 +40,7 @@ function createMongoProjectProvider(ProjectModel, adapter) {
|
|
|
40
40
|
async delete(projectId) {
|
|
41
41
|
try {
|
|
42
42
|
await ProjectModel.findByIdAndDelete(projectId);
|
|
43
|
-
await adapter.
|
|
43
|
+
await adapter.deleteProjectDirectory(projectId);
|
|
44
44
|
return { success: true };
|
|
45
45
|
}
|
|
46
46
|
catch (error) {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -60,10 +60,10 @@ export interface ProjectProvider {
|
|
|
60
60
|
create(data: {
|
|
61
61
|
name: string;
|
|
62
62
|
image?: string;
|
|
63
|
-
members
|
|
63
|
+
members?: {
|
|
64
64
|
userId: string;
|
|
65
|
-
role:
|
|
66
|
-
}];
|
|
65
|
+
role: 'viewer' | 'editor' | 'admin';
|
|
66
|
+
}[];
|
|
67
67
|
description?: string;
|
|
68
68
|
allowUpload?: boolean;
|
|
69
69
|
allowSharing?: boolean;
|