nestjs-geoip2
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.2 • Public • Published

    NestJS GeoIP2

    NPM Version Package License

    Table of Contents

    Description

    Integrates MaxMind GeoIP2 with Nest

    Installation

    npm install nestjs-geoip2 @maxmind/geoip2-node

    You can also use the interactive CLI

    npx nestjs-modules

    Examples

    npx geoip2-cli --download --licenseKey=MAXMIND_LICENSE_KEY

    GeoIP2Module.forRoot(options, connection?)

    import { Module } from '@nestjs/common';
    import { GeoIP2Module } from 'nestjs-geoip2';
    import { AppController } from './app.controller';
    import { join } from 'path';
     
    @Module({
      imports: [
        GeoIP2Module.forRoot({
          config: {
            file: join(process.cwd(), 'geoip2-cli', 'GeoLite2-City.mmdb'),
          },
        }),
      ],
      controllers: [AppController],
    })
    export class AppModule {}

    GeoIP2Module.forRootAsync(options, connection?)

    import { Module } from '@nestjs/common';
    import { GeoIP2Module } from 'nestjs-geoip2';
    import { AppController } from './app.controller';
    import { join } from 'path';
     
    @Module({
      imports: [
        GeoIP2Module.forRootAsync({
          useFactory: () => ({
            config: {
              file: join(process.cwd(), 'geoip2-cli', 'GeoLite2-City.mmdb'),
            },
          }),
        }),
      ],
      controllers: [AppController],
    })
    export class AppModule {}

    InjectGeoIP2(connection?)

    import { Controller, Get, } from '@nestjs/common';
    import { InjectGeoIP2, GeoIP2 } from 'nestjs-geoip2';
     
    @Controller()
    export class AppController {
      constructor(
        @InjectGeoIP2() private readonly geoIP2: GeoIP2,
      ) {}
     
      @Get()
      async getHello() {
        return await this.geoIP2.city('8.8.8.8');
      }
    }

    License

    MIT

    Install

    npm i nestjs-geoip2

    DownloadsWeekly Downloads

    22

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    13.6 kB

    Total Files

    18

    Last publish

    Collaborators

    • svtslv