diff --git a/lib/CF/Schema/ResultSet/Announcement.pm b/lib/CF/Schema/ResultSet/Announcement.pm
new file mode 100644
index 0000000000000000000000000000000000000000..54c7b22889e5b1d048a6ec6b63221f6ca39c8157
--- /dev/null
+++ b/lib/CF/Schema/ResultSet/Announcement.pm
@@ -0,0 +1,16 @@
+package CF::Schema::ResultSet::Announcement;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::ResultSet';
+
+use constant PROTECTED_FIELDS => [qw(
+    id
+    datetime
+    deleted
+    user_id
+    type
+)];
+
+1;
diff --git a/lib/CF/Schema/ResultSet/Post.pm b/lib/CF/Schema/ResultSet/Post.pm
new file mode 100644
index 0000000000000000000000000000000000000000..b648b0b8e167f0e48d975d006fb478b9074296a5
--- /dev/null
+++ b/lib/CF/Schema/ResultSet/Post.pm
@@ -0,0 +1,20 @@
+package CF::Schema::ResultSet::Post;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::ResultSet';
+
+use constant PROTECTED_FIELDS => [qw(
+    id
+    datetime
+    changed
+    deleted
+    user_id
+    program_entry_id
+    type
+    ranking_likes
+    ranking_dislikes
+)];
+
+1;
diff --git a/lib/CF/Schema/ResultSet/ProgramEntry.pm b/lib/CF/Schema/ResultSet/ProgramEntry.pm
new file mode 100644
index 0000000000000000000000000000000000000000..a2ef156d0cecee62f0393c0a14c3b4647213df19
--- /dev/null
+++ b/lib/CF/Schema/ResultSet/ProgramEntry.pm
@@ -0,0 +1,12 @@
+package CF::Schema::ResultSet::ProgramEntry;
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::ResultSet';
+
+use constant PROTECTED_FIELDS => [qw(
+    id
+)];
+
+1;