Skip to content

Commit c390df0

Browse files
committed
add validator for sitecontainers with publish profile
1 parent 1808f5b commit c390df0

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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.PublishProfileWebAppSiteContainersValidator = void 0;
13+
class PublishProfileWebAppSiteContainersValidator {
14+
validate() {
15+
return __awaiter(this, void 0, void 0, function* () {
16+
throw new Error("publish-profile is not supported for Site Containers scenario");
17+
});
18+
}
19+
}
20+
exports.PublishProfileWebAppSiteContainersValidator = PublishProfileWebAppSiteContainersValidator;

lib/ActionInputValidator/ValidatorFactory.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,14 @@ const Validations_1 = require("./Validations");
5050
const PublishProfile_1 = require("../Utilities/PublishProfile");
5151
const RuntimeConstants_1 = __importDefault(require("../RuntimeConstants"));
5252
const SpnWebAppSiteContainersValidator_1 = require("./ActionValidators/SpnWebAppSiteContainersValidator");
53+
const PublishProfileWebAppSiteContainersValidator_1 = require("./ActionValidators/PublishProfileWebAppSiteContainersValidator");
5354
class ValidatorFactory {
5455
static getValidator(type) {
5556
return __awaiter(this, void 0, void 0, function* () {
5657
let actionParams = actionparameters_1.ActionParameters.getActionParams();
5758
if (type === BaseWebAppDeploymentProvider_1.DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
5859
if (!!actionParams.blessedAppSitecontainers || !!actionParams.siteContainers) {
59-
throw new Error("publish-profile is not supported for Site Containers scenario");
60+
return [new PublishProfileWebAppSiteContainersValidator_1.PublishProfileWebAppSiteContainersValidator()];
6061
}
6162
else if (!!actionParams.images) {
6263
yield this.setResourceDetails(actionParams);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { IValidator } from "./IValidator";
2+
3+
export class PublishProfileWebAppSiteContainersValidator implements IValidator {
4+
async validate(): Promise<void> {
5+
throw new Error("publish-profile is not supported for Site Containers scenario");
6+
}
7+
}

src/ActionInputValidator/ActionValidators/SpnWebAppSiteContainersValidator.ts

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

src/ActionInputValidator/ValidatorFactory.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ import { appNameIsRequired } from "./Validations";
1414
import { PublishProfile } from "../Utilities/PublishProfile";
1515
import RuntimeConstants from "../RuntimeConstants";
1616
import { SpnWebAppSiteContainersValidator } from "./ActionValidators/SpnWebAppSiteContainersValidator";
17+
import { PublishProfileWebAppSiteContainersValidator } from "./ActionValidators/PublishProfileWebAppSiteContainersValidator"
1718

1819
export class ValidatorFactory {
1920
public static async getValidator(type: DEPLOYMENT_PROVIDER_TYPES) : Promise<IValidator[]> {
2021
let actionParams: ActionParameters = ActionParameters.getActionParams();
2122
if(type === DEPLOYMENT_PROVIDER_TYPES.PUBLISHPROFILE) {
2223
if (!!actionParams.blessedAppSitecontainers || !!actionParams.siteContainers) {
23-
throw new Error("publish-profile is not supported for Site Containers scenario");
24+
return [new PublishProfileWebAppSiteContainersValidator()];
2425
}
2526
else if (!!actionParams.images) {
2627
await this.setResourceDetails(actionParams);

0 commit comments

Comments
 (0)