LogoLogo
Studio
4.4
4.4
  • Harper Docs
  • Getting Started
  • Developers
    • Applications
      • Caching
      • Defining Schemas
      • Defining Roles
      • Debugging Applications
      • Define Fastify Routes
      • Web Applications
      • Example Projects
    • Components
      • Managing
      • Reference
      • Built-In Components
    • REST
    • Operations API
      • Quick Start Examples
      • Databases and Tables
      • NoSQL Operations
      • Bulk Operations
      • Users and Roles
      • Clustering
        • Clustering with NATS
      • Custom Functions
      • Components
      • Registration
      • Jobs
      • Logs
      • Utilities
      • Token Authentication
      • SQL Operations
      • Advanced JSON SQL Examples
    • Real-Time
    • Replication/Clustering
      • Sharding
      • Legacy NATS Clustering
        • Requirements and Definitions
        • Creating A Cluster User
        • Naming A Node
        • Enabling Clustering
        • Establishing Routes
        • Subscription Overview
        • Managing Subscriptions
        • Things Worth Knowing
        • Certificate Management
    • Security
      • JWT Authentication
      • Basic Authentication
      • mTLS Authentication
      • Configuration
      • Users & Roles
      • Certificate Management
    • SQL Guide
      • SQL Features Matrix
      • SQL Date Functions
      • SQL Reserved Word
      • SQL Functions
      • SQL JSON Search
      • SQL Geospatial Functions
    • Miscellaneous
      • Google Data Studio
      • SDKs
      • Query Optimization
  • Administration
    • Best Practices and Recommendations
    • Logging
      • Standard Logging
      • Audit Logging
      • Transaction Logging
    • Clone Node
    • Compact
    • Jobs
    • Harper Studio
      • Create an Account
      • Log In & Password Reset
      • Organizations
      • Instances
      • Manage Databases / Browse Data
      • Manage Clustering
      • Manage Instance Users
      • Manage Instance Roles
      • Manage Applications
      • Instance Metrics
      • Instance Configuration
      • Enable Mixed Content
  • Deployments
    • Configuration File
    • Harper CLI
    • Install Harper
      • On Linux
    • Upgrade a Harper Instance
    • Harper Cloud
      • IOPS Impact on Performance
      • Instance Size Hardware Specs
      • Alarms
      • Verizon 5G Wavelength
  • Technical Details
    • Reference
      • Analytics
      • Architecture
      • Content Types
      • Data Types
      • Dynamic Schema
      • GraphQL
      • Harper Headers
      • Harper Limits
      • Globals
      • Resource Class
      • Transactions
      • Storage Algorithm
    • Release Notes
      • Harper Tucker (Version 4)
        • 4.4.26
        • 4.4.25
        • 4.4.24
        • 4.4.23
        • 4.4.22
        • 4.4.21
        • 4.4.20
        • 4.4.19
        • 4.4.18
        • 4.4.17
        • 4.4.16
        • 4.4.15
        • 4.4.14
        • 4.4.13
        • 4.4.12
        • 4.4.11
        • 4.4.10
        • 4.4.9
        • 4.4.8
        • 4.4.7
        • 4.4.6
        • 4.4.5
        • 4.4.4
        • 4.4.3
        • 4.4.2
        • 4.4.1
        • 4.4.0
        • 4.3.38
        • 4.3.37
        • 4.3.36
        • 4.3.35
        • 4.3.34
        • 4.3.33
        • 4.3.32
        • 4.3.31
        • 4.3.30
        • 4.3.29
        • 4.3.28
        • 4.3.27
        • 4.3.26
        • 4.3.25
        • 4.3.24
        • 4.3.23
        • 4.3.22
        • 4.3.21
        • 4.3.20
        • 4.3.19
        • 4.3.18
        • 4.3.17
        • 4.3.16
        • 4.3.15
        • 4.3.14
        • 4.3.13
        • 4.3.12
        • 4.3.11
        • 4.3.10
        • 4.3.9
        • 4.3.8
        • 4.3.7
        • 4.3.6
        • 4.3.5
        • 4.3.4
        • 4.3.3
        • 4.3.2
        • 4.3.1
        • 4.3.0
        • 4.2.8
        • 4.2.7
        • 4.2.6
        • 4.2.5
        • 4.2.4
        • 4.2.3
        • 4.2.2
        • 4.2.1
        • 4.2.0
        • 4.1.2
        • 4.1.1
        • 4.1.0
        • 4.0.7
        • 4.0.6
        • 4.0.5
        • 4.0.4
        • 4.0.3
        • 4.0.2
        • 4.0.1
        • 4.0.0
        • Tucker
      • HarperDB Monkey (Version 3)
        • 3.3.0
        • 3.2.1
        • 3.2.0
        • 3.1.5
        • 3.1.4
        • 3.1.3
        • 3.1.2
        • 3.1.1
        • 3.1.0
        • 3.0.0
      • HarperDB Penny (Version 2)
        • 2.3.1
        • 2.3.0
        • 2.2.3
        • 2.2.2
        • 2.2.0
        • 2.1.1
      • HarperDB Alby (Version 1)
        • 1.3.1
        • 1.3.0
        • 1.2.0
        • 1.1.0
  • More Help
    • Support
    • Slack
    • Contact Us
Powered by GitBook
On this page
  • fastifyRoutes
  • graphql
  • graphqlSchema
  • jsResource
  • rest
  • roles
  • static
  1. Developers
  2. Components

Built-In Components

PreviousReferenceNextREST

Last updated 2 months ago

Harper provides extended features using built-in components. They do not need to be installed with a package manager, and simply must be specified in a config to run. These are used throughout many Harper docs, guides, and examples. Unlike external components which have their own semantic versions, built-in components follow Harper's semantic version.

fastifyRoutes

Specify custom endpoints using .

This component is a and can be configured with the configuration options.

Complete documentation for this feature is available here:

fastifyRoutes:
  files: './routes/*.js'

graphql

Enables GraphQL querying via a /graphql endpoint loosely implementing the GraphQL Over HTTP specification.

graphql: true

graphqlSchema

Specify schemas for Harper tables and resources via GraphQL schema syntax.

graphqlSchema:
  files: './schemas.graphql'

jsResource

Specify custom, JavaScript based Harper resources.

jsResource:
  files: './resource.js'

rest

Enable automatic REST endpoint generation for exported resources with this component.

rest: true

This component contains additional options:

To enable Last-Modified header support:

rest:
  lastModified: true

To disable automatic WebSocket support:

rest:
  webSocket: false

roles

Specify roles for Harper tables and resources.

roles:
  files: './roles.yaml'

static

static:
  files: './web/*'

GraphQL querying provides functionality for mapping GraphQL querying functionality to exported resources, and is based on the (it is designed to intuitively map queries to Harper resources, but does not implement the full of resolvers, subscribers, and mutations).

Complete documentation for this feature is available here:

This component is a and can be configured with the configuration options.

Complete documentation for this feature is available here:

Refer to the Application guide, or reference documentation for more information on custom resources.

This component is a and can be configured with the configuration options.

Complete documentation for this feature is available here:

This component is a and can be configured with the configuration options.

Complete documentation for this feature is available here:

Specify which files to server statically from the Harper HTTP endpoint. Built using the and modules.

This component is a and can be configured with the configuration options.

Built-In Components
fastifyRoutes
graphql
graphqlSchema
jsResource
rest
roles
static
Fastify
Resource Extension
files, path, and root
Define Fastify Routes
GraphQL Over HTTP / GraphQL specifications
specification
GraphQL
Resource Extension
files, path, and root
Defining Schemas
Custom Functionality with JavaScript
Resource Class
Resource Extension
files, path, and root
REST
Resource Extension
files, path, and root
Defining Roles
send
serve-static
Resource Extension
files, path, and root