web server

This commit is contained in:
2026-05-20 14:10:25 +07:00
parent 5ade939ff9
commit 190d2418da
30 changed files with 8917 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
USE [RobotInstaller];
GO
CREATE OR ALTER VIEW dbo.vw_PackageList
AS
SELECT
p.Id,
p.PackageCode,
p.PackageName,
p.PackageType,
p.Description,
p.IsActive,
p.CreatedAt,
p.UpdatedAt,
p.CreatedByUserId,
u.Username AS CreatedByUsername,
latest.Id AS LatestVersionId,
latest.Version AS LatestVersion,
latest.ReleaseDate AS LatestReleaseDate,
latest.FilePath AS LatestFilePath,
latest.DockerImage AS LatestDockerImage,
version_count.VersionCount
FROM dbo.Packages AS p
INNER JOIN dbo.Users AS u
ON u.Id = p.CreatedByUserId
OUTER APPLY
(
SELECT TOP (1)
pv.Id,
pv.Version,
pv.ReleaseDate,
pv.FilePath,
pv.DockerImage
FROM dbo.PackageVersions AS pv
WHERE pv.PackageId = p.Id
ORDER BY pv.IsLatest DESC, pv.ReleaseDate DESC, pv.UploadedAt DESC
) AS latest
OUTER APPLY
(
SELECT COUNT_BIG(*) AS VersionCount
FROM dbo.PackageVersions AS pv
WHERE pv.PackageId = p.Id
) AS version_count;
GO
CREATE OR ALTER VIEW dbo.vw_PackageVersionList
AS
SELECT
pv.Id,
pv.PackageId,
p.PackageCode,
p.PackageName,
p.PackageType,
pv.Version,
pv.FilePath,
pv.DockerImage,
pv.FileChecksumSha256,
pv.FileSizeBytes,
pv.ChangeLog,
pv.ReleaseDate,
pv.UploadedAt,
pv.IsLatest,
pv.IsDeprecated
FROM dbo.PackageVersions AS pv
INNER JOIN dbo.Packages AS p
ON p.Id = pv.PackageId;
GO
CREATE OR ALTER VIEW dbo.vw_ApplicationList
AS
SELECT
a.Id,
a.AppCode,
a.AppName,
a.AppVersion,
a.Description,
a.Status,
a.Notes,
a.CreatedAt,
a.UpdatedAt,
a.CreatedByUserId,
u.Username AS CreatedByUsername,
COUNT_BIG(ap.Id) AS PackageCount
FROM dbo.Applications AS a
INNER JOIN dbo.Users AS u
ON u.Id = a.CreatedByUserId
LEFT JOIN dbo.ApplicationPackages AS ap
ON ap.ApplicationId = a.Id
GROUP BY
a.Id,
a.AppCode,
a.AppName,
a.AppVersion,
a.Description,
a.Status,
a.Notes,
a.CreatedAt,
a.UpdatedAt,
a.CreatedByUserId,
u.Username;
GO
CREATE OR ALTER VIEW dbo.vw_ApplicationPackageDetails
AS
SELECT
ap.Id,
ap.ApplicationId,
a.AppCode,
a.AppName,
a.AppVersion,
ap.PackageId,
p.PackageCode,
p.PackageName,
p.PackageType,
ap.SelectedVersionId,
pv.Version AS SelectedVersion,
pv.FilePath,
pv.DockerImage,
ap.AddedAt,
ap.Notes
FROM dbo.ApplicationPackages AS ap
INNER JOIN dbo.Applications AS a
ON a.Id = ap.ApplicationId
INNER JOIN dbo.Packages AS p
ON p.Id = ap.PackageId
LEFT JOIN dbo.PackageVersions AS pv
ON pv.Id = ap.SelectedVersionId;
GO
PRINT N'RobotInstaller views were created successfully.';
GO