diff --git a/package.json b/package.json index 3a5a08f..a512dc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "harmony-back", - "version": "0.11.17", + "version": "0.11.18", "private": true, "description": "A Strapi application", "scripts": { diff --git a/src/api/group/content-types/group/schema.json b/src/api/group/content-types/group/schema.json index ddd7147..8ee7049 100644 --- a/src/api/group/content-types/group/schema.json +++ b/src/api/group/content-types/group/schema.json @@ -35,15 +35,6 @@ "repeatable": true, "component": "social.tags" }, - "category": { - "type": "enumeration", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "enumeration", "enum": [ @@ -58,12 +49,6 @@ "target": "api::group-membership.group-membership", "mappedBy": "group" }, - "lastActivity": { - "type": "datetime" - }, - "activityType": { - "type": "string" - }, "state": { "type": "enumeration", "enum": [ @@ -71,6 +56,11 @@ "recruiting", "audition" ] + }, + "activities": { + "type": "component", + "repeatable": true, + "component": "group.activity" } } } diff --git a/src/api/group/controllers/group.ts b/src/api/group/controllers/group.ts index 2e0ef02..0b47103 100644 --- a/src/api/group/controllers/group.ts +++ b/src/api/group/controllers/group.ts @@ -34,6 +34,23 @@ export default factories.createCoreController( } } + const userId = ctx.state.user?.id; + if (userId) { + const user = ctx.state.user; + const userName = + user?.surname && user?.name + ? `${user.surname} ${user.name}` + : user?.username || "Utilisateur"; + + const newActivity = { + activityMessage: "Création du groupe", + activityDate: new Date().toISOString(), + activityUser: userName, + }; + + data.activities = [newActivity]; + } + // 2) Crée le group via core controller ctx.request.body = { data }; const response = await super.create(ctx); // { data: { id, attributes }, meta: {} } diff --git a/src/components/group/activity.json b/src/components/group/activity.json new file mode 100644 index 0000000..b4d910e --- /dev/null +++ b/src/components/group/activity.json @@ -0,0 +1,19 @@ +{ + "collectionName": "components_group_activities", + "info": { + "displayName": "Activity", + "description": "" + }, + "options": {}, + "attributes": { + "activityMessage": { + "type": "string" + }, + "activityUser": { + "type": "string" + }, + "activityDate": { + "type": "datetime" + } + } +} diff --git a/src/extensions/documentation/documentation/1.0.0/full_documentation.json b/src/extensions/documentation/documentation/1.0.0/full_documentation.json index 2fb2d79..22499f7 100644 --- a/src/extensions/documentation/documentation/1.0.0/full_documentation.json +++ b/src/extensions/documentation/documentation/1.0.0/full_documentation.json @@ -14,7 +14,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "x-generation-date": "2025-11-08T23:22:04.498Z" + "x-generation-date": "2025-11-09T17:10:55.198Z" }, "x-strapi-config": { "plugins": [ @@ -16994,15 +16994,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -17025,13 +17016,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -17040,6 +17024,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -18183,6 +18173,24 @@ } } }, + "GroupActivityComponent": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "activityMessage": { + "type": "string" + }, + "activityUser": { + "type": "string" + }, + "activityDate": { + "type": "string", + "format": "date-time" + } + } + }, "AnnouncementRequest": { "type": "object", "required": [ @@ -20448,15 +20456,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -20479,13 +20478,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -20494,6 +20486,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -24387,15 +24385,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -24418,13 +24407,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -24433,6 +24415,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -27885,15 +27873,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -27916,13 +27895,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -27931,6 +27903,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -31831,15 +31809,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -31862,13 +31831,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -31877,6 +31839,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -36028,15 +35996,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -36059,13 +36018,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -36074,6 +36026,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -40674,15 +40632,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -40705,13 +40654,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -40720,6 +40662,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -44610,15 +44558,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -44641,13 +44580,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -44656,6 +44588,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -48448,15 +48386,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -48479,13 +48408,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -48494,6 +48416,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -52273,15 +52201,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -52304,13 +52223,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -52319,6 +52231,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -56134,15 +56052,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -56165,13 +56074,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -56180,6 +56082,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -59995,15 +59903,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -60026,13 +59925,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -60041,6 +59933,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -63817,15 +63715,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -63848,13 +63737,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -63863,6 +63745,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -67820,15 +67708,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -67851,13 +67730,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -67866,6 +67738,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -71312,15 +71190,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -71343,13 +71212,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -71358,6 +71220,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -75733,15 +75601,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -75764,13 +75623,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -75779,6 +75631,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -76887,15 +76745,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -76918,13 +76767,6 @@ "example": "string or id" } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -76933,6 +76775,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "locale": { "type": "string" }, @@ -77608,15 +77456,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -80636,15 +80475,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -80667,13 +80497,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -80682,6 +80505,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -80799,13 +80628,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -80814,6 +80636,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -83692,15 +83520,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -83723,13 +83542,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -83738,6 +83550,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -87533,15 +87351,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -87564,13 +87373,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -87579,6 +87381,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -91480,15 +91288,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -91511,13 +91310,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -91526,6 +91318,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -95328,15 +95126,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -95359,13 +95148,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -95374,6 +95156,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -98681,15 +98469,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -98712,13 +98491,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -98727,6 +98499,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -103243,15 +103021,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -103274,13 +103043,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -103289,6 +103051,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -107134,15 +106902,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -107165,13 +106924,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -107180,6 +106932,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" @@ -110985,15 +110743,6 @@ "$ref": "#/components/schemas/SocialTagsComponent" } }, - "category": { - "type": "string", - "enum": [ - "mixedChoir", - "womensChoir", - "mensChoir", - "childrensChoir" - ] - }, "access": { "type": "string", "enum": [ @@ -111016,13 +110765,6 @@ } } }, - "lastActivity": { - "type": "string", - "format": "date-time" - }, - "activityType": { - "type": "string" - }, "state": { "type": "string", "enum": [ @@ -111031,6 +110773,12 @@ "audition" ] }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupActivityComponent" + } + }, "createdAt": { "type": "string", "format": "date-time" diff --git a/types/generated/components.d.ts b/types/generated/components.d.ts index 747bcce..a96a2f8 100644 --- a/types/generated/components.d.ts +++ b/types/generated/components.d.ts @@ -19,6 +19,19 @@ export interface AddressFullAddress extends Struct.ComponentSchema { }; } +export interface GroupActivity extends Struct.ComponentSchema { + collectionName: 'components_group_activities'; + info: { + description: ''; + displayName: 'Activity'; + }; + attributes: { + activityDate: Schema.Attribute.DateTime; + activityMessage: Schema.Attribute.String; + activityUser: Schema.Attribute.String; + }; +} + export interface SocialTags extends Struct.ComponentSchema { collectionName: 'components_social_tags'; info: { @@ -50,6 +63,7 @@ declare module '@strapi/strapi' { export module Public { export interface ComponentSchemas { 'address.full-address': AddressFullAddress; + 'group.activity': GroupActivity; 'social.tags': SocialTags; 'user.permissions': UserPermissions; } diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index e6e8129..5f73707 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -1072,16 +1072,12 @@ export interface ApiGroupGroup extends Struct.CollectionTypeSchema { }; attributes: { access: Schema.Attribute.Enumeration<['private', 'public', 'closed']>; - activityType: Schema.Attribute.String; + activities: Schema.Attribute.Component<'group.activity', true>; banner: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>; - category: Schema.Attribute.Enumeration< - ['mixedChoir', 'womensChoir', 'mensChoir', 'childrensChoir'] - >; createdAt: Schema.Attribute.DateTime; createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & Schema.Attribute.Private; description: Schema.Attribute.Text; - lastActivity: Schema.Attribute.DateTime; locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<'oneToMany', 'api::group.group'> & Schema.Attribute.Private;