Bugs in settings fixed, profile added
This commit is contained in:
47
backend/models/trigger.js
Normal file
47
backend/models/trigger.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import { sequelize } from '../utils/sequelize.js';
|
||||
|
||||
export async function createTriggers() {
|
||||
const createTriggerFunction = `
|
||||
CREATE OR REPLACE FUNCTION create_user_param_visibility_trigger()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
-- Check if UserParamVisibility already exists for this UserParam
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM community.user_param_visibility
|
||||
WHERE param_id = NEW.id
|
||||
) THEN
|
||||
-- Insert the default visibility (Invisible)
|
||||
INSERT INTO community.user_param_visibility (param_id, visibility)
|
||||
VALUES (NEW.id, (
|
||||
SELECT id FROM type.user_param_visibility WHERE description = 'Invisible'
|
||||
));
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
`;
|
||||
|
||||
const createInsertTrigger = `
|
||||
CREATE TRIGGER trigger_create_user_param_visibility
|
||||
AFTER INSERT ON community.user_param
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION create_user_param_visibility_trigger();
|
||||
`;
|
||||
|
||||
const createUpdateTrigger = `
|
||||
CREATE TRIGGER trigger_update_user_param_visibility
|
||||
AFTER UPDATE ON community.user_param
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION create_user_param_visibility_trigger();
|
||||
`;
|
||||
|
||||
try {
|
||||
await sequelize.query(createTriggerFunction);
|
||||
await sequelize.query(createInsertTrigger);
|
||||
await sequelize.query(createUpdateTrigger);
|
||||
|
||||
console.log('Triggers created successfully');
|
||||
} catch (error) {
|
||||
console.error('Error creating triggers:', error);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user