File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed
Database/lib/OpenNewsWire/DB/Result Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change @@ -212,5 +212,44 @@ __PACKAGE__->has_many(
212212# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-09-08 14:30:18
213213# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:irY/GBQ/r8VIJXqXiJpL2Q
214214
215+ sub setting {
216+ my ( $self , $setting , $value ) = @_ ;
217+
218+ if ( defined $value ) {
219+ my $rs = $self -> find_or_new_related( ' person_settings' , { name => $setting } );
220+ $rs -> value( ref $value ? $value : { value => $value } );
221+
222+ $rs -> update if $rs -> in_storage;
223+ $rs -> insert unless $rs -> in_storage;
224+
225+ return $value ;
226+ } else {
227+ my $result = $self -> find_related(' person_settings' , { name => $setting });
228+ return undef unless $result ;
229+ return $self -> _get_setting_value($result );
230+ }
231+ }
232+
233+ sub _get_setting_value {
234+ my ( $self , $setting ) = @_ ;
235+
236+ if ( ref $setting -> value eq ' HASH' and keys %{$setting -> value} == 1 and exists $setting -> value-> {value } ) {
237+ return $setting -> value-> {value };
238+ }
239+
240+ return $setting -> value;
241+ }
242+
243+ sub get_settings {
244+ my ( $self ) = @_ ;
245+
246+ my $return = {};
247+
248+ foreach my $setting ( $self -> search_related( ' person_settings' , {} )-> all ) {
249+ $return -> {${\($setting -> name)}} = $self -> _get_setting_value($setting );
250+ }
251+
252+ return $return ;
253+ }
215254
2162551;
Original file line number Diff line number Diff line change @@ -154,5 +154,44 @@ __PACKAGE__->has_many(
154154# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-09-08 14:30:18
155155# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:RvVaTUvL9AJnqVI5zAYK2Q
156156
157+ sub setting {
158+ my ( $self , $setting , $value ) = @_ ;
159+
160+ if ( defined $value ) {
161+ my $rs = $self -> find_or_new_related( ' topic_channel_settings' , { name => $setting } );
162+ $rs -> value( ref $value ? $value : { value => $value } );
163+
164+ $rs -> update if $rs -> in_storage;
165+ $rs -> insert unless $rs -> in_storage;
166+
167+ return $value ;
168+ } else {
169+ my $result = $self -> find_related(' topic_channel_settings' , { name => $setting });
170+ return undef unless $result ;
171+ return $self -> _get_setting_value($result );
172+ }
173+ }
174+
175+ sub _get_setting_value {
176+ my ( $self , $setting ) = @_ ;
177+
178+ if ( ref $setting -> value eq ' HASH' and keys %{$setting -> value} == 1 and exists $setting -> value-> {value } ) {
179+ return $setting -> value-> {value };
180+ }
181+
182+ return $setting -> value;
183+ }
184+
185+ sub get_settings {
186+ my ( $self ) = @_ ;
187+
188+ my $return = {};
189+
190+ foreach my $setting ( $self -> search_related( ' topic_channel_settings' , {} )-> all ) {
191+ $return -> {${\($setting -> name)}} = $self -> _get_setting_value($setting );
192+ }
193+
194+ return $return ;
195+ }
157196
1581971;
You can’t perform that action at this time.
0 commit comments