Browse Source

Fetch recent drafts

imwald
Nuša Pukšič 3 months ago
parent
commit
2109460253
  1. 7
      src/Controller/ArticleController.php
  2. 4
      src/Service/NostrClient.php

7
src/Controller/ArticleController.php

@ -138,7 +138,7 @@ class ArticleController extends AbstractController
*/ */
#[Route('/article-editor/create', name: 'editor-create')] #[Route('/article-editor/create', name: 'editor-create')]
#[Route('/article-editor/edit/{slug}', name: 'editor-edit-slug')] #[Route('/article-editor/edit/{slug}', name: 'editor-edit-slug')]
public function newArticle(Request $request, EntityManagerInterface $entityManager, $slug = null): Response public function newArticle(Request $request, NostrClient $nostrClient, EntityManagerInterface $entityManager, $slug = null): Response
{ {
if (!$slug) { if (!$slug) {
$article = new Article(); $article = new Article();
@ -178,6 +178,11 @@ class ArticleController extends AbstractController
}); });
$recentArticles = array_values($recentArticles); $recentArticles = array_values($recentArticles);
// get drafts // get drafts
// look for drafts on relays first, grab latest 5 from there
// one week ago
$since = new \DateTime();
$aWeekAgo = $since->sub(new \DateInterval('P1D'))->getTimestamp();
$nostrClient->getLongFormContentForPubkey($currentPubkey, $aWeekAgo, KindsEnum::LONGFORM_DRAFT->value);
$drafts = $entityManager->getRepository(Article::class) $drafts = $entityManager->getRepository(Article::class)
->findBy(['pubkey' => $currentPubkey, 'kind' => KindsEnum::LONGFORM_DRAFT], ['createdAt' => 'DESC'], 5); ->findBy(['pubkey' => $currentPubkey, 'kind' => KindsEnum::LONGFORM_DRAFT], ['createdAt' => 'DESC'], 5);

4
src/Service/NostrClient.php

@ -533,7 +533,7 @@ class NostrClient
/** /**
* @throws \Exception * @throws \Exception
*/ */
public function getLongFormContentForPubkey(string $ident, ?int $since = null): array public function getLongFormContentForPubkey(string $ident, ?int $since = null, ?int $kind = KindsEnum::LONGFORM->value ): array
{ {
// Add user relays to the default set // Add user relays to the default set
$authorRelays = $this->getTopReputableRelaysForAuthor($ident); $authorRelays = $this->getTopReputableRelaysForAuthor($ident);
@ -553,7 +553,7 @@ class NostrClient
} }
$request = $this->createNostrRequest( $request = $this->createNostrRequest(
kinds: [KindsEnum::LONGFORM], kinds: [$kind],
filters: $filters, filters: $filters,
relaySet: $relaySet relaySet: $relaySet
); );

Loading…
Cancel
Save