-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
BlogSettings.swift
248 lines (179 loc) · 7.13 KB
/
BlogSettings.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
import Foundation
/// This class encapsulates all of the settings available for a Blog entity
///
open class BlogSettings: NSManagedObject {
// MARK: - Relationships
/// Maps to the related Blog.
///
@NSManaged var blog: Blog?
// MARK: - General
/// Represents the Blog Name.
///
@NSManaged var name: String?
/// Stores the Blog's Tagline setting.
///
@NSManaged var tagline: String?
/// Stores the Blog's Privacy Preferences Settings
///
@NSManaged var privacy: NSNumber?
/// Stores the Blog's Language ID Setting
///
@NSManaged var languageID: NSNumber
/// Stores the Blog's Icon Media ID
///
@NSManaged var iconMediaID: NSNumber?
/// Stores the Blog's GMT offset
///
@NSManaged var gmtOffset: NSNumber?
/// Stores the Blog's timezone
///
@NSManaged var timezoneString: String?
// MARK: - Writing
/// Contains the Default Category ID. Used when creating new posts.
///
@NSManaged var defaultCategoryID: NSNumber?
/// Contains the Default Post Format. Used when creating new posts.
///
@NSManaged var defaultPostFormat: String?
/// The blog's date format setting
///
@NSManaged var dateFormat: String
/// The blog's time format setting
///
@NSManaged var timeFormat: String
/// The blog's chosen day to start the week setting
///
@NSManaged var startOfWeek: String
/// The number of posts displayed per blog's page
///
@NSManaged var postsPerPage: NSNumber?
/// Jetpack Setting: serve images from our servers.
///
@NSManaged var jetpackServeImagesFromOurServers: Bool
/// Jetpack Setting: lazy load images.
///
@NSManaged var jetpackLazyLoadImages: Bool
// MARK: - Discussion
/// Represents whether comments are allowed, or not.
///
@NSManaged var commentsAllowed: Bool
/// Contains a list of words, space separated, that would cause a comment to be automatically blacklisted.
///
@NSManaged var commentsBlacklistKeys: Set<String>?
/// If true, comments will be automatically closed after the number of days, specified by `commentsCloseAutomaticallyAfterDays`.
///
@NSManaged var commentsCloseAutomatically: Bool
/// Represents the number of days comments will be enabled, granted that the `commentsCloseAutomatically`
/// property is set to true.
///
@NSManaged var commentsCloseAutomaticallyAfterDays: NSNumber?
/// When enabled, comments from known users will be whitelisted.
///
@NSManaged var commentsFromKnownUsersWhitelisted: Bool
/// Indicates the maximum number of links allowed per comment. When a new comment exceeds this number,
/// it'll be held in queue for moderation.
///
@NSManaged var commentsMaximumLinks: NSNumber?
/// Contains a list of words, space separated, that cause a comment to require moderation.
///
@NSManaged var commentsModerationKeys: Set<String>?
/// If true, comment pagination will be enabled.
///
@NSManaged var commentsPagingEnabled: Bool
/// Specifies the number of comments per page. This will be used only if the property `commentsPagingEnabled`
/// is set to true.
///
@NSManaged var commentsPageSize: NSNumber?
/// When enabled, new comments will require Manual Moderation, before showing up.
///
@NSManaged var commentsRequireManualModeration: Bool
/// If set to true, commenters will be required to enter their name and email.
///
@NSManaged var commentsRequireNameAndEmail: Bool
/// Specifies whether commenters should be registered or not.
///
@NSManaged var commentsRequireRegistration: Bool
/// Indicates the sorting order of the comments. Ascending / Descending, based on the date.
///
@NSManaged var commentsSortOrder: NSNumber?
/// Indicates the number of levels allowed per comment.
///
@NSManaged var commentsThreadingDepth: NSNumber?
/// When enabled, comment threading will be supported.
///
@NSManaged var commentsThreadingEnabled: Bool
/// *LOCAL* flag (non stored remotely) indicating whether post geolocation is enabled or not.
/// This can be overriden on a per-post basis.
///
@NSManaged var geolocationEnabled: Bool
/// If set to true, 3rd party sites will be allowed to post pingbacks.
///
@NSManaged var pingbackInboundEnabled: Bool
/// When Outbound Pingbacks are enabled, 3rd party sites that get linked will be notified.
///
@NSManaged var pingbackOutboundEnabled: Bool
// MARK: - Related Posts
/// When set to true, Related Posts will be allowed.
///
@NSManaged var relatedPostsAllowed: Bool
/// When set to true, Related Posts will be enabled.
///
@NSManaged var relatedPostsEnabled: Bool
/// Indicates whether related posts should show a headline.
///
@NSManaged var relatedPostsShowHeadline: Bool
/// Indicates whether related posts should show thumbnails.
///
@NSManaged var relatedPostsShowThumbnails: Bool
// MARK: - Sharing
/// Indicates the style to use for the sharing buttons on a particular blog
///
@NSManaged var sharingButtonStyle: String
/// The title of the sharing label on the user's blog.
///
@NSManaged var sharingLabel: String
/// Indicates the twitter username to use when sharing via Twitter
///
@NSManaged var sharingTwitterName: String
/// Indicates whether related posts should show thumbnails.
///
@NSManaged var sharingCommentLikesEnabled: Bool
/// Indicates whether sharing via post likes has been disabled
///
@NSManaged var sharingDisabledLikes: Bool
/// Indicates whether sharing by reblogging has been disabled
///
@NSManaged var sharingDisabledReblogs: Bool
// MARK: AMP
/// Indicates whether AMP is supported
///
@NSManaged var ampSupported: Bool
/// Indicates whether AMP is enabled
///
@NSManaged var ampEnabled: Bool
// MARK: - Jetpack Settings
/// Indicates whether the Jetpack site's monitor is on or off
///
@NSManaged var jetpackMonitorEnabled: Bool
/// Indicates whether the Jetpack site's monitor notifications should be sent by email
///
@NSManaged var jetpackMonitorEmailNotifications: Bool
/// Indicates whether the Jetpack site's monitor notifications should be sent by push notifications
///
@NSManaged var jetpackMonitorPushNotifications: Bool
/// Indicates whether Jetpack will block malicious login attemps
///
@NSManaged var jetpackBlockMaliciousLoginAttempts: Bool
/// List of IP addresses that will never be blocked for logins by Jetpack
///
@NSManaged var jetpackLoginWhiteListedIPAddresses: Set<String>?
/// Indicates whether WordPress.com SSO is enabled for the Jetpack site
///
@NSManaged var jetpackSSOEnabled: Bool
/// Indicates whether SSO will try to match accounts by email address
///
@NSManaged var jetpackSSOMatchAccountsByEmail: Bool
/// Indicates whether to force or not two-step authentication when users log in via WordPress.com
///
@NSManaged var jetpackSSORequireTwoStepAuthentication: Bool
}