make UserDatabaseReferenceProjectEntry class (#22768)

This commit is contained in:
Kim Santiago
2023-04-18 13:23:09 -07:00
committed by GitHub
parent 2dcbdc9c63
commit 4709eab293

View File

@@ -5,7 +5,7 @@
import * as path from 'path'; import * as path from 'path';
import * as utils from '../common/utils'; import * as utils from '../common/utils';
import { IDacpacReferenceSettings, INugetPackageReferenceSettings, IProjectReferenceSettings } from './IDatabaseReferenceSettings'; import { IDacpacReferenceSettings, INugetPackageReferenceSettings, IProjectReferenceSettings, IUserDatabaseReferenceSettings } from './IDatabaseReferenceSettings';
import { EntryType, IDatabaseReferenceProjectEntry, IFileProjectEntry, IProjectEntry } from 'sqldbproj'; import { EntryType, IDatabaseReferenceProjectEntry, IFileProjectEntry, IProjectEntry } from 'sqldbproj';
import { Uri } from 'vscode'; import { Uri } from 'vscode';
@@ -43,7 +43,7 @@ export class FileProjectEntry extends ProjectEntry implements IFileProjectEntry
} }
} }
export class DacpacReferenceProjectEntry extends FileProjectEntry implements IDatabaseReferenceProjectEntry { abstract class UserDatabaseReferenceProjectEntry extends FileProjectEntry {
databaseSqlCmdVariableValue?: string; databaseSqlCmdVariableValue?: string;
databaseSqlCmdVariableName?: string; databaseSqlCmdVariableName?: string;
databaseVariableLiteralValue?: string; databaseVariableLiteralValue?: string;
@@ -51,10 +51,9 @@ export class DacpacReferenceProjectEntry extends FileProjectEntry implements IDa
serverSqlCmdVariableValue?: string; serverSqlCmdVariableValue?: string;
suppressMissingDependenciesErrors: boolean; suppressMissingDependenciesErrors: boolean;
constructor(settings: IDacpacReferenceSettings) { constructor(settings: IUserDatabaseReferenceSettings, uri: Uri) {
super(settings.dacpacFileLocation, /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference); super(uri, /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference);
this.suppressMissingDependenciesErrors = settings.suppressMissingDependenciesErrors; this.suppressMissingDependenciesErrors = settings.suppressMissingDependenciesErrors;
this.databaseVariableLiteralValue = settings.databaseVariableLiteralValue; this.databaseVariableLiteralValue = settings.databaseVariableLiteralValue;
this.databaseSqlCmdVariableName = settings.databaseName; this.databaseSqlCmdVariableName = settings.databaseName;
this.databaseSqlCmdVariableValue = settings.databaseVariable; this.databaseSqlCmdVariableValue = settings.databaseVariable;
@@ -62,6 +61,12 @@ export class DacpacReferenceProjectEntry extends FileProjectEntry implements IDa
this.serverSqlCmdVariableName = settings.serverName; this.serverSqlCmdVariableName = settings.serverName;
this.serverSqlCmdVariableValue = settings.serverVariable; this.serverSqlCmdVariableValue = settings.serverVariable;
} }
}
export class DacpacReferenceProjectEntry extends UserDatabaseReferenceProjectEntry implements IDatabaseReferenceProjectEntry {
constructor(settings: IDacpacReferenceSettings) {
super(settings, settings.dacpacFileLocation,);
}
/** /**
* File name that gets displayed in the project tree * File name that gets displayed in the project tree
@@ -89,29 +94,15 @@ export class SystemDatabaseReferenceProjectEntry extends FileProjectEntry implem
} }
} }
export class SqlProjectReferenceProjectEntry extends FileProjectEntry implements IDatabaseReferenceProjectEntry { export class SqlProjectReferenceProjectEntry extends UserDatabaseReferenceProjectEntry implements IDatabaseReferenceProjectEntry {
public projectName: string; public projectName: string;
public projectGuid: string; public projectGuid: string;
public databaseVariableLiteralValue?: string;
public databaseSqlCmdVariableName?: string;
public databaseSqlCmdVariableValue?: string;
public serverSqlCmdVariableName?: string;
public serverSqlCmdVariableValue?: string;
public suppressMissingDependenciesErrors: boolean;
constructor(settings: IProjectReferenceSettings) { constructor(settings: IProjectReferenceSettings) {
super(settings.projectRelativePath!, /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference); super(settings, settings.projectRelativePath!);
this.projectName = settings.projectName; this.projectName = settings.projectName;
this.projectGuid = settings.projectGuid; this.projectGuid = settings.projectGuid;
this.suppressMissingDependenciesErrors = settings.suppressMissingDependenciesErrors;
this.databaseVariableLiteralValue = settings.databaseVariableLiteralValue;
this.databaseSqlCmdVariableName = settings.databaseName;
this.databaseSqlCmdVariableValue = settings.databaseVariable;
this.serverSqlCmdVariableName = settings.serverName;
this.serverSqlCmdVariableValue = settings.serverVariable;
} }
public get referenceName(): string { public get referenceName(): string {
@@ -124,26 +115,12 @@ export class SqlProjectReferenceProjectEntry extends FileProjectEntry implements
} }
} }
export class NugetPackageReferenceProjectEntry extends FileProjectEntry implements IDatabaseReferenceProjectEntry { export class NugetPackageReferenceProjectEntry extends UserDatabaseReferenceProjectEntry implements IDatabaseReferenceProjectEntry {
databaseSqlCmdVariableValue?: string;
databaseSqlCmdVariableName?: string;
databaseVariableLiteralValue?: string;
serverSqlCmdVariableName?: string;
serverSqlCmdVariableValue?: string;
suppressMissingDependenciesErrors: boolean;
packageName: string; packageName: string;
constructor(settings: INugetPackageReferenceSettings) { constructor(settings: INugetPackageReferenceSettings) {
super(Uri.file(settings.packageName), /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference); super(settings, Uri.file(settings.packageName));
this.packageName = settings.packageName; this.packageName = settings.packageName;
this.suppressMissingDependenciesErrors = settings.suppressMissingDependenciesErrors;
this.databaseVariableLiteralValue = settings.databaseVariableLiteralValue;
this.databaseSqlCmdVariableName = settings.databaseName;
this.databaseSqlCmdVariableValue = settings.databaseVariable;
this.serverSqlCmdVariableName = settings.serverName;
this.serverSqlCmdVariableValue = settings.serverVariable;
} }
public get referenceName(): string { public get referenceName(): string {