Options
All
  • Public
  • Public/Protected
  • All
Menu

Defines service that access AirTable's data, and use DI with typedi.

import { Service, Container } from 'typedi';
import { DataService, BaseModel, API_KEY_TOKEN } from '@thomascsd/stools';

Container.set(API_KEY_TOKEN, process.env.<your api key>);

const BASE_ID = '<your base id>';

export class Contact extends BaseModel {
name: string;
email: string;
mobile: string;
}

@Service()
export class ContactService {
constructor(private db: DataService) {}

async getContacts(): Promise<Contact[]> {
return await this.db.getDatas<Contact>(BASE_ID, '<your table name of AirTable>');
}

async saveContact(contact: Contact) {
return await this.db.saveData<Contact>(BASE_ID, '<your table name of AirTable>', contact);
}

async updateContact(contact: Contact) {
return await this.db.updateData<Contact>(BASE_ID, '<your table name of AirTable>', contact);
}
}
export

Hierarchy

  • BaseService
    • DataService

Index

Constructors

constructor

Properties

apiKey

apiKey: string

Methods

Protected delete

  • delete<T>(baseId: string, tableName: string, model: T): Promise<DeleteResponse>
  • Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<DeleteResponse>

deleteData

  • deleteData<T>(baseId: string, tableName: string, model: T): Promise<DeleteResponse>
  • Delete data from AirTable

    memberof

    DataService

    Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<DeleteResponse>

    {Promise}

Protected get

  • get<T>(baseId: string, tableName: string, options?: SelectOptions): Promise<T[]>
  • Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • Optional options: SelectOptions

    Returns Promise<T[]>

getDatas

  • getDatas<T>(baseId: string, tableName: string, options?: SelectOptions): Promise<T[]>
  • Get Datas from AirTable

    memberof

    DataService

    Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • Optional options: SelectOptions

    Returns Promise<T[]>

    {Promise<T[]>}

Protected save

  • save<T>(baseId: string, tableName: string, model: T): Promise<AirtableRecord>
  • Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<AirtableRecord>

saveData

  • saveData<T>(baseId: string, tableName: string, model: T): Promise<AirtableRecord>
  • Insert data to Airtable

    memberof

    DataService

    Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<AirtableRecord>

    {Promise}

update

  • update<T>(baseId: string, tableName: string, model: T): Promise<AirtableRecord>
  • Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<AirtableRecord>

updateData

  • updateData<T>(baseId: string, tableName: string, model: T): Promise<AirtableRecord>
  • Update data to AirTable

    memberof

    DataService

    Type parameters

    Parameters

    • baseId: string
    • tableName: string
    • model: T

    Returns Promise<AirtableRecord>

    {Promise}

Generated using TypeDoc