File tree Expand file tree Collapse file tree 3 files changed +28
-23
lines changed Expand file tree Collapse file tree 3 files changed +28
-23
lines changed Original file line number Diff line number Diff line change @@ -354,18 +354,20 @@ fetchUserByUsername('t8').then((result) => {
354
354
### Fetching random artwork with owner information
355
355
356
356
** Signature** :
357
- ` fetchRandomArtworkWithUser = async (): Promise<ArtworkOwner> `
357
+ ` fetchRandomArtworkWithUser = async (amount?: number ): Promise<Array< ArtworkOwner> > `
358
358
359
359
** Usage** :
360
360
``` typescript
361
361
import { fetchRandomArtworkWithUser } from ' verto-cache-interface' ;
362
362
363
- fetchRandomArtworkWithUser ().then ((result ) => {
364
- console .log (' Artwork ID ' , result .id );
365
- console .log (' Name ' , result .name );
366
- console .log (' Type ' , result .type );
367
- console .log (' Images ' , result .images );
368
- console .log (' Owner username ' , result .owner .username );
363
+ fetchRandomArtworkWithUser ().then ((arts ) => {
364
+ arts .forEach (result => {
365
+ console .log (' Artwork ID ' , result .id );
366
+ console .log (' Name ' , result .name );
367
+ console .log (' Type ' , result .type );
368
+ console .log (' Images ' , result .images );
369
+ console .log (' Owner username ' , result .owner .username );
370
+ });
369
371
})
370
372
```
371
373
Original file line number Diff line number Diff line change @@ -11,24 +11,26 @@ interface ArtworkOwner {
11
11
owner : CommunityContractPeople
12
12
}
13
13
14
- export const fetchRandomArtworkWithUser = async ( amount ?: number ) : Promise < ArtworkOwner | undefined > => {
15
- const artwork = ( await fetchRandomArtwork ( amount || 1 ) ) ?. entities ?. [ 0 ] ;
14
+ export const fetchRandomArtworkWithUser = async ( amount ?: number ) : Promise < Array < ArtworkOwner > > => {
15
+ const artwork = ( await fetchRandomArtwork ( amount || 4 ) ) ?. entities || [ ] ;
16
+ const result : Array < ArtworkOwner > = [ ] ;
16
17
17
- if ( artwork ) {
18
- const artworkId = artwork . contractId ;
18
+ for ( let artworkElement of artwork ) {
19
+ const artworkId = artworkElement . contractId ;
19
20
const artworkState = ( await fetchContract ( artworkId ) ) ?. state ;
20
21
if ( artworkState ) {
21
- const owner = await fetchUserByUsername ( artwork . lister ) ;
22
+ const owner = await fetchUserByUsername ( artworkElement . lister ) ;
22
23
if ( owner ) {
23
- return {
24
+ result . push ( {
24
25
id : artworkId ,
25
26
name : artworkState . name ,
26
- type : artwork . type ,
27
- images : ( artwork . type === "collection" && artworkState . items . slice ( 0 , 3 ) ) || [ ] ,
27
+ type : artworkElement . type ,
28
+ images : ( artworkElement . type === "collection" && artworkState ? .items ? .slice ( 0 , 3 ) ) || [ ] ,
28
29
owner
29
- }
30
+ } ) ;
30
31
}
31
32
}
32
33
}
33
34
35
+ return result ;
34
36
}
Original file line number Diff line number Diff line change @@ -139,14 +139,15 @@ describe("API test", () => {
139
139
} ) ;
140
140
141
141
test ( "Fetch random artwork with user" , async ( ) => {
142
- const tokenArtwork = await fetchRandomArtworkWithUser ( 1 ) ;
143
- expect ( tokenArtwork ! . id ) . not . toBeUndefined ( ) ;
144
- expect ( tokenArtwork ! . name ) . not . toBeUndefined ( ) ;
145
- if ( tokenArtwork ! . type === "collection" ) {
146
- expect ( tokenArtwork ! . images ) . not . toBeUndefined ( ) ;
147
- expect ( tokenArtwork ! . images . length ) . toBeGreaterThanOrEqual ( 1 ) ;
142
+ const tokenArtwork = await fetchRandomArtworkWithUser ( ) ;
143
+ expect ( tokenArtwork . length ) . toBeGreaterThanOrEqual ( 4 ) ;
144
+ expect ( tokenArtwork [ 0 ] ! . id ) . not . toBeUndefined ( ) ;
145
+ expect ( tokenArtwork [ 0 ] ! . name ) . not . toBeUndefined ( ) ;
146
+ if ( tokenArtwork [ 0 ] ! . type === "collection" ) {
147
+ expect ( tokenArtwork [ 0 ] ! . images ) . not . toBeUndefined ( ) ;
148
+ expect ( tokenArtwork [ 0 ] ! . images . length ) . toBeGreaterThanOrEqual ( 1 ) ;
148
149
}
149
- expect ( tokenArtwork ! . owner . username ) . not . toBeUndefined ( ) ;
150
+ expect ( tokenArtwork [ 0 ] ! . owner . username ) . not . toBeUndefined ( ) ;
150
151
} ) ;
151
152
152
153
test ( "Fetch artwork metadata" , async ( ) => {
You can’t perform that action at this time.
0 commit comments