Commit | Line | Data |
---|---|---|
f5b7b326 TC |
1 | package BSE::MetaOwnerBase; |
2 | use strict; | |
3 | ||
4 | our $VERSION = "1.000"; | |
5 | ||
6 | sub clear_metadata { | |
7 | my ($self) = @_; | |
8 | ||
9 | BSE::DB->run(bseClearArticleFileMetadata => $self->id, $self->meta_owner_type); | |
10 | } | |
11 | ||
12 | sub clear_app_metadata { | |
13 | my ($self) = @_; | |
14 | ||
15 | BSE::DB->run(bseClearArticleFileAppMetadata => $self->id, $self->meta_owner_type); | |
16 | } | |
17 | ||
18 | sub clear_sys_metadata { | |
19 | my ($self) = @_; | |
20 | ||
21 | BSE::DB->run(bseClearArticleFileSysMetadata => $self->id, $self->meta_owner_type); | |
22 | } | |
23 | ||
24 | sub delete_meta_by_name { | |
25 | my ($self, $name) = @_; | |
26 | ||
27 | print STDERR "Delete ", $self->id, ",", $name, ",", $self->meta_owner_type, ")\n"; | |
28 | BSE::DB->run(bseDeleteArticleFileMetaByName => $self->id, $name, $self->meta_owner_type); | |
29 | } | |
30 | ||
31 | sub add_meta { | |
32 | my ($self, %opts) = @_; | |
33 | ||
34 | require BSE::TB::Metadata; | |
35 | return BSE::TB::Metadata->make | |
36 | ( | |
37 | file_id => $self->id, | |
38 | owner_type => $self->meta_owner_type, | |
39 | %opts, | |
40 | ); | |
41 | } | |
42 | ||
43 | sub metadata { | |
44 | my ($self) = @_; | |
45 | ||
46 | require BSE::TB::Metadata; | |
47 | return BSE::TB::Metadata->getBy | |
48 | ( | |
49 | file_id => $self->id, | |
50 | owner_type => $self->meta_owner_type, | |
51 | ); | |
52 | } | |
53 | ||
54 | sub text_metadata { | |
55 | my ($self) = @_; | |
56 | ||
57 | require BSE::TB::Metadata; | |
58 | return BSE::TB::Metadata->getBy | |
59 | ( | |
60 | file_id => $self->id, | |
61 | owner_type => $self->meta_owner_type, | |
62 | content_type => "text/plain", | |
63 | ); | |
64 | } | |
65 | ||
66 | sub meta_by_name { | |
67 | my ($self, $name) = @_; | |
68 | ||
69 | require BSE::TB::Metadata; | |
70 | my ($result) = BSE::TB::Metadata->getBy | |
71 | ( | |
72 | file_id => $self->id, | |
73 | owner_type => $self->meta_owner_type, | |
74 | name => $name | |
75 | ) | |
76 | or return; | |
77 | ||
78 | return $result; | |
79 | } | |
80 | ||
81 | 1; |