Skip to content

Commit

Permalink
[add] Enrollment model & Multiple Text component
Browse files Browse the repository at this point in the history
  • Loading branch information
TechQuery committed Nov 27, 2023
1 parent 2828cf8 commit 511357b
Show file tree
Hide file tree
Showing 10 changed files with 180 additions and 10 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ohp/web-server",
"version": "0.5.0",
"version": "0.6.0",
"private": true,
"engines": {
"node": ">=18.0.0 <=20.x.x",
Expand Down
22 changes: 19 additions & 3 deletions src/api/activity/content-types/activity/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,15 @@
"customField": "plugin::ckeditor.CKEditor"
},
"banners": {
"allowedTypes": ["images", "videos"],
"type": "media",
"multiple": true,
"required": true,
"allowedTypes": ["images", "videos"],
"pluginOptions": {
"i18n": {
"localized": true
}
},
"required": true
}
},
"status": {
"pluginOptions": {
Expand Down Expand Up @@ -164,6 +164,22 @@
},
"type": "datetime",
"required": true
},
"gitTemplates": {
"type": "component",
"repeatable": true,
"pluginOptions": {
"i18n": {
"localized": false
}
},
"component": "common.multiple-text"
},
"enrollments": {
"type": "relation",
"relation": "oneToMany",
"target": "api::enrollment.enrollment",
"mappedBy": "activity"
}
}
}
36 changes: 36 additions & 0 deletions src/api/enrollment/content-types/enrollment/schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"kind": "collectionType",
"collectionName": "enrollments",
"info": {
"singularName": "enrollment",
"pluralName": "enrollments",
"displayName": "Enrollment"
},
"options": {
"draftAndPublish": false
},
"pluginOptions": {},
"attributes": {
"activity": {
"type": "relation",
"relation": "manyToOne",
"target": "api::activity.activity",
"inversedBy": "enrollments"
},
"user": {
"type": "relation",
"relation": "manyToOne",
"target": "plugin::users-permissions.user",
"inversedBy": "enrollments"
},
"status": {
"type": "enumeration",
"enum": ["none", "pendingApproval", "approved", "rejected"],
"default": "none",
"required": true
},
"extensions": {
"type": "json"
}
}
}
7 changes: 7 additions & 0 deletions src/api/enrollment/controllers/enrollment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* enrollment controller
*/

import { factories } from '@strapi/strapi';

export default factories.createCoreController('api::enrollment.enrollment');
7 changes: 7 additions & 0 deletions src/api/enrollment/routes/enrollment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* enrollment router
*/

import { factories } from '@strapi/strapi';

export default factories.createCoreRouter('api::enrollment.enrollment');
7 changes: 7 additions & 0 deletions src/api/enrollment/services/enrollment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* enrollment service
*/

import { factories } from '@strapi/strapi';

export default factories.createCoreService('api::enrollment.enrollment');
18 changes: 18 additions & 0 deletions src/components/common/multiple-text.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"collectionName": "components_common_multiple_texts",
"info": {
"displayName": "Multiple Text",
"icon": "bulletList"
},
"options": {},
"attributes": {
"name": {
"type": "string",
"required": true
},
"icon": {
"type": "customField",
"customField": "plugin::react-icons.icon"
}
}
}
12 changes: 7 additions & 5 deletions src/extensions/users-permissions/content-types/user/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,13 @@
},
"gender": {
"type": "enumeration",
"enum": [
"Female",
"Male",
"Other"
]
"enum": ["Female", "Male", "Other"]
},
"enrollments": {
"type": "relation",
"relation": "oneToMany",
"target": "api::enrollment.enrollment",
"mappedBy": "user"
}
}
}
18 changes: 17 additions & 1 deletion types/generated/components.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
import type { Schema, Attribute } from '@strapi/strapi';

export interface CommonMultipleText extends Schema.Component {
collectionName: 'components_common_multiple_texts';
info: {
displayName: 'Multiple Text';
icon: 'bulletList';
};
attributes: {
name: Attribute.String & Attribute.Required;
icon: Attribute.String & Attribute.CustomField<'plugin::react-icons.icon'>;
};
}

declare module '@strapi/types' {
export module Shared {}
export module Shared {
export interface Components {
'common.multiple-text': CommonMultipleText;
}
}
}
61 changes: 61 additions & 0 deletions types/generated/contentTypes.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,17 @@ export interface ApiActivityActivity extends Schema.CollectionType {
localized: false;
};
}>;
gitTemplates: Attribute.Component<'common.multiple-text', true> &
Attribute.SetPluginOptions<{
i18n: {
localized: false;
};
}>;
enrollments: Attribute.Relation<
'api::activity.activity',
'oneToMany',
'api::enrollment.enrollment'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
publishedAt: Attribute.DateTime;
Expand All @@ -524,6 +535,50 @@ export interface ApiActivityActivity extends Schema.CollectionType {
};
}

export interface ApiEnrollmentEnrollment extends Schema.CollectionType {
collectionName: 'enrollments';
info: {
singularName: 'enrollment';
pluralName: 'enrollments';
displayName: 'Enrollment';
};
options: {
draftAndPublish: false;
};
attributes: {
activity: Attribute.Relation<
'api::enrollment.enrollment',
'manyToOne',
'api::activity.activity'
>;
user: Attribute.Relation<
'api::enrollment.enrollment',
'manyToOne',
'plugin::users-permissions.user'
>;
status: Attribute.Enumeration<
['none', 'pendingApproval', 'approved', 'rejected']
> &
Attribute.Required &
Attribute.DefaultTo<'none'>;
extensions: Attribute.JSON;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'api::enrollment.enrollment',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'api::enrollment.enrollment',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}

export interface PluginUploadFile extends Schema.CollectionType {
collectionName: 'files';
info: {
Expand Down Expand Up @@ -867,6 +922,11 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
'plugin::users-permissions.role'
>;
gender: Attribute.Enumeration<['Female', 'Male', 'Other']>;
enrollments: Attribute.Relation<
'plugin::users-permissions.user',
'oneToMany',
'api::enrollment.enrollment'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
Expand Down Expand Up @@ -895,6 +955,7 @@ declare module '@strapi/types' {
'admin::transfer-token': AdminTransferToken;
'admin::transfer-token-permission': AdminTransferTokenPermission;
'api::activity.activity': ApiActivityActivity;
'api::enrollment.enrollment': ApiEnrollmentEnrollment;
'plugin::upload.file': PluginUploadFile;
'plugin::upload.folder': PluginUploadFolder;
'plugin::react-icons.iconlibrary': PluginReactIconsIconlibrary;
Expand Down

0 comments on commit 511357b

Please sign in to comment.