From 41393cb40cbf04957c2c2228fe5b4a6e72aacdb6 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sun, 24 Aug 2025 18:48:46 +0000 Subject: [PATCH] CategoryUpdate --- .gitignore | 5 + app-shell/src/_schema.json | 7 +- .../db/seeders/20231127130745-sample-data.js | 460 +++++++++++++++++- .../20240501090000-default-categories.js | 20 + .../20240501092000-sample-expense-data.js | 49 ++ frontend/json/runtimeError.json | 1 + .../components/WebPageComponents/Footer.tsx | 2 +- .../components/WebPageComponents/Header.tsx | 2 +- frontend/src/pages/index.tsx | 14 +- frontend/src/pages/web_pages/services.tsx | 16 +- 10 files changed, 553 insertions(+), 23 deletions(-) create mode 100644 backend/src/db/seeders/20240501090000-default-categories.js create mode 100644 backend/src/db/seeders/20240501092000-sample-expense-data.js create mode 100644 frontend/json/runtimeError.json diff --git a/.gitignore b/.gitignore index e427ff3..d0eb167 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ node_modules/ */node_modules/ */build/ + +**/node_modules/ +**/build/ +.DS_Store +.env \ No newline at end of file diff --git a/app-shell/src/_schema.json b/app-shell/src/_schema.json index b12d5c2..8d1c006 100644 --- a/app-shell/src/_schema.json +++ b/app-shell/src/_schema.json @@ -1,5 +1,4 @@ - - { - "Initial version": "{\"iv\":\"pYA/GJB68u6S86Lz\",\"encryptedData\":\"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\"}" -} + "Initial version": "{\"iv\":\"pYA/GJB68u6S86Lz\",\"encryptedData\":\"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\"}", + "CategoryUpdate": "{\"iv\":\"q6+lVJspOOL6fCBL\",\"encryptedData\":\"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\"}" +} \ No newline at end of file diff --git a/backend/src/db/seeders/20231127130745-sample-data.js b/backend/src/db/seeders/20231127130745-sample-data.js index e2bc298..63e41b4 100644 --- a/backend/src/db/seeders/20231127130745-sample-data.js +++ b/backend/src/db/seeders/20231127130745-sample-data.js @@ -11,6 +11,8 @@ const Notifications = db.notifications; const Organizations = db.organizations; +const Categories = db.categories; + const DepartmentsData = [ { name: 'Frontend Team', @@ -35,6 +37,22 @@ const DepartmentsData = [ // type code here for "relation_one" field }, + + { + name: 'Threat Intelligence', + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, + + { + name: 'Customer Support', + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, ]; const DivisionsData = [ @@ -67,6 +85,26 @@ const DivisionsData = [ // type code here for "relation_one" field }, + + { + name: 'Data Analysis', + + // type code here for "relation_one" field + + // type code here for "relation_many" field + + // type code here for "relation_one" field + }, + + { + name: 'Technical Support', + + // type code here for "relation_one" field + + // type code here for "relation_many" field + + // type code here for "relation_one" field + }, ]; const ExpensesData = [ @@ -75,7 +113,7 @@ const ExpensesData = [ amount: 15000, - category: 'Hardware', + category: 'PersonnelCosts', date_incurred: new Date('2023-10-01T10:00:00Z'), @@ -103,7 +141,7 @@ const ExpensesData = [ amount: 2000, - category: 'PersonnelCosts', + category: 'Telecommunications', date_incurred: new Date('2023-10-10T09:00:00Z'), @@ -111,6 +149,34 @@ const ExpensesData = [ // type code here for "relation_one" field }, + + { + description: 'Employee training program', + + amount: 3000, + + category: 'Hardware', + + date_incurred: new Date('2023-10-15T11:00:00Z'), + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, + + { + description: 'Monthly internet charges', + + amount: 800, + + category: 'Software', + + date_incurred: new Date('2023-10-20T14:00:00Z'), + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, ]; const NotificationsData = [ @@ -143,6 +209,26 @@ const NotificationsData = [ // type code here for "relation_one" field }, + + { + message: 'Expense category limit exceeded', + + enabled: true, + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, + + { + message: 'New user signup notification', + + enabled: true, + + // type code here for "relation_one" field + + // type code here for "relation_one" field + }, ]; const OrganizationsData = [ @@ -157,6 +243,56 @@ const OrganizationsData = [ { name: 'IT Pioneers', }, + + { + name: 'Future Tech', + }, + + { + name: 'Cyber Dynamics', + }, +]; + +const CategoriesData = [ + { + // type code here for "relation_one" field + + name: 'Stephen Hawking', + + // type code here for "relation_one" field + }, + + { + // type code here for "relation_one" field + + name: 'Carl Linnaeus', + + // type code here for "relation_one" field + }, + + { + // type code here for "relation_one" field + + name: 'Carl Gauss (Karl Friedrich Gauss)', + + // type code here for "relation_one" field + }, + + { + // type code here for "relation_one" field + + name: 'August Kekule', + + // type code here for "relation_one" field + }, + + { + // type code here for "relation_one" field + + name: 'Konrad Lorenz', + + // type code here for "relation_one" field + }, ]; // Similar logic for "relation_many" @@ -194,6 +330,28 @@ async function associateUserWithOrganization() { if (User2?.setOrganization) { await User2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const User3 = await Users.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (User3?.setOrganization) { + await User3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const User4 = await Users.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (User4?.setOrganization) { + await User4.setOrganization(relatedOrganization4); + } } async function associateDepartmentWithDivision() { @@ -229,6 +387,28 @@ async function associateDepartmentWithDivision() { if (Department2?.setDivision) { await Department2.setDivision(relatedDivision2); } + + const relatedDivision3 = await Divisions.findOne({ + offset: Math.floor(Math.random() * (await Divisions.count())), + }); + const Department3 = await Departments.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Department3?.setDivision) { + await Department3.setDivision(relatedDivision3); + } + + const relatedDivision4 = await Divisions.findOne({ + offset: Math.floor(Math.random() * (await Divisions.count())), + }); + const Department4 = await Departments.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Department4?.setDivision) { + await Department4.setDivision(relatedDivision4); + } } async function associateDepartmentWithOrganization() { @@ -264,6 +444,28 @@ async function associateDepartmentWithOrganization() { if (Department2?.setOrganization) { await Department2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Department3 = await Departments.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Department3?.setOrganization) { + await Department3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Department4 = await Departments.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Department4?.setOrganization) { + await Department4.setOrganization(relatedOrganization4); + } } async function associateDivisionWithOrganization() { @@ -299,6 +501,28 @@ async function associateDivisionWithOrganization() { if (Division2?.setOrganization) { await Division2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Division3 = await Divisions.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Division3?.setOrganization) { + await Division3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Division4 = await Divisions.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Division4?.setOrganization) { + await Division4.setOrganization(relatedOrganization4); + } } // Similar logic for "relation_many" @@ -336,6 +560,28 @@ async function associateDivisionWithOrganization() { if (Division2?.setOrganization) { await Division2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Division3 = await Divisions.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Division3?.setOrganization) { + await Division3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Division4 = await Divisions.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Division4?.setOrganization) { + await Division4.setOrganization(relatedOrganization4); + } } async function associateExpenseWithDepartment() { @@ -371,6 +617,28 @@ async function associateExpenseWithDepartment() { if (Expense2?.setDepartment) { await Expense2.setDepartment(relatedDepartment2); } + + const relatedDepartment3 = await Departments.findOne({ + offset: Math.floor(Math.random() * (await Departments.count())), + }); + const Expense3 = await Expenses.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Expense3?.setDepartment) { + await Expense3.setDepartment(relatedDepartment3); + } + + const relatedDepartment4 = await Departments.findOne({ + offset: Math.floor(Math.random() * (await Departments.count())), + }); + const Expense4 = await Expenses.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Expense4?.setDepartment) { + await Expense4.setDepartment(relatedDepartment4); + } } async function associateExpenseWithOrganization() { @@ -406,6 +674,28 @@ async function associateExpenseWithOrganization() { if (Expense2?.setOrganization) { await Expense2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Expense3 = await Expenses.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Expense3?.setOrganization) { + await Expense3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Expense4 = await Expenses.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Expense4?.setOrganization) { + await Expense4.setOrganization(relatedOrganization4); + } } async function associateNotificationWithUser() { @@ -441,6 +731,28 @@ async function associateNotificationWithUser() { if (Notification2?.setUser) { await Notification2.setUser(relatedUser2); } + + const relatedUser3 = await Users.findOne({ + offset: Math.floor(Math.random() * (await Users.count())), + }); + const Notification3 = await Notifications.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Notification3?.setUser) { + await Notification3.setUser(relatedUser3); + } + + const relatedUser4 = await Users.findOne({ + offset: Math.floor(Math.random() * (await Users.count())), + }); + const Notification4 = await Notifications.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Notification4?.setUser) { + await Notification4.setUser(relatedUser4); + } } async function associateNotificationWithOrganization() { @@ -476,6 +788,142 @@ async function associateNotificationWithOrganization() { if (Notification2?.setOrganization) { await Notification2.setOrganization(relatedOrganization2); } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Notification3 = await Notifications.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Notification3?.setOrganization) { + await Notification3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Notification4 = await Notifications.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Notification4?.setOrganization) { + await Notification4.setOrganization(relatedOrganization4); + } +} + +async function associateCategoryWithOrganization() { + const relatedOrganization0 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Category0 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 0, + }); + if (Category0?.setOrganization) { + await Category0.setOrganization(relatedOrganization0); + } + + const relatedOrganization1 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Category1 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 1, + }); + if (Category1?.setOrganization) { + await Category1.setOrganization(relatedOrganization1); + } + + const relatedOrganization2 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Category2 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 2, + }); + if (Category2?.setOrganization) { + await Category2.setOrganization(relatedOrganization2); + } + + const relatedOrganization3 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Category3 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Category3?.setOrganization) { + await Category3.setOrganization(relatedOrganization3); + } + + const relatedOrganization4 = await Organizations.findOne({ + offset: Math.floor(Math.random() * (await Organizations.count())), + }); + const Category4 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Category4?.setOrganization) { + await Category4.setOrganization(relatedOrganization4); + } +} + +async function associateCategoryWithParent() { + const relatedParent0 = await Categories.findOne({ + offset: Math.floor(Math.random() * (await Categories.count())), + }); + const Category0 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 0, + }); + if (Category0?.setParent) { + await Category0.setParent(relatedParent0); + } + + const relatedParent1 = await Categories.findOne({ + offset: Math.floor(Math.random() * (await Categories.count())), + }); + const Category1 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 1, + }); + if (Category1?.setParent) { + await Category1.setParent(relatedParent1); + } + + const relatedParent2 = await Categories.findOne({ + offset: Math.floor(Math.random() * (await Categories.count())), + }); + const Category2 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 2, + }); + if (Category2?.setParent) { + await Category2.setParent(relatedParent2); + } + + const relatedParent3 = await Categories.findOne({ + offset: Math.floor(Math.random() * (await Categories.count())), + }); + const Category3 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 3, + }); + if (Category3?.setParent) { + await Category3.setParent(relatedParent3); + } + + const relatedParent4 = await Categories.findOne({ + offset: Math.floor(Math.random() * (await Categories.count())), + }); + const Category4 = await Categories.findOne({ + order: [['id', 'ASC']], + offset: 4, + }); + if (Category4?.setParent) { + await Category4.setParent(relatedParent4); + } } module.exports = { @@ -490,6 +938,8 @@ module.exports = { await Organizations.bulkCreate(OrganizationsData); + await Categories.bulkCreate(CategoriesData); + await Promise.all([ // Similar logic for "relation_many" @@ -512,6 +962,10 @@ module.exports = { await associateNotificationWithUser(), await associateNotificationWithOrganization(), + + await associateCategoryWithOrganization(), + + await associateCategoryWithParent(), ]); }, @@ -525,5 +979,7 @@ module.exports = { await queryInterface.bulkDelete('notifications', null, {}); await queryInterface.bulkDelete('organizations', null, {}); + + await queryInterface.bulkDelete('categories', null, {}); }, }; diff --git a/backend/src/db/seeders/20240501090000-default-categories.js b/backend/src/db/seeders/20240501090000-default-categories.js new file mode 100644 index 0000000..9702c60 --- /dev/null +++ b/backend/src/db/seeders/20240501090000-default-categories.js @@ -0,0 +1,20 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + const now = new Date(); + await queryInterface.bulkInsert('categories', [ + { name: 'Personnel', parentId: null, organizationsId: null, createdAt: now, updatedAt: now }, + { name: 'Hardware', parentId: null, organizationsId: null, createdAt: now, updatedAt: now }, + { name: 'Software', parentId: null, organizationsId: null, createdAt: now, updatedAt: now }, + { name: 'Third-Party', parentId: null, organizationsId: null, createdAt: now, updatedAt: now }, + { name: 'Telecommunications', parentId: null, organizationsId: null, createdAt: now, updatedAt: now }, + ], {}); + }, + + down: async (queryInterface, Sequelize) => { + await queryInterface.bulkDelete('categories', { + name: ['Personnel', 'Hardware', 'Software', 'Third-Party', 'Telecommunications'], + }, {}); + }, +}; \ No newline at end of file diff --git a/backend/src/db/seeders/20240501092000-sample-expense-data.js b/backend/src/db/seeders/20240501092000-sample-expense-data.js new file mode 100644 index 0000000..5bfdd4c --- /dev/null +++ b/backend/src/db/seeders/20240501092000-sample-expense-data.js @@ -0,0 +1,49 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + const now = new Date(); + // Fetch existing IDs for categories, departments, and organizations + const categories = await queryInterface.sequelize.query( + 'SELECT id, name FROM categories', + { type: queryInterface.sequelize.QueryTypes.SELECT } + ); + const departments = await queryInterface.sequelize.query( + 'SELECT id FROM departments', + { type: queryInterface.sequelize.QueryTypes.SELECT } + ); + const organizations = await queryInterface.sequelize.query( + 'SELECT id FROM organizations', + { type: queryInterface.sequelize.QueryTypes.SELECT } + ); + + // Helper to pick random element + const pick = (arr) => arr[Math.floor(Math.random() * arr.length)]; + + // Generate 100 sample expense records over past 24 months + const records = []; + for (let i = 0; i < 100; i++) { + const monthsAgo = Math.floor(Math.random() * 24); + const date = new Date(); + date.setMonth(date.getMonth() - monthsAgo); + records.push({ + description: `Sample expense ${i + 1}`, + amount: parseFloat((Math.random() * 10000 + 100).toFixed(2)), + date_incurred: date, + createdAt: now, + updatedAt: now, + departmentId: pick(departments).id, + organizationsId: pick(organizations).id, + // find matching category + categoryId: pick(categories).id, + }); + } + + await queryInterface.bulkInsert('expenses', records, {}); + }, + + down: async (queryInterface, Sequelize) => { + // Remove all sample expenses + await queryInterface.bulkDelete('expenses', null, {}); + }, +}; \ No newline at end of file diff --git a/frontend/json/runtimeError.json b/frontend/json/runtimeError.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/frontend/json/runtimeError.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/frontend/src/components/WebPageComponents/Footer.tsx b/frontend/src/components/WebPageComponents/Footer.tsx index bd9c5a1..8a84dff 100644 --- a/frontend/src/components/WebPageComponents/Footer.tsx +++ b/frontend/src/components/WebPageComponents/Footer.tsx @@ -17,7 +17,7 @@ export default function WebSiteFooter({ projectName }: WebSiteFooterProps) { const borders = useAppSelector((state) => state.style.borders); const websiteHeder = useAppSelector((state) => state.style.websiteHeder); - const style = FooterStyle.WITH_PROJECT_NAME; + const style = FooterStyle.WITH_PAGES; const design = FooterDesigns.DEFAULT_DESIGN; diff --git a/frontend/src/components/WebPageComponents/Header.tsx b/frontend/src/components/WebPageComponents/Header.tsx index 1d56d49..f9f339c 100644 --- a/frontend/src/components/WebPageComponents/Header.tsx +++ b/frontend/src/components/WebPageComponents/Header.tsx @@ -19,7 +19,7 @@ export default function WebSiteHeader({ projectName }: WebSiteHeaderProps) { const style = HeaderStyle.PAGES_RIGHT; - const design = HeaderDesigns.DESIGN_DIVERSITY; + const design = HeaderDesigns.DEFAULT_DESIGN; return (
state.style.cardsStyle); const bgColor = useAppSelector((state) => state.style.bgLayoutColor); - const projectName = 'App to manage the costs of a companys IT spend'; + const projectName = 'App to manage the costs of a company's IT spend'; useEffect(() => { const darkElement = document.querySelector('body .dark'); @@ -80,12 +80,12 @@ export default function WebSite() { />
diff --git a/frontend/src/pages/web_pages/services.tsx b/frontend/src/pages/web_pages/services.tsx index fb16b3c..8d34b6c 100644 --- a/frontend/src/pages/web_pages/services.tsx +++ b/frontend/src/pages/web_pages/services.tsx @@ -24,7 +24,7 @@ import ContactFormSection from '../../components/WebPageComponents/ContactFormCo export default function WebSite() { const cardsStyle = useAppSelector((state) => state.style.cardsStyle); const bgColor = useAppSelector((state) => state.style.bgLayoutColor); - const projectName = 'App to manage the costs of a companys IT spend'; + const projectName = 'App to manage the costs of a company's IT spend'; useEffect(() => { const darkElement = document.querySelector('body .dark'); @@ -97,11 +97,11 @@ export default function WebSite() { />
);