This assumes you have created a Club. You'll need your property token address for this.
Go to /preview/config.ts
, and enter your property address.
If you are using your own Redis instance for local development, you need to create indexes. First, add your REDIS details to the .env file.
Next, run yarn run preview
to start the server.
Finally, in a separate terminal window, run the following:
curl -X POST -H "Content-Type: application/json" http://localhost:3000/api/devprotocol:clubs:plugin:posts/indexing/documents:redis
{
key: 'feeds',
value: [
{
id: 'default',
database: {
key: 'DATABASE_KEY', // i.g., posts::694666bb-b2ec-542b-a5d6-65b470e5c494
}
},
{
id: 'my-hobby',
database: {
key: 'DATABASE_KEY', // i.g., posts::694666bb-b2ec-542b-a5d6-65b470e5c494
}
},
{
id: 'travel',
database: {
key: 'INDEX_SCOPE', // i.g., scope::694666bb-b2ec-542b-a5d6-65b470e5c494
}
},
]
}
type Posts = {
readonly id: string
readonly title: string
readonly content: string
readonly options: readonly {
readonly key: string
readonly value: ClubsGeneralUnit
}[]
readonly created_by: string
readonly created_at: Date
readonly updated_at: Date
readonly comments: readonly {
readonly content: string
readonly options: readonly {
readonly key: string
readonly value: ClubsGeneralUnit
}[]
readonly id: string
readonly created_by: string
readonly created_at: Date
readonly updated_at: Date
}[]
readonly reactions: readonly {
[emoji: string]: string[] // for example {'🦜': ['0x0', '0x2']}
}
}
Option keys can use any string
, but for creating private options, a reserved naming convention "starts with #
" works. If the option key has a leading "#", the plugin's server-side process returns those values to only authenticated users. This is useful for posting token-gated posts.
{
...
options: [
{
/**
* Unauthenticated users cannot access these values 🤫
*/
key: "#images",
value: [
'https://example.image/special1.png',
'https://example.image/special2.png',
'https://example.image/special3.png'
]
}
]
}