1.0.2 • Published 4 years ago

nestjs-geoip2 v1.0.2

Weekly downloads
42
License
MIT
Repository
github
Last release
4 years ago

NestJS GeoIP2

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

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago