@parsifal-m/backstage-plugin-open-feedback-backend
Version:
This plugin serves as the backend for OpenFeedback.
59 lines (55 loc) • 1.51 kB
JavaScript
;
var backendCommon = require('@backstage/backend-common');
const migrationsDir = backendCommon.resolvePackagePath(
"@parsifal-m/backstage-plugin-open-feedback-backend",
"migrations"
);
class OpenFeedbackDatabaseHandler {
client;
static async create(database) {
const client = await database.getClient();
await client.migrate.latest({
directory: migrationsDir
});
return new OpenFeedbackDatabaseHandler(client);
}
constructor(client) {
this.client = client;
}
async addFeedback(feedback) {
await this.client("open_feedback").insert(feedback);
}
async getFeedback() {
return this.client("open_feedback").where("archived", false).select(
"id",
"url",
"userRef",
"rating",
"comment",
"created_at",
"archived"
);
}
async getArchivedFeedback() {
return this.client("open_feedback").where("archived", true).select(
"id",
"url",
"userRef",
"rating",
"comment",
"created_at",
"archived"
);
}
async archiveFeedback(id) {
return this.client("open_feedback").where("id", id).update({ archived: true });
}
async restoreFeedback(id) {
return this.client("open_feedback").where("id", id).update({ archived: false });
}
async removeFeedback(id) {
return this.client("open_feedback").where("id", id).delete();
}
}
exports.OpenFeedbackDatabaseHandler = OpenFeedbackDatabaseHandler;
//# sourceMappingURL=DatabaseHandler.cjs.js.map