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 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 { 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;
databaseSqlCmdVariableName?: string;
databaseVariableLiteralValue?: string;
@@ -51,10 +51,9 @@ export class DacpacReferenceProjectEntry extends FileProjectEntry implements IDa
serverSqlCmdVariableValue?: string;
suppressMissingDependenciesErrors: boolean;
constructor(settings: IDacpacReferenceSettings) {
super(settings.dacpacFileLocation, /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference);
constructor(settings: IUserDatabaseReferenceSettings, uri: Uri) {
super(uri, /* relativePath doesn't get set for database references */ '', EntryType.DatabaseReference);
this.suppressMissingDependenciesErrors = settings.suppressMissingDependenciesErrors;
this.databaseVariableLiteralValue = settings.databaseVariableLiteralValue;
this.databaseSqlCmdVariableName = settings.databaseName;
this.databaseSqlCmdVariableValue = settings.databaseVariable;
@@ -62,6 +61,12 @@ export class DacpacReferenceProjectEntry extends FileProjectEntry implements IDa
this.serverSqlCmdVariableName = settings.serverName;
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
@@ -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 projectGuid: string;
public databaseVariableLiteralValue?: string;
public databaseSqlCmdVariableName?: string;
public databaseSqlCmdVariableValue?: string;
public serverSqlCmdVariableName?: string;
public serverSqlCmdVariableValue?: string;
public suppressMissingDependenciesErrors: boolean;
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.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 {
@@ -124,26 +115,12 @@ export class SqlProjectReferenceProjectEntry extends FileProjectEntry implements
}
}
export class NugetPackageReferenceProjectEntry extends FileProjectEntry implements IDatabaseReferenceProjectEntry {
databaseSqlCmdVariableValue?: string;
databaseSqlCmdVariableName?: string;
databaseVariableLiteralValue?: string;
serverSqlCmdVariableName?: string;
serverSqlCmdVariableValue?: string;
suppressMissingDependenciesErrors: boolean;
export class NugetPackageReferenceProjectEntry extends UserDatabaseReferenceProjectEntry implements IDatabaseReferenceProjectEntry {
packageName: string;
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.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 {