Skip to content

Commit ccbd244

Browse files
committed
added changes for spn type auth for sidecar
1 parent 828cffa commit ccbd244

File tree

10 files changed

+81
-31
lines changed

10 files changed

+81
-31
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
Object.defineProperty(exports, "__esModule", { value: true });
12+
exports.SpnWebAppSiteContainersValidator = void 0;
13+
const Validations_1 = require("../Validations");
14+
const actionparameters_1 = require("../../actionparameters");
15+
class SpnWebAppSiteContainersValidator {
16+
validate() {
17+
return __awaiter(this, void 0, void 0, function* () {
18+
const actionParams = actionparameters_1.ActionParameters.getActionParams();
19+
(0, Validations_1.packageNotAllowed)(actionParams.packageInput);
20+
(0, Validations_1.multiContainerNotAllowed)(actionParams.multiContainerConfigFile);
21+
(0, Validations_1.startupCommandNotAllowed)(actionParams.startupCommand);
22+
(0, Validations_1.validateAppDetails)();
23+
(0, Validations_1.validateSiteContainersInputs)();
24+
});
25+
}
26+
}
27+
exports.SpnWebAppSiteContainersValidator = SpnWebAppSiteContainersValidator;

lib/ActionInputValidator/ValidatorFactory.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,13 @@ const SpnWindowsWebAppValidator_1 = require("./ActionValidators/SpnWindowsWebApp
2525
const Validations_1 = require("./Validations");
2626
const PublishProfile_1 = require("../Utilities/PublishProfile");
2727
const RuntimeConstants_1 = __importDefault(require("../RuntimeConstants"));
28-
const PublishProfileSiteContainersWebAppValidator_1 = require("./ActionValidators/PublishProfileSiteContainersWebAppValidator");
28+
const SpnWebAppSiteContainersValidator_1 = require("./ActionValidators/SpnWebAppSiteContainersValidator");
2929
class ValidatorFactory {
3030
static getValidator(type) {
3131
return __awaiter(this, void 0, void 0, function* () {
3232
let actionParams = actionparameters_1.ActionParameters.getActionParams();
3333
if (type === BaseWebAppDeploymentProvider_1.DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
34-
if (!!actionParams.siteContainers) {
35-
yield this.setResourceDetails(actionParams);
36-
return new PublishProfileSiteContainersWebAppValidator_1.PublishProfileSiteContainersWebAppValidator();
37-
}
38-
else if (!!actionParams.images) {
34+
if (!!actionParams.images) {
3935
yield this.setResourceDetails(actionParams);
4036
return new PublishProfileContainerWebAppValidator_1.PublishProfileContainerWebAppValidator();
4137
}
@@ -48,6 +44,9 @@ class ValidatorFactory {
4844
(0, Validations_1.appNameIsRequired)(actionParams.appName);
4945
yield this.getResourceDetails(actionParams);
5046
if (!!actionParams.isLinux) {
47+
if (!!actionParams.siteContainers) {
48+
return new SpnWebAppSiteContainersValidator_1.SpnWebAppSiteContainersValidator();
49+
}
5150
if (!!actionParams.images || !!actionParams.multiContainerConfigFile) {
5251
return new SpnLinuxContainerWebAppValidator_1.SpnLinuxContainerWebAppValidator();
5352
}

lib/DeploymentProvider/DeploymentProviderFactory.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ const BaseWebAppDeploymentProvider_1 = require("./Providers/BaseWebAppDeployment
66
const WebAppContainerDeployment_1 = require("./Providers/WebAppContainerDeployment");
77
const WebAppDeploymentProvider_1 = require("./Providers/WebAppDeploymentProvider");
88
const PublishProfileWebAppContainerDeploymentProvider_1 = require("./Providers/PublishProfileWebAppContainerDeploymentProvider");
9-
const PublishProfileSiteContainersWebAppDeploymentProvider_1 = require("./Providers/PublishProfileSiteContainersWebAppDeploymentProvider");
9+
const WebAppSiteContainersDeploymentProvider_1 = require("./Providers/WebAppSiteContainersDeploymentProvider");
1010
class DeploymentProviderFactory {
1111
static getDeploymentProvider(type) {
1212
if (type === BaseWebAppDeploymentProvider_1.DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
13-
if (!!actionparameters_1.ActionParameters.getActionParams().siteContainers) {
14-
return new PublishProfileSiteContainersWebAppDeploymentProvider_1.PublishProfileSiteContainersWebAppDeploymentProvider(type);
15-
}
16-
else if (!!actionparameters_1.ActionParameters.getActionParams().images) {
13+
if (!!actionparameters_1.ActionParameters.getActionParams().images) {
1714
return new PublishProfileWebAppContainerDeploymentProvider_1.PublishProfileWebAppContainerDeploymentProvider(type);
1815
}
1916
else {
2017
return new WebAppDeploymentProvider_1.WebAppDeploymentProvider(type);
2118
}
2219
}
2320
else if (type == BaseWebAppDeploymentProvider_1.DEPLOYMENT_PROVIDER_TYPES.SPN) {
24-
if (!!actionparameters_1.ActionParameters.getActionParams().images || (!!actionparameters_1.ActionParameters.getActionParams().isLinux && !!actionparameters_1.ActionParameters.getActionParams().multiContainerConfigFile)) {
21+
if (!!actionparameters_1.ActionParameters.getActionParams().siteContainers) {
22+
return new WebAppSiteContainersDeploymentProvider_1.WebAppSiteContainersDeploymentProvider(type);
23+
}
24+
else if (!!actionparameters_1.ActionParameters.getActionParams().images || (!!actionparameters_1.ActionParameters.getActionParams().isLinux && !!actionparameters_1.ActionParameters.getActionParams().multiContainerConfigFile)) {
2525
return new WebAppContainerDeployment_1.WebAppContainerDeploymentProvider(type);
2626
}
2727
else {
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
Object.defineProperty(exports, "__esModule", { value: true });
12+
exports.WebAppSiteContainersDeploymentProvider = void 0;
13+
const BaseWebAppDeploymentProvider_1 = require("./BaseWebAppDeploymentProvider");
14+
const SiteContainerDeploymentUtility_1 = require("azure-actions-appservice-rest/Utilities/SiteContainerDeploymentUtility");
15+
class WebAppSiteContainersDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebAppDeploymentProvider {
16+
DeployWebAppStep() {
17+
return __awaiter(this, void 0, void 0, function* () {
18+
let siteContainerDeploymentUtility = new SiteContainerDeploymentUtility_1.SiteContainerDeploymentUtility(this.appService);
19+
let siteContainers = this.actionParams.siteContainers;
20+
for (let i = 0; i < siteContainers.length; i++) {
21+
let siteContainer = siteContainers[i];
22+
yield siteContainerDeploymentUtility.updateSiteContainer(siteContainer);
23+
}
24+
});
25+
}
26+
}
27+
exports.WebAppSiteContainersDeploymentProvider = WebAppSiteContainersDeploymentProvider;

lib/actionparameters.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class ActionParameters {
8181
this._siteContainers = raw.map(SiteContainer_1.SiteContainer.fromJson);
8282
}
8383
else {
84-
this._siteContainers = [];
84+
this._siteContainers = null;
8585
}
8686
}
8787
static getActionParams(endpoint) {

src/ActionInputValidator/ActionValidators/PublishProfileSiteContainersWebAppValidator.ts renamed to src/ActionInputValidator/ActionValidators/SpnWebAppSiteContainersValidator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { packageNotAllowed, multiContainerNotAllowed, startupCommandNotAllowed, validateSingleContainerInputs, validateAppDetails, validateSiteContainersInputs } from "../Validations";
1+
import { packageNotAllowed, multiContainerNotAllowed, startupCommandNotAllowed, validateAppDetails, validateSiteContainersInputs } from "../Validations";
22
import { ActionParameters } from "../../actionparameters";
33
import { IValidator } from "./IValidator";
44

5-
export class PublishProfileSiteContainersWebAppValidator implements IValidator {
5+
export class SpnWebAppSiteContainersValidator implements IValidator {
66
async validate(): Promise<void> {
77
const actionParams: ActionParameters = ActionParameters.getActionParams();
88

src/ActionInputValidator/ValidatorFactory.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,13 @@ import { SpnWindowsWebAppValidator } from "./ActionValidators/SpnWindowsWebAppVa
1212
import { appNameIsRequired } from "./Validations";
1313
import { PublishProfile } from "../Utilities/PublishProfile";
1414
import RuntimeConstants from "../RuntimeConstants";
15-
import { PublishProfileSiteContainersWebAppValidator } from "./ActionValidators/PublishProfileSiteContainersWebAppValidator";
15+
import { SpnWebAppSiteContainersValidator } from "./ActionValidators/SpnWebAppSiteContainersValidator";
1616

1717
export class ValidatorFactory {
1818
public static async getValidator(type: DEPLOYMENT_PROVIDER_TYPES) : Promise<IValidator> {
1919
let actionParams: ActionParameters = ActionParameters.getActionParams();
2020
if (type === DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
21-
if (!!actionParams.siteContainers) {
22-
await this.setResourceDetails(actionParams);
23-
return new PublishProfileSiteContainersWebAppValidator();
24-
}
25-
else if (!!actionParams.images) {
21+
if (!!actionParams.images) {
2622
await this.setResourceDetails(actionParams);
2723
return new PublishProfileContainerWebAppValidator();
2824
}
@@ -35,6 +31,9 @@ export class ValidatorFactory {
3531
appNameIsRequired(actionParams.appName);
3632
await this.getResourceDetails(actionParams);
3733
if (!!actionParams.isLinux) {
34+
if (!!actionParams.siteContainers) {
35+
return new SpnWebAppSiteContainersValidator();
36+
}
3837
if (!!actionParams.images || !!actionParams.multiContainerConfigFile) {
3938
return new SpnLinuxContainerWebAppValidator();
4039
}

src/DeploymentProvider/DeploymentProviderFactory.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,24 @@ import { IWebAppDeploymentProvider } from "./Providers/IWebAppDeploymentProvider
55
import { WebAppContainerDeploymentProvider } from "./Providers/WebAppContainerDeployment";
66
import { WebAppDeploymentProvider } from "./Providers/WebAppDeploymentProvider";
77
import { PublishProfileWebAppContainerDeploymentProvider } from "./Providers/PublishProfileWebAppContainerDeploymentProvider";
8-
import { PublishProfileSiteContainersWebAppDeploymentProvider } from "./Providers/PublishProfileSiteContainersWebAppDeploymentProvider";
8+
import { WebAppSiteContainersDeploymentProvider } from "./Providers/WebAppSiteContainersDeploymentProvider";
99

1010
export class DeploymentProviderFactory {
1111

1212
public static getDeploymentProvider(type: DEPLOYMENT_PROVIDER_TYPES) : IWebAppDeploymentProvider {
1313
if (type === DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
14-
if (!!ActionParameters.getActionParams().siteContainers) {
15-
return new PublishProfileSiteContainersWebAppDeploymentProvider(type);
16-
}
17-
else
1814
if (!!ActionParameters.getActionParams().images) {
1915
return new PublishProfileWebAppContainerDeploymentProvider(type);
2016
}
2117
else {
2218
return new WebAppDeploymentProvider(type);
2319
}
2420
}
25-
else if(type == DEPLOYMENT_PROVIDER_TYPES.SPN) {
26-
if(!!ActionParameters.getActionParams().images || (!!ActionParameters.getActionParams().isLinux && !!ActionParameters.getActionParams().multiContainerConfigFile)) {
21+
else if (type == DEPLOYMENT_PROVIDER_TYPES.SPN) {
22+
if (!!ActionParameters.getActionParams().siteContainers) {
23+
return new WebAppSiteContainersDeploymentProvider(type);
24+
}
25+
else if (!!ActionParameters.getActionParams().images || (!!ActionParameters.getActionParams().isLinux && !!ActionParameters.getActionParams().multiContainerConfigFile)) {
2726
return new WebAppContainerDeploymentProvider(type);
2827
}
2928
else {

src/DeploymentProvider/Providers/PublishProfileSiteContainersWebAppDeploymentProvider.ts renamed to src/DeploymentProvider/Providers/WebAppSiteContainersDeploymentProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { BaseWebAppDeploymentProvider } from './BaseWebAppDeploymentProvider';
22
import { SiteContainerDeploymentUtility } from 'azure-actions-appservice-rest/Utilities/SiteContainerDeploymentUtility';
33

4-
export class PublishProfileSiteContainersWebAppDeploymentProvider extends BaseWebAppDeploymentProvider {
4+
export class WebAppSiteContainersDeploymentProvider extends BaseWebAppDeploymentProvider {
55
public async DeployWebAppStep() {
66
let siteContainerDeploymentUtility = new SiteContainerDeploymentUtility(this.appService);
77
let siteContainers = this.actionParams.siteContainers;

src/actionparameters.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ export class ActionParameters {
7373
const raw = JSON.parse(siteContainersConfigInput);
7474
this._siteContainers = raw.map(SiteContainer.fromJson);
7575
} else {
76-
this._siteContainers = [];
76+
this._siteContainers = null;
7777
}
78-
7978
}
8079

8180
public static getActionParams(endpoint?: IAuthorizer) {

0 commit comments

Comments
 (0)