0.11.21 : change on event and group
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "harmony-back",
|
"name": "harmony-back",
|
||||||
"version": "0.11.20",
|
"version": "0.11.21",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "A Strapi application",
|
"description": "A Strapi application",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -75,6 +75,16 @@ export default ({ strapi }: { strapi: Core.Strapi }) =>
|
|||||||
`Event ${event.id} created by user ${userId} with owner relationship ${ownerRelationship.id}`
|
`Event ${event.id} created by user ${userId} with owner relationship ${ownerRelationship.id}`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (contextType === "group") {
|
||||||
|
await strapi
|
||||||
|
.service("api::group.group")
|
||||||
|
.addActivity(
|
||||||
|
contextId,
|
||||||
|
ctx.state.user?.username || `User ${userId}`,
|
||||||
|
`Evènement créé : ${event.title}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
ctx.send({ data: event }, 201);
|
ctx.send({ data: event }, 201);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
strapi.log.error("Error in create event controller:", error);
|
strapi.log.error("Error in create event controller:", error);
|
||||||
|
|||||||
@@ -32,7 +32,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,4 +4,25 @@
|
|||||||
|
|
||||||
import { factories } from '@strapi/strapi';
|
import { factories } from '@strapi/strapi';
|
||||||
|
|
||||||
export default factories.createCoreService('api::group.group');
|
export default factories.createCoreService('api::group.group', ({ strapi }) => ({
|
||||||
|
async addActivity(groupId: number, userName: string, message: string) {
|
||||||
|
const group = await strapi.entityService.findOne('api::group.group', groupId, {
|
||||||
|
populate: ['activities'],
|
||||||
|
}) as any;
|
||||||
|
|
||||||
|
if (!group) {
|
||||||
|
throw new Error(`Group with id ${groupId} not found`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const activities = group.activities || [];
|
||||||
|
activities.push({
|
||||||
|
activityUser: userName,
|
||||||
|
activityMessage: message,
|
||||||
|
activityDate: new Date(),
|
||||||
|
});
|
||||||
|
|
||||||
|
return await strapi.entityService.update('api::group.group', groupId, {
|
||||||
|
data: { activities },
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|||||||
@@ -14,6 +14,17 @@
|
|||||||
},
|
},
|
||||||
"activityDate": {
|
"activityDate": {
|
||||||
"type": "datetime"
|
"type": "datetime"
|
||||||
|
},
|
||||||
|
"activityAvatar": {
|
||||||
|
"type": "media",
|
||||||
|
"multiple": false,
|
||||||
|
"required": false,
|
||||||
|
"allowedTypes": [
|
||||||
|
"images",
|
||||||
|
"files",
|
||||||
|
"videos",
|
||||||
|
"audios"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
"name": "Apache 2.0",
|
"name": "Apache 2.0",
|
||||||
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
||||||
},
|
},
|
||||||
"x-generation-date": "2025-11-10T22:10:01.518Z"
|
"x-generation-date": "2025-11-11T01:04:38.039Z"
|
||||||
},
|
},
|
||||||
"x-strapi-config": {
|
"x-strapi-config": {
|
||||||
"plugins": [
|
"plugins": [
|
||||||
@@ -17091,7 +17091,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -18189,6 +18190,135 @@
|
|||||||
"activityDate": {
|
"activityDate": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "date-time"
|
"format": "date-time"
|
||||||
|
},
|
||||||
|
"activityAvatar": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"alternativeText": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"caption": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"width": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"height": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"formats": {},
|
||||||
|
"hash": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"ext": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"mime": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"previewUrl": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"provider_metadata": {},
|
||||||
|
"related": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"folder": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"folderPath": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
},
|
||||||
|
"updatedAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
},
|
||||||
|
"publishedAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
},
|
||||||
|
"createdBy": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"updatedBy": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"locale": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"localizations": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"documentId": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -20554,7 +20684,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -24484,7 +24615,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -27973,7 +28105,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -31910,7 +32043,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -36098,7 +36232,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -40735,7 +40870,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -44662,7 +44798,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -48491,7 +48628,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -52307,7 +52445,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -56159,7 +56298,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -60011,7 +60151,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -63824,7 +63965,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -67818,7 +67960,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -71301,7 +71444,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -75713,7 +75857,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -80588,7 +80733,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -80762,7 +80908,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locale": {
|
"locale": {
|
||||||
@@ -83635,7 +83782,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -84480,7 +84628,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -87468,7 +87617,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -91406,7 +91556,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -95245,7 +95396,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -98589,7 +98741,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -103142,7 +103295,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -107024,7 +107178,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
@@ -110866,7 +111021,8 @@
|
|||||||
"owner",
|
"owner",
|
||||||
"follow",
|
"follow",
|
||||||
"pending",
|
"pending",
|
||||||
"invited"
|
"invited",
|
||||||
|
"rejected"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAt": {
|
"createdAt": {
|
||||||
|
|||||||
3
types/generated/components.d.ts
vendored
3
types/generated/components.d.ts
vendored
@@ -26,6 +26,9 @@ export interface GroupActivity extends Struct.ComponentSchema {
|
|||||||
displayName: 'Activity';
|
displayName: 'Activity';
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
|
activityAvatar: Schema.Attribute.Media<
|
||||||
|
'images' | 'files' | 'videos' | 'audios'
|
||||||
|
>;
|
||||||
activityDate: Schema.Attribute.DateTime;
|
activityDate: Schema.Attribute.DateTime;
|
||||||
activityMessage: Schema.Attribute.String;
|
activityMessage: Schema.Attribute.String;
|
||||||
activityUser: Schema.Attribute.String;
|
activityUser: Schema.Attribute.String;
|
||||||
|
|||||||
2
types/generated/contentTypes.d.ts
vendored
2
types/generated/contentTypes.d.ts
vendored
@@ -1047,7 +1047,7 @@ export interface ApiGroupMembershipGroupMembership
|
|||||||
Schema.Attribute.Private;
|
Schema.Attribute.Private;
|
||||||
publishedAt: Schema.Attribute.DateTime;
|
publishedAt: Schema.Attribute.DateTime;
|
||||||
role: Schema.Attribute.Enumeration<
|
role: Schema.Attribute.Enumeration<
|
||||||
['member', 'admin', 'owner', 'follow', 'pending', 'invited']
|
['member', 'admin', 'owner', 'follow', 'pending', 'invited', 'rejected']
|
||||||
>;
|
>;
|
||||||
updatedAt: Schema.Attribute.DateTime;
|
updatedAt: Schema.Attribute.DateTime;
|
||||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||||
|
|||||||
Reference in New Issue
Block a user