()
| 135 | } |
| 136 | |
| 137 | async initDb() { |
| 138 | const settings = { |
| 139 | [SETTINGS_CATEGORIES.SUBSCRIBE_METHODS]: { |
| 140 | methods: [ |
| 141 | {...PREDEFINED_SUBSCRIBE_METHODS.rss, id: randomShortUUID(), editable: false, enabled: true}, |
| 142 | {...PREDEFINED_SUBSCRIBE_METHODS.json, id: randomShortUUID(), editable: false, enabled: true}, |
| 143 | ], |
| 144 | }, |
| 145 | [SETTINGS_CATEGORIES.WEB_GLOBAL_SETTINGS]: { |
| 146 | favicon: { |
| 147 | 'url': '/assets/default/favicon.png', |
| 148 | 'contentType': 'image/png', |
| 149 | }, |
| 150 | 'itemsSortOrder': ITEMS_SORT_ORDERS.NEWEST_FIRST, |
| 151 | 'itemsPerPage': DEFAULT_ITEMS_PER_PAGE, |
| 152 | }, |
| 153 | [SETTINGS_CATEGORIES.ACCESS]: { |
| 154 | currentPolicy: 'public', |
| 155 | }, |
| 156 | [SETTINGS_CATEGORIES.ANALYTICS]: {}, |
| 157 | [SETTINGS_CATEGORIES.CUSTOM_CODE]: {}, |
| 158 | }; |
| 159 | const channel = { |
| 160 | image: '/assets/default/channel-image.png', |
| 161 | link: this.baseUrl, |
| 162 | language: 'en-us', |
| 163 | categories: [], |
| 164 | 'itunes:explicit': false, |
| 165 | 'itunes:type': 'episodic', |
| 166 | 'itunes:complete': false, |
| 167 | 'itunes:block': false, |
| 168 | 'copyright': `©${(new Date()).getFullYear()}`, |
| 169 | }; |
| 170 | |
| 171 | const batchStatements = [ |
| 172 | this.getInsertSql('channels', { |
| 173 | 'id': randomShortUUID(), |
| 174 | 'status': STATUSES.PUBLISHED, |
| 175 | 'is_primary': 1, |
| 176 | 'data': JSON.stringify(channel), |
| 177 | }), |
| 178 | ]; |
| 179 | |
| 180 | Object.keys(settings).forEach((s) => { |
| 181 | batchStatements.push(this.getInsertSql('settings', { |
| 182 | 'category': s, |
| 183 | 'data': JSON.stringify(settings[s]), |
| 184 | })); |
| 185 | }) |
| 186 | |
| 187 | await this.FEED_DB.batch(batchStatements); |
| 188 | |
| 189 | return { |
| 190 | channel, |
| 191 | items: [], |
| 192 | settings, |
| 193 | }; |
| 194 | } |
no test coverage detected