Config
interface PonyConfig {queryConfig?: {get: {byId: string;all: string;meta: string;};post: {create: string;update: string;delete: string;};input: {filter: string;filterFields: string;create: string;update: string;};internalFields: {created: string;updated: string;views: string;};};schema?: string;input?: string;database?: string;port?: string | number;}
Query Config
the queryConfig
allows you to define names for your query types and inputs.
The word name
is used in different variations as a placeholder.
for "users":
hello [name]!
=> hello user!hello [Name]!
=> hello User!hello [names]!
=> hello users!hello [Names]!
=> hello Users!
If you expect getUserById
for the get.byId
method you can write: get[Name]ById
.
Internal Fields
Phony writes two properties (updated, created) which can be defined via the
internalFields
property of the queryConfig
object.
To change the names, simply define them in your config.
{created: "createdAt",updated: "lastUpdate"}
You can also add fields from your data that should not appear in the update input. This can be helpful if you want to prevent certain fields from being updated.
{views: "views",upvotes: "likes",downvotes: "dislikes",secret: "neverAllowChangingMe"}
Input
This file is the input of your database.
Database
This file is the output of your database.
Schema
This file is the output of the schema when exported.
Port
The port on which graphql should run.