Add AccountsModel to CommentsModel
Google-bug-id: b/236921879
Release-Notes: skip
Change-Id: I2e815d17bf106d34c81d00f2aa5174d83d786740
diff --git a/polygerrit-ui/app/models/accounts-model/accounts-model.ts b/polygerrit-ui/app/models/accounts-model/accounts-model.ts
index d29d30e..74eb813 100644
--- a/polygerrit-ui/app/models/accounts-model/accounts-model.ts
+++ b/polygerrit-ui/app/models/accounts-model/accounts-model.ts
@@ -9,12 +9,15 @@
import {Finalizable} from '../../services/registry';
import {UserId} from '../../types/common';
import {getUserId, isDetailedAccount} from '../../utils/account-util';
+import {define} from '../dependency';
import {Model} from '../model';
export interface AccountsState {
accounts: {[id: UserId]: AccountDetailInfo};
}
+export const accountsModelToken = define<AccountsModel>('accounts-model');
+
export class AccountsModel extends Model<AccountsState> implements Finalizable {
constructor(readonly restApiService: RestApiService) {
super({
diff --git a/polygerrit-ui/app/models/comments/comments-model.ts b/polygerrit-ui/app/models/comments/comments-model.ts
index 5137407..e737005 100644
--- a/polygerrit-ui/app/models/comments/comments-model.ts
+++ b/polygerrit-ui/app/models/comments/comments-model.ts
@@ -45,6 +45,7 @@
import {extractMentionedUsers, getUserId} from '../../utils/account-util';
import {EventType} from '../../types/events';
import {SpecialFilePath} from '../../constants/constants';
+import {AccountsModel} from '../accounts-model/accounts-model';
export interface CommentState {
/** undefined means 'still loading' */
@@ -358,6 +359,7 @@
constructor(
readonly routerModel: RouterModel,
readonly changeModel: ChangeModel,
+ readonly accountsModel: AccountsModel,
readonly restApiService: RestApiService,
readonly reporting: ReportingService
) {
diff --git a/polygerrit-ui/app/models/comments/comments-model_test.ts b/polygerrit-ui/app/models/comments/comments-model_test.ts
index 9a4a69d..ba7bd2d 100644
--- a/polygerrit-ui/app/models/comments/comments-model_test.ts
+++ b/polygerrit-ui/app/models/comments/comments-model_test.ts
@@ -67,6 +67,7 @@
const model = new CommentsModel(
getAppContext().routerModel,
testResolver(changeModelToken),
+ getAppContext().accountsModel,
getAppContext().restApiService,
getAppContext().reportingService
);
@@ -122,6 +123,7 @@
const model = new CommentsModel(
getAppContext().routerModel,
testResolver(changeModelToken),
+ getAppContext().accountsModel,
getAppContext().restApiService,
getAppContext().reportingService
);
diff --git a/polygerrit-ui/app/services/app-context-init.ts b/polygerrit-ui/app/services/app-context-init.ts
index fb766e7..1b379dc 100644
--- a/polygerrit-ui/app/services/app-context-init.ts
+++ b/polygerrit-ui/app/services/app-context-init.ts
@@ -92,9 +92,12 @@
);
dependencies.set(changeModelToken, changeModel);
+ const accountsModel = new AccountsModel(appContext.restApiService);
+
const commentsModel = new CommentsModel(
appContext.routerModel,
changeModel,
+ accountsModel,
appContext.restApiService,
appContext.reportingService
);
diff --git a/polygerrit-ui/app/test/test-app-context-init.ts b/polygerrit-ui/app/test/test-app-context-init.ts
index 4da0e4e..43e5d2e 100644
--- a/polygerrit-ui/app/test/test-app-context-init.ts
+++ b/polygerrit-ui/app/test/test-app-context-init.ts
@@ -33,7 +33,10 @@
import {BrowserModel, browserModelToken} from '../models/browser/browser-model';
import {PluginsModel} from '../models/plugins/plugins-model';
import {MockHighlightService} from '../services/highlight/highlight-service-mock';
-import {AccountsModel} from '../models/accounts-model/accounts-model';
+import {
+ AccountsModel,
+ accountsModelToken,
+} from '../models/accounts-model/accounts-model';
export function createTestAppContext(): AppContext & Finalizable {
const appRegistry: Registry<AppContext> = {
@@ -101,10 +104,15 @@
);
dependencies.set(changeModelToken, changeModelCreator);
+ const accountsModelCreator = () =>
+ new AccountsModel(appContext.restApiService);
+ dependencies.set(accountsModelToken, accountsModelCreator);
+
const commentsModelCreator = () =>
new CommentsModel(
appContext.routerModel,
resolver(changeModelToken),
+ resolver(accountsModelToken),
appContext.restApiService,
appContext.reportingService
);