UNPKG

fms-api-client

Version:

A FileMaker Data API client designed to allow easier interaction with a FileMaker database from a web environment.

53 lines (48 loc) 1.16 kB
'use strict'; const { EmbeddedDocument } = require('marpat'); /** * @class Credentials * @classdesc The class used to authenticate with into the FileMaker API. */ class Credentials extends EmbeddedDocument { /** @constructs */ constructor() { super(); this.schema({ /** A string containing the time the token token was issued. * @member Credentials#password * @type String */ password: { type: String, required: true }, /** The token to use when querying an endpoint. * @member Credentials#user * @type String */ user: { type: String, required: true } }); } /** * @method basic * @public * @memberof Credentials * @description This method constructs the basic authentication headers used * when authenticating a FileMaker DAPI session. * @return {String} A string containing the user and password authentication * pair. */ basic() { const auth = `Basic ${Buffer.from(`${this.user}:${this.password}`).toString( 'base64' )}`; return auth; } } module.exports = { Credentials };