patreon-dl 3.8.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -209
- package/dist/browse/db/CampaignDBMixin.d.ts +3 -3
- package/dist/browse/db/ContentDBMixin.d.ts +13 -13
- package/dist/browse/db/ContentDBMixin.js +1 -1
- package/dist/browse/db/ContentDBMixin.js.map +1 -1
- package/dist/browse/db/MediaDBMixin.js +1 -1
- package/dist/browse/db/MediaDBMixin.js.map +1 -1
- package/dist/browse/db/index.d.ts +16 -16
- package/dist/browse/server/handler/CampaignAPIRequesthandler.js +5 -0
- package/dist/browse/server/handler/CampaignAPIRequesthandler.js.map +1 -1
- package/dist/browse/web/assets/index-CtjPL2rI.js +218 -0
- package/dist/browse/web/index.html +1 -1
- package/dist/cli/CLIOptions.js +6 -2
- package/dist/cli/CLIOptions.js.map +1 -1
- package/dist/cli/ConfigFileParser.js +1 -1
- package/dist/cli/ConfigFileParser.js.map +1 -1
- package/dist/downloaders/Downloader.js +1 -1
- package/dist/downloaders/Downloader.js.map +1 -1
- package/dist/downloaders/PostDownloader.js +5 -5
- package/dist/downloaders/PostDownloader.js.map +1 -1
- package/dist/downloaders/PostsFetcher.js +3 -3
- package/dist/downloaders/PostsFetcher.js.map +1 -1
- package/dist/downloaders/task/DownloadTask.js +11 -1
- package/dist/downloaders/task/DownloadTask.js.map +1 -1
- package/dist/entities/MediaItem.d.ts +1 -0
- package/dist/entities/MediaItem.js.map +1 -1
- package/dist/parsers/PageParser.js +4 -1
- package/dist/parsers/PageParser.js.map +1 -1
- package/dist/parsers/PostParser.d.ts +4 -1
- package/dist/parsers/PostParser.js +82 -5
- package/dist/parsers/PostParser.js.map +1 -1
- package/dist/utils/Fetcher.d.ts +1 -0
- package/dist/utils/Fetcher.js +5 -0
- package/dist/utils/Fetcher.js.map +1 -1
- package/dist/utils/FilenameFormatHelper.d.ts +1 -1
- package/dist/utils/FilenameFormatHelper.js +4 -1
- package/dist/utils/FilenameFormatHelper.js.map +1 -1
- package/dist/utils/Formatter.d.ts +1 -1
- package/dist/utils/Formatter.js +1 -1
- package/dist/utils/Formatter.js.map +1 -1
- package/dist/utils/logging/FileLogger.js +1 -0
- package/dist/utils/logging/FileLogger.js.map +1 -1
- package/package.json +1 -1
- package/dist/browse/web/assets/index-CtZbx-Du.js +0 -218
package/README.md
CHANGED
|
@@ -311,215 +311,15 @@ Note the URL shown in the output. Open this URL in a web browser to begin viewin
|
|
|
311
311
|
|
|
312
312
|
## Changelog
|
|
313
313
|
|
|
314
|
-
3.
|
|
315
|
-
-
|
|
316
|
-
- Fix
|
|
317
|
-
-
|
|
318
|
-
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
v3.7.0
|
|
325
|
-
- Vimeo download script: fetch full player URL ([#118](https://github.com/patrickkfkan/patreon-dl/issues/118))
|
|
326
|
-
- Fix downloaded posts missing content / teaser ([@Fabelwesen](https://github.com/Fabelwesen) - [#119](https://github.com/patrickkfkan/patreon-dl/issues/119))
|
|
327
|
-
- Add "max content width" option to browse settings ([#122](https://github.com/patrickkfkan/patreon-dl/issues/122))
|
|
328
|
-
- Map inline post links to local server routes (contrib by [@Fabelwesen](https://github.com/Fabelwesen) - [#121](https://github.com/patrickkfkan/patreon-dl/issues/121))
|
|
329
|
-
- Support additional fields in `media.filename.format` ([patreon-dl-gui#51](https://github.com/patrickkfkan/patreon-dl-gui/issues/51))
|
|
330
|
-
- YT downloader: fix error in n/sig decipher function extraction
|
|
331
|
-
|
|
332
|
-
v3.6.1
|
|
333
|
-
- Fix Embedly download script error on retrying with alternative URL.
|
|
334
|
-
|
|
335
|
-
v3.6.0
|
|
336
|
-
- Browse: affix nav links (previous / next post) to viewport bottom if post content overflows ([patreon-dl-gui#41](https://github.com/patrickkfkan/patreon-dl-gui/issues/41))
|
|
337
|
-
- Fix error when Deno path contains spaces ([patreon-dl-gui#42](https://github.com/patrickkfkan/patreon-dl-gui/issues/42))
|
|
338
|
-
- Add SproutVideo download script ([patreon-dl-gui#43](https://github.com/patrickkfkan/patreon-dl-gui/issues/43))
|
|
339
|
-
- Fix YouTube download returning "auth required" error
|
|
340
|
-
|
|
341
|
-
v3.5.0
|
|
342
|
-
- Add support for downloading from "shop" URLs (e.g. `https://www.patreon.com/<creator>/shop`). This will download all products from a creator's shop.
|
|
343
|
-
- Add `productsPublished` / `products.published.after` / `products.published.before` option to set publish date criteria of products included in download.
|
|
344
|
-
- Since `stopOn` / `stop.on` option now also applies to products, the `postPreviouslyDownloaded` and `postPublishDateOutOfRange` values have been deprecated in favor of `previouslyDownloaded` and `publishDateOutOfRange`, respectively.
|
|
345
|
-
- Add Collections support. Collection info is now saved when downloading posts. This means you can browse posts by collection. ([#107](https://github.com/patrickkfkan/patreon-dl/issues/107))
|
|
346
|
-
- (Browse) Add search functionality ([#106](https://github.com/patrickkfkan/patreon-dl/issues/106))
|
|
347
|
-
- Add Tags support. Tag info is now saved when downloading posts. This means you can filter posts by tag.
|
|
348
|
-
- Add `include.mediaThumbnails` option
|
|
349
|
-
|
|
350
|
-
v3.4.0
|
|
351
|
-
- Fix "no posts found" on "cw" pages ([patreon-dl-gui#30](https://github.com/patrickkfkan/patreon-dl-gui/issues/30))
|
|
352
|
-
- Fix YouTube streams returning 403 error ([patreon-dl-gui#31](https://github.com/patrickkfkan/patreon-dl-gui/issues/31))
|
|
353
|
-
- Add `pathToDeno` / `--deno` / `path.to.deno` option (used by built-in YouTube downloader)
|
|
354
|
-
- Merged PRs:
|
|
355
|
-
- Allow directory to be a symlink ([@piperswe](https://github.com/piperswe) - [#101](https://github.com/patrickkfkan/patreon-dl/pull/101))
|
|
356
|
-
- Add Github actions ([@piperswe](https://github.com/piperswe) - [#102](https://github.com/patrickkfkan/patreon-dl/pull/102))
|
|
357
|
-
- Add `maxVideoResolution` / `max.video.resolution` option to limit video downloads to a maximum resolution (see [example.conf](./example.conf)) ([@eisenbruch](https://github.com/eisenbruch) - [#105](https://github.com/patrickkfkan/patreon-dl/pull/105)) - extended to include site-hosted videos
|
|
358
|
-
|
|
359
|
-
v3.3.1
|
|
360
|
-
- Fix bugs affecting library usage:
|
|
361
|
-
- `DB.getInstance()` returning same instance despite different DB path
|
|
362
|
-
- `API.getInstance()` returning same instance despite different DB instance
|
|
363
|
-
- DB not closed when downloader ends or web server stops
|
|
364
|
-
|
|
365
|
-
v3.3.0
|
|
366
|
-
- Fix:
|
|
367
|
-
- YouTube stream fetching error ([patreon-dl-gui#28](https://github.com/patrickkfkan/patreon-dl-gui/issues/28))
|
|
368
|
-
- Unsupported option error with FFmpeg v7.1.0 ([#97](https://github.com/patrickkfkan/patreon-dl/issues/97))
|
|
369
|
-
- Browse:
|
|
370
|
-
- Add next / previous links to post page ([#93](https://github.com/patrickkfkan/patreon-dl/issues/93))
|
|
371
|
-
- Fix media filter error when tier selected but not "Post"
|
|
372
|
-
- Process linked attachments in body of posts ([patreon-dl-gui#27](https://github.com/patrickkfkan/patreon-dl-gui/issues/27))
|
|
373
|
-
- Some DB optimizations (contrib by @[piperswe](https://github.com/piperswe) - PR #[95](https://github.com/patrickkfkan/patreon-dl/pull/95))
|
|
374
|
-
|
|
375
|
-
v3.2.1
|
|
376
|
-
- Fix log file path sometimes not sanitized properly on Windows
|
|
377
|
-
- API: add support for passing request options to `getCampaign()`
|
|
378
|
-
- CLI: add support for using request options from conf file when running with `--list-tiers` / `--list-tiers-uid`
|
|
379
|
-
|
|
380
|
-
v3.2.0
|
|
381
|
-
- Fix:
|
|
382
|
-
- "Initial data not found" error in `patreon.com/cw` pages ([#85](https://github.com/patrickkfkan/patreon-dl/issues/85)) and custom-domain pages
|
|
383
|
-
- FFmpeg v7.x compatibility issues ([#86](https://github.com/patrickkfkan/patreon-dl/issues/86))
|
|
384
|
-
- Dry-run mode executing ops that should have been skipped
|
|
385
|
-
- Wrong log file path returned in some cases
|
|
386
|
-
- Various YouTube downloading issues
|
|
387
|
-
- Add:
|
|
388
|
-
- Support passing options to `yt-dlp` in Vimeo download script
|
|
389
|
-
- Support case-sensitivity flag in `config.include.mediaByFilename` options
|
|
390
|
-
- Browse:
|
|
391
|
-
- Show inline images within post body
|
|
392
|
-
- Show YouTube embed HTML content if video not downloaded ([#87](https://github.com/patrickkfkan/patreon-dl/issues/87))
|
|
393
|
-
- Display "show more" toggle for long post bodies
|
|
394
|
-
- API:
|
|
395
|
-
- `Downloader.getCampaign(params)`: enable lookup by `params.campaignId`
|
|
396
|
-
|
|
397
|
-
v3.1.0
|
|
398
|
-
- Defer database initialization until downloader starts
|
|
399
|
-
- UI: fix post column width possibly exceeding screen width
|
|
400
|
-
- Add `request.userAgent` option
|
|
401
|
-
|
|
402
|
-
v3.0.0
|
|
403
|
-
- Add support for browsing downloaded content through integrated web server. Note: this feature will not work for downloads made with previous versions of `patreon-dl`.
|
|
404
|
-
|
|
405
|
-
v2.4.3
|
|
406
|
-
- Fix YouTube embeds failing to download due to YT changes
|
|
407
|
-
- Add fallback download logic to Vimeo download script
|
|
408
|
-
- Fix error when downloading video ([#75](https://github.com/patrickkfkan/patreon-dl/issues/75))
|
|
409
|
-
|
|
410
|
-
v2.4.2
|
|
411
|
-
- Fix YouTube embeds failing to download due to YT changes
|
|
412
|
-
- Fix slow YouTube downloads ([#66](https://github.com/patrickkfkan/patreon-dl/issues/66))
|
|
413
|
-
- Other minor fixes
|
|
414
|
-
|
|
415
|
-
v2.4.1
|
|
416
|
-
- Fix Vimeo download script obtaining and downloading from player URL in embed HTML ([#65](https://github.com/patrickkfkan/patreon-dl/issues/65))
|
|
417
|
-
- Add `post-url` and `cookie` to available external downloader exec params
|
|
418
|
-
- API changes (non-breaking):
|
|
419
|
-
- Expose `cookie` in `DownloaderConfig`
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
v2.4.0
|
|
423
|
-
- Support additional URL format: `https://www.patreon.com/cw/<creator>/posts`
|
|
424
|
-
- Add `stopOn` option ([#63](https://github.com/patrickkfkan/patreon-dl/issues/63))
|
|
425
|
-
- Add `proxy` option ([#62](https://github.com/patrickkfkan/patreon-dl/issues/62))
|
|
426
|
-
- Fix Vimeo download script
|
|
427
|
-
- Fix YouTube embeds failing to download due to YT changes
|
|
428
|
-
- API changes (non-breaking):
|
|
429
|
-
- Expose `URLHelper`, `FetcherError`
|
|
430
|
-
- Add `getDefaultDownloaderOptions()`
|
|
431
|
-
- `ConsoleLogger` / `FileLogger`: add `getDefaultConfig()`
|
|
432
|
-
- Required Node version bumped to v20.18.1 or higher
|
|
433
|
-
|
|
434
|
-
v2.3.0
|
|
435
|
-
- Add `podcast` type to `include.postsWithMediaType` option
|
|
436
|
-
- Add `include.comments` option
|
|
437
|
-
- Fix videos not downloaded in podcast-type posts ([#56](https://github.com/patrickkfkan/patreon-dl/issues/56))
|
|
438
|
-
|
|
439
|
-
v2.2.0
|
|
440
|
-
- Widen scope of external downloaders to any type of embed (previously only works for video embeds) ([#51](https://github.com/patrickkfkan/patreon-dl/issues/51))
|
|
441
|
-
- YouTube downloading now covers embedded YT links
|
|
442
|
-
- Fix attachment filenames sometimes have wrong extension
|
|
443
|
-
|
|
444
|
-
v2.1.1
|
|
445
|
-
- Fix multiple abort signal listeners triggering warning ([#48](https://github.com/patrickkfkan/patreon-dl/issues/48))
|
|
446
|
-
- Fix YouTube embeds failing to download due to YT changes ([#50](https://github.com/patrickkfkan/patreon-dl/issues/50))
|
|
447
|
-
- Fix inline images of posts sometimes missing from downloads
|
|
448
|
-
- Fix status cache: target marked as downloaded without errors despite having errors at task creation stage
|
|
449
|
-
|
|
450
|
-
v2.1.0
|
|
451
|
-
- Fix attachment downloads following API changes ([#40](https://github.com/patrickkfkan/patreon-dl/issues/40))
|
|
452
|
-
- Add support for URL format: `https://www.patreon.com/c/<creator>/posts`
|
|
453
|
-
- Check and resolve conflicting destination paths ([#38](https://github.com/patrickkfkan/patreon-dl/issues/38))
|
|
454
|
-
- Parse inline content media ([#40](https://github.com/patrickkfkan/patreon-dl/issues/40))
|
|
455
|
-
|
|
456
|
-
v2.0.0
|
|
457
|
-
- Replace [node-fetch](https://github.com/node-fetch/node-fetch) with Fetch API; required Node.js version bumped to v18 or higher.
|
|
458
|
-
- Update dependencies and libraries
|
|
459
|
-
- New `include` options:
|
|
460
|
-
- `include.postsPublished` ([#29](https://github.com/patrickkfkan/patreon-dl/issues/29))
|
|
461
|
-
- `include.mediaByFilename` ([#33](https://github.com/patrickkfkan/patreon-dl/issues/33))
|
|
462
|
-
- Bug fixes:
|
|
463
|
-
- 403 error when downloading YouTube embeds
|
|
464
|
-
- Only first of multiple targets downloaded ([#26](https://github.com/patrickkfkan/patreon-dl/issues/26))
|
|
465
|
-
|
|
466
|
-
v1.7.0
|
|
467
|
-
- Download next batch of posts before expiry of 'next' URL (fixes [#22](https://github.com/patrickkfkan/patreon-dl/issues/22))
|
|
468
|
-
- Add `--dry-run` / `dryRun` option
|
|
469
|
-
- Support URL format `https://www.patreon.com/posts/<post_id>`
|
|
470
|
-
|
|
471
|
-
v1.6.2
|
|
472
|
-
- Fix 'campaign ID not found' error due to Patreon changes
|
|
473
|
-
|
|
474
|
-
v1.6.1
|
|
475
|
-
- Fix file extension sometimes missing ([#20](https://github.com/patrickkfkan/patreon-dl/issues/20))
|
|
476
|
-
|
|
477
|
-
v1.6.0
|
|
478
|
-
- Add external downloader support for embedded videos
|
|
479
|
-
|
|
480
|
-
v1.5.0
|
|
481
|
-
- Add support for fetching by user ID instead of creator vanity ([#18](https://github.com/patrickkfkan/patreon-dl/issues/18)):
|
|
482
|
-
- Support URL format `https://www.patreon.com/user/posts?u=<user_id>`
|
|
483
|
-
- Overload `PatreonDownloader.getCampaign()` to take `userId` arg
|
|
484
|
-
- CLI: add `--list-tiers-uid`
|
|
485
|
-
|
|
486
|
-
v1.4.0
|
|
487
|
-
- Add ability to filter posts by tier ([#8](https://github.com/patrickkfkan/patreon-dl/issues/8))
|
|
488
|
-
- CLI:
|
|
489
|
-
- Add `--list-tiers`
|
|
490
|
-
- Add support for target-specific `include` options
|
|
491
|
-
- Print summary at the end for multiple target URLs ([#13](https://github.com/patrickkfkan/patreon-dl/issues/13))
|
|
492
|
-
|
|
493
|
-
v1.3.0
|
|
494
|
-
- Add support for multiple target URLs
|
|
495
|
-
- Add `content.publishDate` field to the content dir name format ([PR #12](https://github.com/patrickkfkan/patreon-dl/pull/12) by [kazuoteramoto](https://github.com/kazuoteramoto))
|
|
496
|
-
- Bug fixes
|
|
497
|
-
|
|
498
|
-
v1.2.2
|
|
499
|
-
- Fix wrong file extension for some content types
|
|
500
|
-
- Fix YouTube API requests throwing errors due to YT changes
|
|
501
|
-
|
|
502
|
-
v1.2.1
|
|
503
|
-
- Bug fixes
|
|
504
|
-
|
|
505
|
-
v1.2.0
|
|
506
|
-
- Add support for granular control over:
|
|
507
|
-
- posts to include in download based on type of media contained
|
|
508
|
-
- the type of media to download
|
|
509
|
-
- Bug fixes
|
|
510
|
-
|
|
511
|
-
v1.1.1
|
|
512
|
-
- Fix initial data parsing following Patreon changes
|
|
513
|
-
|
|
514
|
-
v1.1.0
|
|
515
|
-
- Add support for downloading embedded YouTube videos
|
|
516
|
-
|
|
517
|
-
v1.0.1
|
|
518
|
-
- Fix missing types when importing as library
|
|
519
|
-
- Fix link in this README
|
|
520
|
-
|
|
521
|
-
v1.0.0
|
|
522
|
-
- Initial release
|
|
314
|
+
3.9.0
|
|
315
|
+
- Fix "initial data not found" error for certain targets ([#134](https://github.com/patrickkfkan/patreon-dl/issues/134)).
|
|
316
|
+
- Fix order of images in post content ([patreon-dl-gui#60](https://github.com/patrickkfkan/patreon-dl-gui/issues/60)).
|
|
317
|
+
- Support `media.index` field in `media.filename.format`.
|
|
318
|
+
- Handle conditional separators properly in filename format patterns.
|
|
319
|
+
- Browse: use slugified links.
|
|
320
|
+
- Minor bug fixes.
|
|
321
|
+
|
|
322
|
+
See the [full changelog](./CHANGELOG.md) for older versions.
|
|
523
323
|
|
|
524
324
|
---
|
|
525
325
|
This project is licensed under the MIT License and includes third-party software—see the [NOTICE](./NOTICE) file for attributions.
|
|
@@ -7,10 +7,10 @@ export declare function CampaignDBMixin<TBase extends UserDBConstructor>(Base: T
|
|
|
7
7
|
new (...args: any[]): {
|
|
8
8
|
saveCampaign(campaign: Campaign | null, downloadDate: Date, overwriteIfExists?: boolean): void;
|
|
9
9
|
getCampaign(params: GetCampaignParams): Campaign | null;
|
|
10
|
-
"__#
|
|
11
|
-
"__#
|
|
10
|
+
"__#170@#saveRewards"(campaign: Campaign): void;
|
|
11
|
+
"__#170@#doSaveReward"(campaign: Campaign, reward: Reward): void;
|
|
12
12
|
getCampaignList(params: GetCampaignListParams): CampaignList;
|
|
13
|
-
"__#
|
|
13
|
+
"__#170@#getCampaignWithCounts"(params: GetCampaignParams): CampaignWithCounts | null;
|
|
14
14
|
checkCampaignExists(id: string): boolean;
|
|
15
15
|
saveUser(user: import("../../index.js").User | null): void;
|
|
16
16
|
getUserByID(id: string): import("../../index.js").User | null;
|
|
@@ -5,13 +5,13 @@ import { type CampaignDBConstructor } from './CampaignDBMixin.js';
|
|
|
5
5
|
export declare function ContentDBMixin<TBase extends CampaignDBConstructor>(Base: TBase): {
|
|
6
6
|
new (...args: any[]): {
|
|
7
7
|
saveContent(content: Post | Product): void;
|
|
8
|
-
"__#
|
|
9
|
-
"__#
|
|
10
|
-
"__#
|
|
11
|
-
"__#
|
|
12
|
-
"__#
|
|
13
|
-
"__#
|
|
14
|
-
"__#
|
|
8
|
+
"__#171@#saveContentMedia"(content: Post | Product): void;
|
|
9
|
+
"__#171@#savepostMedia"(post: Post): void;
|
|
10
|
+
"__#171@#saveProductMedia"(product: Product): void;
|
|
11
|
+
"__#171@#doSaveContentMedia"(content: Post | Product, media: Downloadable, mediaIndex: number, isPreview: boolean): void;
|
|
12
|
+
"__#171@#publishedAtToTime"(publishedAt: string | null): number | null;
|
|
13
|
+
"__#171@#savePostTiers"(post: Post): void;
|
|
14
|
+
"__#171@#doSaveTier"(post: Post, tier: Tier): void;
|
|
15
15
|
savePostComments(post: Post, comments: Comment[]): void;
|
|
16
16
|
checkPostCommentsExist(post: Post): boolean;
|
|
17
17
|
getContent(id: string, contentType: "post"): PostWithComments | null;
|
|
@@ -26,7 +26,7 @@ export declare function ContentDBMixin<TBase extends CampaignDBConstructor>(Base
|
|
|
26
26
|
* @param row Must have `details`, `comment_count` and `comments`
|
|
27
27
|
* @returns
|
|
28
28
|
*/
|
|
29
|
-
"__#
|
|
29
|
+
"__#171@#parseContentRowJoinedComments"(row: any): any;
|
|
30
30
|
getContentCountByDate(contentType: ContentType, groupBy: "year" | "month", filter?: {
|
|
31
31
|
campaign?: Campaign | string | null;
|
|
32
32
|
date?: Date | null;
|
|
@@ -50,19 +50,19 @@ export declare function ContentDBMixin<TBase extends CampaignDBConstructor>(Base
|
|
|
50
50
|
collection: Collection;
|
|
51
51
|
campaignId: string;
|
|
52
52
|
} | null;
|
|
53
|
-
"__#
|
|
53
|
+
"__#171@#savePostCollection"(post: Post): void;
|
|
54
54
|
getCollectionList(params: GetCollectionListParams): CollectionList;
|
|
55
55
|
checkCollectionExists(id: string): boolean;
|
|
56
56
|
checkPostTagExists(id: string, campaign: Campaign | null): boolean;
|
|
57
57
|
getPostComments(post: Post | string): Comment[] | null;
|
|
58
|
-
"__#
|
|
58
|
+
"__#171@#savePostTags"(post: Post): void;
|
|
59
59
|
getPostTagList(params: GetPostTagListParams): PostTagList;
|
|
60
60
|
saveCampaign(campaign: Campaign | null, downloadDate: Date, overwriteIfExists?: boolean): void;
|
|
61
61
|
getCampaign(params: import("../types/Campaign").GetCampaignParams): Campaign | null;
|
|
62
|
-
"__#
|
|
63
|
-
"__#
|
|
62
|
+
"__#170@#saveRewards"(campaign: Campaign): void;
|
|
63
|
+
"__#170@#doSaveReward"(campaign: Campaign, reward: import("../../entities").Reward): void;
|
|
64
64
|
getCampaignList(params: import("../types/Campaign").GetCampaignListParams): import("../types/Campaign").CampaignList;
|
|
65
|
-
"__#
|
|
65
|
+
"__#170@#getCampaignWithCounts"(params: import("../types/Campaign").GetCampaignParams): import("../types/Campaign").CampaignWithCounts | null;
|
|
66
66
|
checkCampaignExists(id: string): boolean;
|
|
67
67
|
saveUser(user: import("../../entities").User | null): void;
|
|
68
68
|
getUserByID(id: string): import("../../entities").User | null;
|
|
@@ -448,7 +448,7 @@ export function ContentDBMixin(Base) {
|
|
|
448
448
|
const value = groupBy === 'year' ?
|
|
449
449
|
String(date.getUTCFullYear())
|
|
450
450
|
: getYearMonthString(date);
|
|
451
|
-
whereValues.push(
|
|
451
|
+
whereValues.push(value);
|
|
452
452
|
}
|
|
453
453
|
const whereClause = `WHERE ${whereClauseParts.join(' AND ')}`;
|
|
454
454
|
const strftimeFormat = groupBy === 'year' ? '%Y' : '%Y-%m';
|