Skip to content

Commit 36e5e0e

Browse files
authored
Merge pull request #106 from Azure/igo/arm-contracts
BREAKING CHANGE: switch to ARM contracts and change the management API endpoint
2 parents c14adb6 + b47336c commit 36e5e0e

36 files changed

Lines changed: 270 additions & 312 deletions

src/components/operations/runtime/operation-list/operation-list.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
data-bind="css: { active: item.shortId === $parent.selectedId() }">
1414
<div class="list-group-item-heading flex-container">
1515
<div class="list-group-item-label flex-item flex-grow">
16-
<a href="#" class="text-truncate"
17-
data-bind="attr: { href: $parent.getNavigationProductId(item.id) }">
16+
<a href="#" class="text-truncate" data-bind="click: $parent.selectOperation">
1817
<span data-bind="attr: { 'data-method': method }"></span>
1918
<span class="operation-name" data-bind="text: item.name"></span>
2019
</a>

src/components/operations/runtime/operation-list/operation-list.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,28 +105,28 @@ export class OperationList {
105105
}
106106
}
107107

108-
public getNavigationProductId(fullOperationId: string): string {
109-
if (!fullOperationId) {
110-
return "#";
108+
public selectOperation(operation: Operation): void {
109+
if (!operation) {
110+
return;
111111
}
112-
const parts = fullOperationId.split("/operations/");
112+
const parts = operation.id.split("/operations/");
113113
const apiId = parts[0].split("/apis/").pop();
114114
const operationId = parts[1];
115115

116116
const params = new URLSearchParams();
117117
params.append("apiId", apiId);
118118
operationId && params.append("operationId", operationId);
119119

120-
return `#?${params.toString()}`;
120+
this.router.navigateTo("#?" + params.toString());
121121
}
122122

123123
private selectFirst(): void {
124124
if (!this.queryParams.has("operationId")) {
125125
const list = this.operations();
126126
if (list.length > 0) {
127-
const selectProductId = list[0].shortId;
128-
this.selectedId(selectProductId);
129-
this.queryParams.set("operationId", selectProductId);
127+
const selectId = list[0].shortId;
128+
this.selectedId(selectId);
129+
this.queryParams.set("operationId", selectId);
130130
this.router.navigateTo("#?" + this.queryParams.toString());
131131
}
132132
}

src/components/users/runtime/user-details/user-details.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@
107107
<div class="row">
108108
<div class="col-md-6">Change password</div>
109109
<div class="col-md-3">
110-
<input type="text" class="form-control" placeholder="Current" data-bind="value: password" />
110+
<input type="password" class="form-control" placeholder="New password" data-bind="value: password" />
111111
</div>
112112
<div class="col-md-3">
113-
<input type="text" class="form-control" placeholder="Confirm" data-bind="value: confirmPassword" />
113+
<input type="password" class="form-control" placeholder="Confirm" data-bind="value: confirmPassword" />
114114
</div>
115115
</div>
116116
<div class="row">

src/components/users/runtime/user-subscriptions/user-subscriptions.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class UserSubscriptions {
5151
}
5252

5353
public async renameSubscription(subscription: SubscriptionViewModel): Promise<void> {
54-
const updated = await this.productService.renameUserSubscription(subscription.model.id, subscription.model.userId, subscription.editName());
54+
const updated = await this.productService.renameUserSubscription(subscription.model.id, subscription.editName());
5555
const updatedVM = new SubscriptionViewModel(updated);
5656
this.syncSubscriptionLabelState(subscription, updatedVM);
5757
this.subscriptions.replace(subscription, updatedVM);
@@ -60,7 +60,7 @@ export class UserSubscriptions {
6060

6161
public async regeneratePKey(subscription: SubscriptionViewModel): Promise<void> {
6262
subscription.isPRegenerating(true);
63-
const updated = await this.productService.regeneratePrimaryKey(subscription.model.id, subscription.model.userId);
63+
const updated = await this.productService.regeneratePrimaryKey(subscription.model.id);
6464
const updatedVM = new SubscriptionViewModel(updated);
6565
this.syncSubscriptionLabelState(subscription, updatedVM);
6666
this.subscriptions.replace(subscription, updatedVM);
@@ -69,7 +69,7 @@ export class UserSubscriptions {
6969

7070
public async regenerateSKey(subscription: SubscriptionViewModel): Promise<void> {
7171
subscription.isSRegenerating(true);
72-
const updated = await this.productService.regenerateSecondaryKey(subscription.model.id, subscription.model.userId);
72+
const updated = await this.productService.regenerateSecondaryKey(subscription.model.id);
7373
const updatedVM = new SubscriptionViewModel(updated);
7474
this.syncSubscriptionLabelState(subscription, updatedVM);
7575
this.subscriptions.replace(subscription, updatedVM);
@@ -86,7 +86,7 @@ export class UserSubscriptions {
8686
}
8787

8888
public async cancelSubscription(subscription: SubscriptionViewModel): Promise<void> {
89-
const updated = await this.productService.cancelUserSubscription(subscription.model.id, subscription.model.userId);
89+
const updated = await this.productService.cancelUserSubscription(subscription.model.id);
9090
const updatedVM = new SubscriptionViewModel(updated);
9191
this.syncSubscriptionLabelState(subscription, updatedVM);
9292
this.subscriptions.replace(subscription, updatedVM);

src/contracts/api.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
import { OperationContract } from "./operation";
2-
import { VersionSetContract } from "./apiVersionSet";
32
import { AuthenticationSettings } from "./authenticationSettings";
3+
import { ArmResource } from "./armResource";
44

55
/**
66
* Cotract of API
77
*/
8-
export interface ApiContract {
9-
id?: string;
10-
name?: string;
8+
export interface ApiContract extends ArmResource {
9+
properties: ApiProperties;
10+
}
11+
12+
export interface ApiProperties {
13+
displayName?: string;
1114
description?: string;
1215
apiVersion?: string;
1316
apiVersionDescription?: string;
1417
apiVersionSetId?: string;
15-
apiVersionSet?: VersionSetContract;
18+
apiVersionSet?: {
19+
name: string,
20+
description: string,
21+
versioningScheme: string,
22+
versionQueryName: string,
23+
versionHeaderName: string
24+
};
1625
apiRevision?: string;
1726
apiRevisionDescription?: string;
1827
serviceUrl?: string;
@@ -26,8 +35,10 @@ export interface ApiContract {
2635
type?: string;
2736
isCurrent?: boolean;
2837
isOnline?: boolean;
38+
subscriptionRequired?: boolean;
2939
}
3040

41+
3142
export interface SubscriptionKeyParameterName {
3243
header: string;
3344
query: string;

src/contracts/apiVersionSet.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
export interface VersionSetContract {
2-
id?: string;
3-
name?: string;
1+
import { ArmResource } from "./armResource";
2+
3+
export interface VersionSetPropertiesContract {
4+
displayName?: string;
45
description?: string;
56
versioningScheme?: string;
67
versionQueryName?: string;
78
versionHeaderName?: string;
9+
}
810

9-
properties?: {
10-
name?: string;
11-
description?: string;
12-
versioningScheme?: string;
13-
versionQueryName?: string;
14-
versionHeaderName?: string;
15-
}
11+
export interface VersionSetContract extends ArmResource {
12+
properties: VersionSetPropertiesContract;
1613
}

src/contracts/armResource.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export interface ArmResource {
2+
id: string;
3+
type?: string;
4+
name: string;
5+
properties: any;
6+
}

src/contracts/authorizationServer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import { ArmResource } from "./armResource";
12

2-
3-
export interface AuthorizationServer {
3+
export interface AuthorizationServer extends ArmResource {
44
properties: AuthProperties;
55
}
66

77
interface AuthProperties {
8-
name?: string;
8+
displayName?: string;
99
description: string;
1010
clientRegistrationEndpoint: string;
1111

src/contracts/backend.ts

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/contracts/certificate.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)