CREATE VIEW vwknowledgedocumentfeedback AS (
SELECT fb.keyid,
fb.feedbackid AS feedback_id,
fb.datecreated AS date_created,
fb.updated AS last_updated,
fb.rating,
fb.reason,
fb.comment,
fb.querytype AS query_type,
fb.sessionid AS session_id,
fb.searchid AS search_id,
fb.documentversionid AS document_version_id,
dv.versionnumber AS document_version_number,
dv.datepublished AS document_version_published,
dv.dateexpires AS document_version_expires,
fb.documentvariationid AS document_variation_id,
var.name AS variation_name,
var.priority AS variation_priority,
var.datecreated AS variation_created,
var.datemodified AS variation_modified,
fb.userid AS user_id,
ud.name AS user_name,
ud.username AS user_username,
ud.email AS user_email,
ud.department AS user_department,
ud.divisionid AS user_division_id,
ud.divisionname AS user_division_name,
fb.documentid AS document_id,
doc.title AS document_title,
doc.state AS document_state,
doc.visible AS document_visible,
doc.datecreated AS document_created,
doc.datepublished AS document_published,
doc.lastpublishedversionnumber AS document_current_version,
fb.knowledgebaseid AS knowledge_base_id,
kb.name AS knowledge_base_name,
kb.description AS knowledge_base_description,
kb.corelanguage AS knowledge_base_language,
doc.categoryid AS category_id,
cat.name AS category_name,
cat.description AS category_description,
cat.parentcategoryid AS parent_category_id,
cat.parentcategoryname AS parent_category_name,
CASE fb.rating
WHEN 'Positive'::text THEN 'Thumbs Up'::character varying
WHEN 'Negative'::text THEN 'Thumbs Down'::character varying
ELSE fb.rating
END AS feedback_type,
CASE fb.rating
WHEN 'Positive'::text THEN 1
WHEN 'Negative'::text THEN '-1'::integer
ELSE 0
END AS sentiment_score,
CASE fb.querytype
WHEN 'ManualSearch'::text THEN 'Manual Search'::character varying
WHEN 'Suggestion'::text THEN 'AI Suggestion'::character varying
WHEN 'Unknown'::text THEN 'Unknown Source'::character varying
ELSE fb.querytype
END AS query_type_description,
CASE
WHEN (fb.datecreated >= CURRENT_DATE) THEN 'Today'::text
WHEN (fb.datecreated >= (CURRENT_DATE - 1)) THEN 'Yesterday'::text
WHEN (fb.datecreated >= (CURRENT_DATE - 7)) THEN 'Last 7 Days'::text
WHEN (fb.datecreated >= (CURRENT_DATE - 30)) THEN 'Last 30 Days'::text
ELSE 'Older'::text
END AS feedback_period,
CASE
WHEN ((fb.comment IS NOT NULL) AND (fb.comment <> ''::text)) THEN true
ELSE false
END AS has_comment,
CASE
WHEN (dv.versionnumber = doc.lastpublishedversionnumber) THEN true
ELSE false
END AS is_current_version
FROM ((((((knowledgedocumentfeedbackdata fb
LEFT JOIN vwuserdetail ud ON (((fb.userid)::text = (ud.id)::text)))
LEFT JOIN knowledgebasedocument doc ON (((fb.documentid)::text = (doc.id)::text)))
LEFT JOIN knowledgebase kb ON (((fb.knowledgebaseid)::text = (kb.id)::text)))
LEFT JOIN knowledgebasecategorydata cat ON (((doc.categoryid)::text = (cat.id)::text)))
LEFT JOIN knowledgebasedocumentversion dv ON (((fb.documentversionid)::text = (dv.id)::text)))
LEFT JOIN knowledgebasedocumentvariation var ON (((fb.documentvariationid)::text = (var.id)::text)))
)