Artion GraphQL API
  • Getting Started
  • Installation
  • Quickstart
  • GraphQL Schema Basics
  • GraphQL Schema
    • Schema Definition
    • Auxiliary Structures
    • Activity
    • Auction Trade
    • Banned NFT
    • Collection
    • Event
    • Follow
    • Listing Trade
    • Notification Settings
    • Offer Trade
    • Ownership
    • Random Trade
    • Shipping on Redeem
    • Token
    • Like
    • User
Powered by GitBook
On this page
  1. GraphQL Schema

User

Most of the browsing and exploration on Artion can be done anonymously, but if want to participate and manage your assets on Artion, you need to register your wallet. Authentication is done by signing a server issued challenge with your wallet private key. This way you not only authenticate your access, but you also provide the API server a proof of the wallet ownership.

# User represents user account/profile.
type User {
    # Address of the user wallet
    address: Address!

    # Name/Nickname
    username: String

    # User bio (description)
    bio: String

    # User email (null when not set or not visible)
    email: String

    # IPFS hash of the user avatar image
    avatar: String

    # URL of the user avatar on the resizing proxy
    avatarThumb: String

    # IPFS hash of the user banner image
    banner: String

    # List owned tokens and their amount
    ownerships(collection: Address, first: Int, after: Cursor, last: Int, before: Cursor): OwnershipConnection!

    # List user favourite tokens
    tokenLikes(first: Int, after: Cursor, last: Int, before: Cursor): TokenLikeConnection!

    # List tokens created by the user
    createdTokens(first: Int, after: Cursor, last: Int, before: Cursor): TokenConnection!

    # List followers of the user
    followers(first: Int, after: Cursor, last: Int, before: Cursor): FollowConnection!

    # List users who are following the user
    following(first: Int, after: Cursor, last: Int, before: Cursor): FollowConnection!

    # Past activities on tokens (trades, listing created, auction bid, etc.)
    activities(filter: ActivityFilter, first: Int, after: Cursor, last: Int, before: Cursor): ActivityConnection!

    # Current offers which can be accepted by the user
    offers(first: Int, after: Cursor, last: Int, before: Cursor): OfferConnection!

    # Current offers proposed by the user
    myOffers(first: Int, after: Cursor, last: Int, before: Cursor): OfferConnection!
}

type UserEdge {
    cursor: Cursor!
    node: User!
}

type UserConnection {
    # Edges contains provided edges of the sequential list.
    edges: [UserEdge!]!

    # TotalCount is the total amount of items in the list.
    totalCount: BigInt!

    # PageInfo is an information about the current page of the list.
    pageInfo: PageInfo!
}
PreviousLike

Last updated 3 years ago