Skip to content

Commit

Permalink
Refactor predictive modeling routes and services; remove obsolete com…
Browse files Browse the repository at this point in the history
…ponent and styles, and introduce new targets schema
  • Loading branch information
austenstone committed Jan 23, 2025
1 parent 3f4a35b commit e831b22
Show file tree
Hide file tree
Showing 12 changed files with 200 additions and 373 deletions.
26 changes: 26 additions & 0 deletions backend/src/database.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ class Database {
total_pr_summaries_created: Number
});



// Editor Schema 🖥️
const EditorSchema = new mongoose.Schema({
name: String,
Expand Down Expand Up @@ -294,6 +296,30 @@ class Database {
}, {
timestamps: true
}));

const TargetsDetailSchema = new mongoose.Schema({
seats: String,
adoptedDevs: String,
monthlyDevsReportingTimeSavings: String,
percentSeatsReportingTimeSavings: String,
percentSeatsAdopted: String,
percentMaxAdopted: String,
dailySuggestions: String,
dailyChatTurns: String,
weeklyPRSummaries: String,
weeklyTimeSaved: String,
monthlyTimeSavings: String,
annualTimeSavingsDollars: String,
productivityBoost: String
});

const TargetsSchema = new mongoose.Schema({
current: TargetsDetailSchema,
target: TargetsDetailSchema,
max: TargetsDetailSchema
});

mongoose.model('Targets', TargetsSchema);
}

async disconnect() {
Expand Down
4 changes: 2 additions & 2 deletions backend/src/routes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ router.get('/setup/status', setupController.setupStatus);

router.get('/status', setupController.getStatus);

router.get('/predictive-modeling/targets', targetValuesController.getTargetValues);
router.post('/predictive-modeling/targets', targetValuesController.updateTargetValues);
router.get('/targets', targetValuesController.getTargetValues);
router.post('/targets', targetValuesController.updateTargetValues);

router.get('*', (req: Request, res: Response) => {
res.status(404).send('Route not found');
Expand Down
66 changes: 62 additions & 4 deletions backend/src/services/target-values.service.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,71 @@
import mongoose from 'mongoose';

class TargetValuesService {
async getTargetValues() {
try {
const Targets = mongoose.model('Targets');
const targets = await Targets.findOne();
return targets;
} catch (error) {
throw new Error(`Error fetching target values: ${error}`);
}
}

async updateTargetValues(data: {
targetedRoomForImprovement: number,
targetedNumberOfDevelopers: number,
targetedPercentOfTimeSaved: number
current: {
seats: string;
adoptedDevs: string;
monthlyDevsReportingTimeSavings: string;
percentSeatsReportingTimeSavings: string;
percentSeatsAdopted: string;
percentMaxAdopted: string;
dailySuggestions: string;
dailyChatTurns: string;
weeklyPRSummaries: string;
weeklyTimeSaved: string;
monthlyTimeSavings: string;
annualTimeSavingsDollars: string;
productivityBoost: string;
};
target: {
seats: string;
adoptedDevs: string;
monthlyDevsReportingTimeSavings: string;
percentSeatsReportingTimeSavings: string;
percentSeatsAdopted: string;
percentMaxAdopted: string;
dailySuggestions: string;
dailyChatTurns: string;
weeklyPRSummaries: string;
weeklyTimeSaved: string;
monthlyTimeSavings: string;
annualTimeSavingsDollars: string;
productivityBoost: string;
};
max: {
seats: string;
adoptedDevs: string;
monthlyDevsReportingTimeSavings: string;
percentSeatsReportingTimeSavings: string;
percentSeatsAdopted: string;
percentMaxAdopted: string;
dailySuggestions: string;
dailyChatTurns: string;
weeklyPRSummaries: string;
weeklyTimeSaved: string;
monthlyTimeSavings: string;
annualTimeSavingsDollars: string;
productivityBoost: string;
};
}) {
try {
const Targets = mongoose.model('Targets');
const targets = await Targets.findOneAndUpdate({}, data, { new: true, upsert: true });
return targets;
} catch (error) {
throw new Error(`Error updating target values: ${error}`);
}
}
}

export default new TargetValuesService();
export default new TargetValuesService();
1 change: 0 additions & 1 deletion frontend/src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import { CopilotSeatsComponent } from './main/copilot/copilot-seats/copilot-seat
import { DbLoadingComponent } from './database/db-loading.component';
import { CopilotSurveyComponent } from './main/copilot/copilot-surveys/copilot-survey-details/copilot-survey.component';
import { CopilotSeatComponent } from './main/copilot/copilot-seats/copilot-seat/copilot-seat.component';
import { PredictiveModelingComponent } from './main/copilot/predictive-modeling/predictive-modeling.component';
import { DatabaseComponent } from './database/database.component';
import { ValueModelingComponent } from './main/copilot/value-modeling/value-modeling.component';

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit e831b22

Please sign in to comment.