Have ideas to improve npm?Join in the discussion! »

    @via-profit-services/vehicles
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.1 • Public • Published

    Via Profit services / Vehicles

    via-profit-services-cover

    Via Profit services / Vehicles - это пакет, который является частью сервиса, базирующегося на via-profit-services и представляет собой реализацию схемы работы с городами.

    npm (scoped) Libraries.io dependency status for latest release, scoped npm package

    TODO

    • Описание методов класса сервиса
    • CONTRIBUTING docs
    • Тесты
    • Subscriptions

    Содержание

    Установка и настройка

    Установка

    yarn add @via-profit-services/vehicles

    Миграции

    1. После первой установки примените все необходимые миграции:
    yarn knex:migrate:latest

    После применения миграций будут созданы все необходимые таблицы в вашей базе данных

    Заполнение таблиц данными происходит в ручном режиме. Это сделано для того, чтобы ваши миграции не содержали список стран и городов всего мира, а только те страны, которые требуются в вашем проекте.

    1. Создайте файл миграций используя команду ниже:
    yarn knex:migrate:make internal-vehicles-fill
    1. Поместите код, указанный ниже, в созданный файл миграций. При необходимости скорректируйте набор стран, которые вы будете использовать
    /* eslint-disable */
    import { Knex } from '@via-profit-services/core';
    import vehicles from '@via-profit-services/vehicles/dist/vehicles';
     
    export async function up(knex: Knex): Promise<any> {
      return new Promise(async (resolve) => {
        await knex.raw(`
          ${knex('vehiclesMakes').insert(vehicles.makes).toQuery()}
          on conflict ("id") do update set
          ${Object.keys(vehicles.makes[0]).map((field) => `"${field}" = excluded."${field}"`).join(',')}
        `);
     
        await knex.raw(`
          ${knex('vehiclesModels').insert(vehicles.models).toQuery()}
          on conflict ("id") do update set
          ${Object.keys(vehicles.models[0]).map((field) => `"${field}" = excluded."${field}"`).join(',')}
        `);
     
        resolve();
      });
    }
     
    export async function down(knex: Knex): Promise<unknown> {
      return knex.raw(`
        delete from "vehiclesModels";
        delete from "vehiclesMakes";
      `);
    }
     

    Как использовать

    Soon

    Подключение

    Для интеграции модуля требуется задействовать типы и резолверы модуля, затем необходимо подключить Express middleware, поставляемое пакетом. Так же необходимо сконфигурировать логгер.

    Модуль экспортирует наружу:

    • typeDefs - служебные Типы
    • resolvers - Служеюные Резолверы
    • Vehicles - Класс, реализующий модель данного модуля

    Пример подключения:

    import { App } from '@via-profit-services/core';
    import { typeDefs, resolvers } from '@via-profit-services/vehicles';
     
    const app = new App({
      ...
      typeDefs[
        typeDefs,
      ],
      resolvers: [
        resolvers,
      ],
      ...
    });
    app.bootstrap();
     

    Install

    npm i @via-profit-services/vehicles

    DownloadsWeekly Downloads

    87

    Version

    0.1.1

    License

    MIT

    Unpacked Size

    3.03 MB

    Total Files

    2556

    Last publish

    Collaborators

    • avatar
    • avatar