From 1ec2af50dac2783daa9a403bf4098f4707bc4e66 Mon Sep 17 00:00:00 2001 From: Joffrey CK Date: Fri, 15 Mar 2019 17:28:08 +0100 Subject: [PATCH] Add methods to clear any instance of any objects --- iconvert-android/app/app.iml | 4 +- .../application/IConvertApplication.java | 19 ++- .../kimboofactory/iconvert/di/Injector.java | 60 -------- .../ui/home/presentation/MvpHomeView.java | 23 ++- .../iconvert/ui/home/views/MainActivity.java | 19 ++- .../ui/search/presentation/MvpSearchView.java | 11 +- .../search/views/SearchCurrencyActivity.java | 18 ++- iconvert-android/versions.gradle | 2 +- iconvert-service/api/db.js | 2 +- iconvert-service/api/service.js | 27 ++-- iconvert-service/package-lock.json | 140 +++++++++--------- iconvert-service/package.json | 3 + 12 files changed, 154 insertions(+), 174 deletions(-) diff --git a/iconvert-android/app/app.iml b/iconvert-android/app/app.iml index bd96a71..67bee90 100644 --- a/iconvert-android/app/app.iml +++ b/iconvert-android/app/app.iml @@ -136,7 +136,6 @@ - @@ -148,6 +147,7 @@ + @@ -161,7 +161,7 @@ - + diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/application/IConvertApplication.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/application/IConvertApplication.java index dd8f3b6..2fdbcb0 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/application/IConvertApplication.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/application/IConvertApplication.java @@ -1,14 +1,13 @@ package com.kimboofactory.iconvert.application; -import android.app.Activity; import android.app.Application; import android.content.Context; import com.aleengo.peach.toolbox.commons.common.PeachConfig; import com.facebook.stetho.Stetho; +import com.kimboofactory.iconvert.application.dagger.AppComponent; import com.kimboofactory.iconvert.application.dagger.AppModule; import com.kimboofactory.iconvert.application.dagger.DaggerAppComponent; -import com.kimboofactory.iconvert.di.Injector; import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.RefWatcher; @@ -19,9 +18,10 @@ public class IConvertApplication extends Application { private RefWatcher refWatcher; + private AppComponent appComponent; - public static IConvertApplication getApplication(Activity activity) { - return (IConvertApplication) activity.getApplication(); + public static IConvertApplication getApplication(Context context) { + return (IConvertApplication) context.getApplicationContext(); } @Override @@ -45,14 +45,17 @@ public void onCreate() { Stetho.initialize(stethoInitializer); // Dagger initialization - Injector.instance().setAppComponent(DaggerAppComponent.builder() + appComponent = DaggerAppComponent.builder() .appModule(new AppModule(this)) - .build()); + .build(); + + } + public AppComponent appComponent() { + return appComponent; } public static RefWatcher getRefWatcher(Context context) { - IConvertApplication application = (IConvertApplication) context.getApplicationContext(); - return application.refWatcher; + return getApplication(context).refWatcher; } } diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/di/Injector.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/di/Injector.java index 8aa8e79..62ff5ba 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/di/Injector.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/di/Injector.java @@ -1,71 +1,11 @@ package com.kimboofactory.iconvert.di; -import com.kimboofactory.iconvert.application.dagger.AppComponent; -import com.kimboofactory.iconvert.ui.home.dagger.DaggerMainActivityComponent; -import com.kimboofactory.iconvert.ui.home.dagger.MainActivityComponent; -import com.kimboofactory.iconvert.ui.home.dagger.MainActivityModule; -import com.kimboofactory.iconvert.ui.home.presentation.MvpHomeView; -import com.kimboofactory.iconvert.ui.home.views.MainActivity; -import com.kimboofactory.iconvert.ui.search.dagger.DaggerSearchActivityComponent; -import com.kimboofactory.iconvert.ui.search.dagger.SearchActivityComponent; -import com.kimboofactory.iconvert.ui.search.dagger.SearchActivityModule; -import com.kimboofactory.iconvert.ui.search.presentation.MvpSearchView; -import com.kimboofactory.iconvert.ui.search.views.SearchCurrencyActivity; - -import lombok.Getter; -import lombok.Setter; - /** * Created by CK_ALEENGO on 25/02/2019. * Copyright (c) 2019. All rights reserved. */ public final class Injector { - @Getter @Setter - private AppComponent appComponent; - @Getter @Setter - private MainActivityComponent homeComponent; - @Getter @Setter - private SearchActivityComponent searchComponent; - - private Injector() {} - - public static Injector instance() { - return LazyHolder.INSTANCE; - } - - public void inject(MainActivity activity) { - setHomeComponent(DaggerMainActivityComponent.builder() - .plus(getAppComponent()) - .mainActivityModule(new MainActivityModule(activity)) - .build()); - getHomeComponent().inject(activity); - } - - public void inject(SearchCurrencyActivity activity) { - setSearchComponent(DaggerSearchActivityComponent.builder() - .plus(getAppComponent()) - .searchActivityModule(new SearchActivityModule(activity)) - .build()); - getSearchComponent().inject(activity); - } - - public void inject(MvpHomeView view) { - getHomeComponent() - .viewComponentBuilder() - .viewModule(new com.kimboofactory.iconvert.ui.home.dagger.ViewModule()) - .build() - .inject(view); - } - - public void inject(MvpSearchView view) { - getSearchComponent() - .viewComponentBuilder() - .viewModule(new com.kimboofactory.iconvert.ui.search.dagger.ViewModule()) - .build() - .inject(view); - } - private static class LazyHolder { private static final Injector INSTANCE = new Injector(); } diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/presentation/MvpHomeView.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/presentation/MvpHomeView.java index dfdaaf2..cda39ac 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/presentation/MvpHomeView.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/presentation/MvpHomeView.java @@ -1,7 +1,6 @@ package com.kimboofactory.iconvert.ui.home.presentation; import android.content.Intent; -import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.FrameLayout; @@ -14,10 +13,10 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.kimboofactory.iconvert.R; import com.kimboofactory.iconvert.common.Constant; -import com.kimboofactory.iconvert.di.Injector; import com.kimboofactory.iconvert.domain.model.CurrencyEntity; import com.kimboofactory.iconvert.dto.CurrencyIHM; import com.kimboofactory.iconvert.events.GetFavoriteEvent; +import com.kimboofactory.iconvert.ui.home.dagger.ViewModule; import com.kimboofactory.iconvert.ui.home.views.FavoritesAdapter; import com.kimboofactory.iconvert.ui.home.views.HomeViewListener; import com.kimboofactory.iconvert.ui.home.views.MainActivity; @@ -32,7 +31,6 @@ import javax.inject.Inject; -import androidx.annotation.Nullable; import butterknife.BindView; import lombok.Getter; import lombok.Setter; @@ -62,29 +60,27 @@ public class MvpHomeView extends FrameLayout implements FavoriteContract.View { FavoritesAdapter adapter; @Inject HomeViewListener listener; + @Getter @Setter private CurrencyIHM currencySource; - private MainActivity activity; private boolean mFirstLoad = true; + public MvpHomeView(MainActivity activity) { super(activity); this.activity = activity; inflate(getContext(), R.layout.activity_main, this); } - public void init(@Nullable Bundle savedInstanceState) { - - if (savedInstanceState == null) { - } - - Injector.instance().inject(this); + public void init() { + activity.getDaggerComponent().viewComponentBuilder() + .viewModule(new ViewModule()) + .build() + .inject(this); favoritesLV.setAdapter(adapter); activity.setSupportActionBar(toolbar); - /*favoritesLV.setOnItemClickListener(listener); - favoritesLV.setOnItemLongClickListener(listener);*/ fab.setOnClickListener((View v) -> activity.getPresenter().addFavorite(Constant.SEARCH_CURRENCY_REQUEST_CODE)); amountET.addTextChangedListener(listener); @@ -108,7 +104,8 @@ public void stop() { @Override public void clear() { - //binder.unbind(); + currencySource = null; + activity = null; } @Override diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/views/MainActivity.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/views/MainActivity.java index 835efc3..c8753b3 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/views/MainActivity.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/home/views/MainActivity.java @@ -12,7 +12,9 @@ import com.kimboofactory.iconvert.R; import com.kimboofactory.iconvert.application.IConvertApplication; import com.kimboofactory.iconvert.common.Constant; -import com.kimboofactory.iconvert.di.Injector; +import com.kimboofactory.iconvert.ui.home.dagger.DaggerMainActivityComponent; +import com.kimboofactory.iconvert.ui.home.dagger.MainActivityComponent; +import com.kimboofactory.iconvert.ui.home.dagger.MainActivityModule; import com.kimboofactory.iconvert.ui.home.presentation.MainPresenter; import com.kimboofactory.iconvert.ui.home.presentation.MvpHomeView; @@ -33,6 +35,9 @@ public class MainActivity extends BaseActivity { @Inject @Getter MainPresenter presenter; + @Getter + private MainActivityComponent daggerComponent; + @Override public String logTag() { return "MainActivity"; @@ -40,7 +45,11 @@ public String logTag() { @Override public void daggerConfiguration() { - Injector.instance().inject(this); + daggerComponent = DaggerMainActivityComponent.builder() + .plus(IConvertApplication.getApplication(this).appComponent()) + .mainActivityModule(new MainActivityModule(this)) + .build(); + daggerComponent.inject(this); } @Override @@ -51,7 +60,7 @@ public View getLayoutView() { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mMvpView.init(savedInstanceState); + mMvpView.init(); presenter.attach(mMvpView); } @@ -89,13 +98,15 @@ protected void onStop() { @Override protected void onDestroy() { + super.onDestroy(); mMvpView.clear(); presenter.detach(); + daggerComponent = null; if (PeachConfig.isDebug()) { IConvertApplication.getRefWatcher(MainActivity.this).watch(MainActivity.this); } - super.onDestroy(); + } @Override diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/presentation/MvpSearchView.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/presentation/MvpSearchView.java index ae35122..69a1d79 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/presentation/MvpSearchView.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/presentation/MvpSearchView.java @@ -4,7 +4,6 @@ import android.app.SearchManager; import android.content.Intent; import android.graphics.Color; -import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.inputmethod.EditorInfo; @@ -17,9 +16,9 @@ import com.google.android.material.snackbar.Snackbar; import com.kimboofactory.iconvert.R; import com.kimboofactory.iconvert.common.Constant; -import com.kimboofactory.iconvert.di.Injector; import com.kimboofactory.iconvert.dto.CurrencyIHM; import com.kimboofactory.iconvert.events.CurrenciesEvent; +import com.kimboofactory.iconvert.ui.search.dagger.ViewModule; import com.kimboofactory.iconvert.ui.search.views.SearchCurrencyActivity; import com.kimboofactory.iconvert.ui.search.views.SearchCurrencyAdapter; import com.kimboofactory.iconvert.ui.search.views.SearchItemView; @@ -33,7 +32,6 @@ import javax.inject.Inject; -import androidx.annotation.Nullable; import androidx.appcompat.widget.SearchView; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; @@ -89,9 +87,12 @@ public void clear() { snackbar = null; } - public void init(@Nullable Bundle savedInstanceState) { + public void init() { // dagger init - Injector.instance().inject(this); + activity.getDaggerComponent().viewComponentBuilder() + .viewModule(new ViewModule()) + .build() + .inject(this); activity.setSupportActionBar(toolbar); diff --git a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/views/SearchCurrencyActivity.java b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/views/SearchCurrencyActivity.java index d764315..9b988be 100644 --- a/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/views/SearchCurrencyActivity.java +++ b/iconvert-android/app/src/main/java/com/kimboofactory/iconvert/ui/search/views/SearchCurrencyActivity.java @@ -6,7 +6,9 @@ import com.aleengo.peach.toolbox.commons.common.PeachConfig; import com.aleengo.peach.toolbox.ui.BaseActivity; import com.kimboofactory.iconvert.application.IConvertApplication; -import com.kimboofactory.iconvert.di.Injector; +import com.kimboofactory.iconvert.ui.search.dagger.DaggerSearchActivityComponent; +import com.kimboofactory.iconvert.ui.search.dagger.SearchActivityComponent; +import com.kimboofactory.iconvert.ui.search.dagger.SearchActivityModule; import com.kimboofactory.iconvert.ui.search.presentation.MvpSearchView; import com.kimboofactory.iconvert.ui.search.presentation.SearchPresenter; @@ -24,6 +26,9 @@ public class SearchCurrencyActivity extends BaseActivity { @Inject @Getter SearchPresenter presenter; + @Getter + private SearchActivityComponent daggerComponent; + @Override public String logTag() { return "SearchCurrencyActivity"; @@ -37,14 +42,18 @@ public View getLayoutView() { @Override public void daggerConfiguration() { // Dagger config - Injector.instance().inject(this); + daggerComponent = DaggerSearchActivityComponent.builder() + .plus(IConvertApplication.getApplication(this).appComponent()) + .searchActivityModule(new SearchActivityModule(this)) + .build(); + daggerComponent.inject(this); } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mMvpView.init(savedInstanceState); + mMvpView.init(); presenter.attach(mMvpView); } @@ -63,11 +72,12 @@ protected void onStop() { @Override protected void onDestroy() { + super.onDestroy(); mMvpView.clear(); presenter.clear(); + daggerComponent = null; if(PeachConfig.isDebug()) { IConvertApplication.getRefWatcher(this).watch(this); } - super.onDestroy(); } } diff --git a/iconvert-android/versions.gradle b/iconvert-android/versions.gradle index d71d4c7..bd2e229 100644 --- a/iconvert-android/versions.gradle +++ b/iconvert-android/versions.gradle @@ -38,7 +38,7 @@ versions.timber = "4.5.1" versions.volley = "1.1.0" versions.lombok = "1.16.20" versions.room = "2.1.0-alpha04" -versions.toolbox= "-SNAPSHOT" +versions.toolbox= "04e436cb0b" versions.stetho = "1.5.0" versions.leakcanary="1.6.3" versions.dagger2 = "2.21" diff --git a/iconvert-service/api/db.js b/iconvert-service/api/db.js index f97ce7a..45ae4ea 100644 --- a/iconvert-service/api/db.js +++ b/iconvert-service/api/db.js @@ -11,7 +11,7 @@ const _db = (mode) => { const db = config.parsed; return { - MONGO_URI: `mongodb+srv://${db.USERNAME}:${db.PASSWORD}@${db.SERVER}/${db.NAME}?retryWrites=true`, + MONGO_URI: `mongodb+srv://${db.USERNAME}:${db.PASSWORD}@${db.SERVER}/${db.DBNAME}?retryWrites=true`, options: { useNewUrlParser: true, useCreateIndex: true, diff --git a/iconvert-service/api/service.js b/iconvert-service/api/service.js index e87807f..caa26c8 100644 --- a/iconvert-service/api/service.js +++ b/iconvert-service/api/service.js @@ -19,21 +19,25 @@ mongoose.connect(db.MONGO_URI, db.options, function(e) { const opera = new Opera(appID); -async function getAllCurrencies() { +async function saveCurrencies() { try { // get all currencies let res = await opera.currencies({ show_alternative: true, show_inactive: true }); + + console.log('response', res); let json = JSON.parse(res.body); let currencies = []; for ( key in json) { currencies.push(new Currency(key, json[key])); } + console.log('currencies list', currencies); + //saveEtag(res.headers, 'currencies'); // insert elements to MongoDB database - return await Currency.create(currencies); + //return await Currency.create(currencies); } catch (e) { throw e; } @@ -51,7 +55,8 @@ async function saveEtag(headers, endpoint) { const query = { lastModified: etag['last-modified'], etag: etag['etag'], - timestamp: etag['timestamp'] + timestamp: etag['timestamp'], + endpoint: 'rates' }; Etag.findOneAndUpdate(query, doc, {upsert: true}, (err, doc, res) => { @@ -62,17 +67,19 @@ async function saveEtag(headers, endpoint) { async function saveRates() { try { - const res = await opera.latest({show_alternative: true}) - const json = JSON.parse(res.body); + const res = await opera.latest({show_alternative: true}); + + console.log('response', res); + const json = JSON.parse(res.body); + const rates = []; for (key in json.rates) { rates.push(new rates(key, json.rates[key])); } - - saveEtag(JSON.parse(res.headers), 'rates'); - - return await Rate.create(rates); + console.log('rates', rates); + //saveEtag(JSON.parse(res.headers), 'rates'); + //return await Rate.create(rates); } catch (e) { throw e; } @@ -108,3 +115,5 @@ function updateCurrencies() { // etag collection for 'endpoint == 'currencies' } + +saveCurrencies(); diff --git a/iconvert-service/package-lock.json b/iconvert-service/package-lock.json index e88fe13..405753f 100644 --- a/iconvert-service/package-lock.json +++ b/iconvert-service/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@aleengo/opera/-/opera-1.3.0.tgz", "integrity": "sha512-HalO93CQqzpscON9N9KFS/6d3sIeTMOGE2pBqYQ9/GnqqBRMslWR5DpqNUkCw22k1I5YRGb37r+YWEeE+ZeCBg==", "requires": { - "request": "^2.88.0" + "request": "2.88.0" } }, "ajv": { @@ -17,10 +17,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "asn1": { @@ -28,7 +28,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -41,7 +41,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "asynckit": { @@ -64,7 +64,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "bluebird": { @@ -87,7 +87,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "core-util-is": { @@ -100,7 +100,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "debug": { @@ -116,13 +116,19 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "extend": { @@ -155,9 +161,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.21" } }, "getpass": { @@ -165,7 +171,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "har-schema": { @@ -178,8 +184,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.6.2", + "har-schema": "2.0.0" } }, "http-signature": { @@ -187,9 +193,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.0" } }, "is-typedarray": { @@ -264,7 +270,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "mongodb": { @@ -273,7 +279,7 @@ "integrity": "sha512-Uml42GeFxhTGQVml1XQ4cD0o/rp7J2ROy0fdYUcVitoE7vFqEhKH4TYVqRDpQr/bXtCJVxJdNQC1ntRxNREkPQ==", "requires": { "mongodb-core": "3.1.9", - "safe-buffer": "^5.1.2" + "safe-buffer": "5.1.2" } }, "mongodb-core": { @@ -281,10 +287,10 @@ "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.9.tgz", "integrity": "sha512-MJpciDABXMchrZphh3vMcqu8hkNf/Mi+Gk6btOimVg1XMxLXh87j6FAvRm+KmwD1A9fpu3qRQYcbQe4egj23og==", "requires": { - "bson": "^1.1.0", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" + "bson": "1.1.0", + "require_optional": "1.0.1", + "safe-buffer": "5.1.2", + "saslprep": "1.0.2" } }, "mongoose": { @@ -293,7 +299,7 @@ "integrity": "sha512-9lST8rek83apkG+gv4exI56kJ8/aJ7nZP+zAL1ezOhgfDqQM/S4U1DcsF1hL0cOTSmcip8BdT1xby9ItCFmbvA==", "requires": { "async": "2.6.1", - "bson": "~1.1.0", + "bson": "1.1.0", "kareem": "2.3.0", "lodash.get": "4.4.2", "mongodb": "3.1.10", @@ -369,26 +375,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require_optional": { @@ -396,8 +402,8 @@ "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", "requires": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" + "resolve-from": "2.0.0", + "semver": "5.6.0" } }, "resolve-from": { @@ -421,7 +427,7 @@ "integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw==", "optional": true, "requires": { - "sparse-bitfield": "^3.0.3" + "sparse-bitfield": "3.0.3" } }, "semver": { @@ -440,7 +446,7 @@ "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", "optional": true, "requires": { - "memory-pager": "^1.0.2" + "memory-pager": "1.4.0" } }, "sshpk": { @@ -448,15 +454,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "tough-cookie": { @@ -464,8 +470,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.31", + "punycode": "1.4.1" }, "dependencies": { "punycode": { @@ -480,7 +486,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -493,7 +499,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "uuid": { @@ -506,9 +512,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } } } diff --git a/iconvert-service/package.json b/iconvert-service/package.json index 138d3f7..69bdd69 100644 --- a/iconvert-service/package.json +++ b/iconvert-service/package.json @@ -19,5 +19,8 @@ "dependencies": { "@aleengo/opera": "^1.3.0", "mongoose": "^5.4.1" + }, + "devDependencies": { + "dotenv": "^7.0.0" } }