# social.coves.feed.defs

> Published by [coves.social](https://lexicon.garden/identity/did:web:coves.social)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.feed.defs)
- [Documentation](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.feed.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:coves.social/social.coves.feed.defs/examples)

## Definitions

### `social.coves.feed.defs#postRef`

**Type**: `object`

Minimal reference to a post

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |

### `social.coves.feed.defs#replyRef`

**Type**: `object`

Reference to parent and root posts in a reply thread

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `root` | `ref` → `#postRef` | Yes |  |
| `parent` | `ref` → `#postRef` | Yes |  |

### `social.coves.feed.defs#reasonPin`

**Type**: `object`

Indicates this post is pinned in a community

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `community` | `ref` → `social.coves.community.post.defs#communityRef` | Yes |  |

### `social.coves.feed.defs#feedViewPost`

**Type**: `object`

A post with optional context about why it appears in a feed

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `post` | `ref` → `social.coves.community.post.defs#postView` | Yes |  |
| `reply` | `ref` → `#replyRef` | No |  |
| `reason` | `union` | No | Additional context for why this post is in the feed |

### `social.coves.feed.defs#reasonRepost`

**Type**: `object`

Indicates this post was reposted

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `by` | `ref` → `social.coves.community.post.defs#authorView` | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "social.coves.feed.defs",
  "defs": {
    "postRef": {
      "type": "object",
      "required": [
        "uri",
        "cid"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        }
      },
      "description": "Minimal reference to a post"
    },
    "replyRef": {
      "type": "object",
      "required": [
        "root",
        "parent"
      ],
      "properties": {
        "root": {
          "ref": "#postRef",
          "type": "ref"
        },
        "parent": {
          "ref": "#postRef",
          "type": "ref"
        }
      },
      "description": "Reference to parent and root posts in a reply thread"
    },
    "reasonPin": {
      "type": "object",
      "required": [
        "community"
      ],
      "properties": {
        "community": {
          "ref": "social.coves.community.post.defs#communityRef",
          "type": "ref"
        }
      },
      "description": "Indicates this post is pinned in a community"
    },
    "feedViewPost": {
      "type": "object",
      "required": [
        "post"
      ],
      "properties": {
        "post": {
          "ref": "social.coves.community.post.defs#postView",
          "type": "ref"
        },
        "reply": {
          "ref": "#replyRef",
          "type": "ref"
        },
        "reason": {
          "refs": [
            "#reasonRepost",
            "#reasonPin"
          ],
          "type": "union",
          "description": "Additional context for why this post is in the feed"
        }
      },
      "description": "A post with optional context about why it appears in a feed"
    },
    "reasonRepost": {
      "type": "object",
      "required": [
        "by",
        "indexedAt"
      ],
      "properties": {
        "by": {
          "ref": "social.coves.community.post.defs#authorView",
          "type": "ref"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime"
        }
      },
      "description": "Indicates this post was reposted"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
