🎨 refactor(election): improve event mapping with filter for valid events in election views and mockup file.

This commit is contained in:
fsociety
2024-12-17 15:31:55 +01:00
parent e8f31c750e
commit 899ff36334
4 changed files with 59 additions and 36 deletions

View File

@@ -108,15 +108,21 @@ $loadNostrEvents = function ($kinds) {
$request = new Request($relaySet, $requestMessage); $request = new Request($relaySet, $requestMessage);
$response = $request->send(); $response = $request->send();
return collect($response[config('services.relay')]) return collect($response[config('services.relay')])
->map(fn($event) ->map(function($event) {
=> [ if(!isset($event->event)) {
'id' => $event->event->id, return false;
'kind' => $event->event->kind, }
'content' => $event->event->content, return [
'pubkey' => $event->event->pubkey, 'id' => $event->event->id,
'tags' => $event->event->tags, 'kind' => $event->event->kind,
'created_at' => $event->event->created_at, 'content' => $event->event->content,
])->toArray(); 'pubkey' => $event->event->pubkey,
'tags' => $event->event->tags,
'created_at' => $event->event->created_at,
];
})
->filter()
->toArray();
}; };
$vote = function ($pubkey, $type, $board = false) { $vote = function ($pubkey, $type, $board = false) {

View File

@@ -158,15 +158,21 @@ $loadNostrEvents = function ($kinds) {
$request = new Request($relaySet, $requestMessage); $request = new Request($relaySet, $requestMessage);
$response = $request->send(); $response = $request->send();
return collect($response[config('services.relay')]) return collect($response[config('services.relay')])
->map(fn($event) ->map(function($event) {
=> [ if(!isset($event->event)) {
'id' => $event->event->id, return false;
'kind' => $event->event->kind, }
'content' => $event->event->content, return [
'pubkey' => $event->event->pubkey, 'id' => $event->event->id,
'tags' => $event->event->tags, 'kind' => $event->event->kind,
'created_at' => $event->event->created_at, 'content' => $event->event->content,
])->toArray(); 'pubkey' => $event->event->pubkey,
'tags' => $event->event->tags,
'created_at' => $event->event->created_at,
];
})
->filter()
->toArray();
}; };
?> ?>

View File

@@ -233,15 +233,20 @@ $loadEvents = function () {
$response = $request->send(); $response = $request->send();
$this->events = collect($response[config('services.relay')]) $this->events = collect($response[config('services.relay')])
->map(fn($event) ->map(function($event) {
=> [ if(!isset($event->event)) {
'id' => $event->event->id, return false;
'kind' => $event->event->kind, }
'content' => $event->event->content, return [
'pubkey' => $event->event->pubkey, 'id' => $event->event->id,
'tags' => $event->event->tags, 'kind' => $event->event->kind,
'created_at' => $event->event->created_at, 'content' => $event->event->content,
]) 'pubkey' => $event->event->pubkey,
'tags' => $event->event->tags,
'created_at' => $event->event->created_at,
];
})
->filter()
->unique('id') ->unique('id')
->toArray(); ->toArray();
}; };

View File

@@ -56,15 +56,21 @@ $loadEvents = function() {
$response = $request->send(); $response = $request->send();
$this->events = collect($response['ws://nostream:8008']) $this->events = collect($response['ws://nostream:8008'])
->map(fn($event) ->map(function($event) {
=> [ if(!isset($event->event)) {
'id' => $event->event->id, return false;
'kind' => $event->event->kind, }
'content' => $event->event->content, return [
'pubkey' => $event->event->pubkey, 'id' => $event->event->id,
'tags' => $event->event->tags, 'kind' => $event->event->kind,
'created_at' => $event->event->created_at, 'content' => $event->event->content,
])->toArray(); 'pubkey' => $event->event->pubkey,
'tags' => $event->event->tags,
'created_at' => $event->event->created_at,
];
})
->filter()
->toArray();
}; };
$save = function () { $save = function () {