Configurations

Pace comes with a few configurations which can be used to configure your application. The configurations are stored in config/pace.ts and come with some reasonable defaults:

// config/pace.ts

import Env from '@ioc:Adonis/Core/Env'

export const app = {
  name: Env.get('ENV_APP_NAME', 'Pace'),
  url: Env.get('APP_URL', 'http://127.0.0.1:3333'),
}

export const mail = {
  from: 'support@pace.dev',
  name: 'Support',
}

export const auth = {
  verificationLinkExpiresIn: '24h',
  passwordResetLinkExpiresIn: '1h',
  magicLinkExpiresIn: '24h',
}

export const paddle = {
  vendorId: Env.get('PADDLE_VENDOR_ID'),
  authCode: Env.get('PADDLE_VENDOR_AUTH_CODE'),
  publicKey: Env.get('PADDLE_PUBLIC_KEY'),
  sandbox: Env.get('PADDLE_SANDBOX', false),
  vendorsUrl: Env.get('PADDLE_SANDBOX')
    ? 'https://sandbox-vendors.paddle.com/api/2.0'
    : 'https://vendors.paddle.com/api/2.0',
}

The configurations are grouped into 4: app, mail, auth, and paddle. Let's quickly run through each of them.

  • app.name: This is the name of your application and it's read from the ENV_APP_NAME environment variable.
  • app.url: This is the URL of your application and it's read from the APP_URL environment variable.
  • mail.from: This is the default email address for transactional emails sent by your application.
  • mail.name: This is an optional name for the default email address from above.
  • auth.verificationLinkExpiresIn: By default, when users register on your application, they will be sent an email verification. Here, you can configure the expiry duration of the verification link.
  • auth.passwordResetLinkExpiresIn: This is the expiry duration for the password reset request link.
  • auth.magicLinkExpiresIn: This is the expiry duration for the magic link for passwordless authentication.
  • paddle.vendorId: This is your Paddle vendor ID.
  • paddle.authCode: This is your Paddle authentication code.
  • paddle.publicKey: This is your Paddle public key. This is required for verifying Paddle's webhooks.
  • paddle.sandbox: A boolean to indicate your application is using Paddle sandbox.
  • paddle.vendorsUrl: Paddle vendor API base URL depending on whether your application is using Paddle sandbox or not.

You can learn more about the Paddle configurations from the billing documentation.