add onboarding and feedback models

This commit is contained in:
Emily
2024-12-20 16:31:34 +01:00
parent 39c42e7bd5
commit edc897d62a
5 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
import { FeedbackModel } from '@schema/FeedbackSchema';
export default defineEventHandler(async event => {
const data = await getRequestData(event);
if (!data) return;
const { text } = await readBody(event);
const save = await FeedbackModel.create({
user_id: data.user.id,
project_id: data.project_id,
text
});
return { ok: true }
});

View File

@@ -0,0 +1,19 @@
import { OnboardingModel } from '@schema/OnboardingSchema';
export default defineEventHandler(async event => {
const data = await getRequestData(event);
if (!data) return;
const { job, analytics } = await readBody(event);
const save = await OnboardingModel.create({
user_id: data.user.id,
job,
analytics
});
return { ok: true }
});

View File

@@ -0,0 +1,9 @@
import { OnboardingModel } from '@schema/OnboardingSchema';
export default defineEventHandler(async event => {
const data = await getRequestData(event);
if (!data) return;
const exist = await OnboardingModel.exists({ user_id: data.user.id });
return { exist }
});

View File

@@ -0,0 +1,16 @@
import { model, Schema, Types } from 'mongoose';
export type TFeedback = {
user_id: Types.ObjectId,
project_id: Types.ObjectId,
text: string
}
const FeedbackSchema = new Schema<TFeedback>({
user_id: { type: Schema.Types.ObjectId, required: true },
project_id: { type: Schema.Types.ObjectId, required: true },
text: { type: String, required: true },
});
export const FeedbackModel = model<TFeedback>('feedbacks', FeedbackSchema);

View File

@@ -0,0 +1,16 @@
import { model, Schema, Types } from 'mongoose';
export type TOnboarding = {
user_id: Types.ObjectId,
analytics: string,
job: string
}
const OnboardingSchema = new Schema<TOnboarding>({
user_id: { type: Schema.Types.ObjectId, required: true },
analytics: { type: String, required: false },
job: { type: String, required: false },
});
export const OnboardingModel = model<TOnboarding>('onboardings', OnboardingSchema);