mirror of
https://onedev.site.tesses.net/crosslang/crosslangextras
synced 2026-02-08 09:05:46 +00:00
Add publish to crosslang and add plugin_host support for packages
This commit is contained in:
@@ -104,7 +104,7 @@ func DB.Init(working)
|
||||
|
||||
var dbCon = DB.Open();
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS packages (id INTEGER PRIMARY KEY AUTOINCREMENT, packageName TEXT UNIQUE, accountId INTEGER);");
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS versions (id INTEGER PRIMARY KEY AUTOINCREMENT, packageId INTEGER, version INTEGER, description TEXT, type TEXT, maintainer TEXT, homepage TEXT, repo TEXT, license TEXT, uploadTime INTEGER);");
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS versions (id INTEGER PRIMARY KEY AUTOINCREMENT, packageId INTEGER, version INTEGER, description TEXT, type TEXT, maintainer TEXT, homepage TEXT, repo TEXT, license TEXT, uploadTime INTEGER, pluginHost TEXT);");
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS accounts (id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT UNIQUE, accountName TEXT UNIQUE, password_hash TEXT, password_salt TEXT, motto TEXT, verifyKey TEXT UNIQUE, verifyExpire INTEGER, flags INTEGER);");
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS sessions (id INTEGER PRIMARY KEY AUTOINCREMENT, accountId INTEGER, key STRING UNIQUE);");
|
||||
Sqlite.Exec(dbCon,"CREATE TABLE IF NOT EXISTS reserved_prefixes (id INTEGER PRIMARY KEY AUTOINCREMENT, accountId INTEGER, prefix STRING UNIQUE);");
|
||||
|
||||
@@ -24,6 +24,8 @@ func DB.GetPackageVersions(name)
|
||||
var list = [];
|
||||
each(var item : res)
|
||||
{
|
||||
var pluginHost = item.pluginHost;
|
||||
if(TypeOf(pluginHost) != "String") pluginHost = "";
|
||||
var version = Version.FromLong(ParseLong(item.version)).ToString();
|
||||
var uploadTime = ParseLong(item.uploadTime);
|
||||
list.Add({
|
||||
@@ -39,6 +41,7 @@ func DB.GetPackageVersions(name)
|
||||
license = item.license,
|
||||
uploadTime,
|
||||
uploadDate=new DateTime(uploadTime).ToString("%Y/%m/%d %H:%M:%S UTC")
|
||||
pluginHost
|
||||
});
|
||||
}
|
||||
return list;
|
||||
@@ -63,7 +66,9 @@ func DB.UpdateVersion(pkgInfo)
|
||||
var homepage = info.homepage;
|
||||
var repo = info.repo;
|
||||
var license = info.license;
|
||||
var pluginHost = info.plugin_host;
|
||||
if(TypeOf(description) != "String") description="";
|
||||
if(TypeOf(pluginHost) != "String") pluginHost = "";
|
||||
|
||||
if(TypeOf(type) != "String") type="";
|
||||
|
||||
@@ -77,7 +82,7 @@ func DB.UpdateVersion(pkgInfo)
|
||||
|
||||
//CREATE TABLE IF NOT EXISTS versions (id INTEGER PRIMARY KEY AUTOINCREMENT, packageId INTEGER, version INTEGER, description TEXT, type TEXT, maintainer TEXT, homepage TEXT, repo TEXT, license TEXT);
|
||||
//VALUES ({pkgId},{version},{Sqlite.Escape(description)},{Sqlite.Escape(type)},{Sqlite.Escape(maintainer)},{Sqlite.Escape(homepage)},{Sqlite.Escape(repo)},{Sqlite.Escape(license)});
|
||||
Sqlite.Exec(dbCon,$"UPDATE versions SET description = {Sqlite.Escape(description)}, type = {Sqlite.Escape(type)}, maintainer = {Sqlite.Escape(maintainer)}, homepage = {Sqlite.Escape(homepage)}, repo = {Sqlite.Escape(repo)}, license = {Sqlite.Escape(license)}, uploadTime = {DateTime.NowEpoch} WHERE packageId = {pkgId} AND version = {version};");
|
||||
Sqlite.Exec(dbCon,$"UPDATE versions SET pluginHost = {Sqlite.Escape(pluginHost)}, description = {Sqlite.Escape(description)}, type = {Sqlite.Escape(type)}, maintainer = {Sqlite.Escape(maintainer)}, homepage = {Sqlite.Escape(homepage)}, repo = {Sqlite.Escape(repo)}, license = {Sqlite.Escape(license)}, uploadTime = {DateTime.NowEpoch} WHERE packageId = {pkgId} AND version = {version};");
|
||||
Sqlite.Close(dbCon);
|
||||
DB.Unlock();
|
||||
|
||||
@@ -101,6 +106,8 @@ func DB.AddVersion(pkgInfo)
|
||||
var homepage = info.homepage;
|
||||
var repo = info.repo;
|
||||
var license = info.license;
|
||||
var pluginHost = info.plugin_host;
|
||||
if(TypeOf(pluginHost) != "String") pluginHost = "";
|
||||
if(TypeOf(description) != "String") description="";
|
||||
|
||||
if(TypeOf(type) != "String") type="";
|
||||
@@ -115,7 +122,7 @@ func DB.AddVersion(pkgInfo)
|
||||
|
||||
//CREATE TABLE IF NOT EXISTS versions (id INTEGER PRIMARY KEY AUTOINCREMENT, packageId INTEGER, version INTEGER, description TEXT, type TEXT, maintainer TEXT, homepage TEXT, repo TEXT, license TEXT);
|
||||
|
||||
Sqlite.Exec(dbCon,$"INSERT INTO versions (packageId,version,description,type,maintainer,homepage,repo,license,uploadTime) VALUES ({pkgId},{version},{Sqlite.Escape(description)},{Sqlite.Escape(type)},{Sqlite.Escape(maintainer)},{Sqlite.Escape(homepage)},{Sqlite.Escape(repo)},{Sqlite.Escape(license)},{DateTime.NowEpoch});");
|
||||
Sqlite.Exec(dbCon,$"INSERT INTO versions (packageId,version,description,type,maintainer,homepage,repo,license,uploadTime,pluginHost) VALUES ({pkgId},{version},{Sqlite.Escape(description)},{Sqlite.Escape(type)},{Sqlite.Escape(maintainer)},{Sqlite.Escape(homepage)},{Sqlite.Escape(repo)},{Sqlite.Escape(license)},{DateTime.NowEpoch},Sqlite.Escape(pluginHost));");
|
||||
Sqlite.Close(dbCon);
|
||||
DB.Unlock();
|
||||
|
||||
|
||||
@@ -112,6 +112,11 @@ func Pages.Package(ctx,name)
|
||||
<li>Last updated: {new DateTime(package[0].uploadTime).ToString("%Y/%m/%d %H:%M:%S UTC")}</li>
|
||||
<li>Latest version: {package[0].version}</li>
|
||||
<li>Type: {package[0].type}</li>
|
||||
<if(packages[0].pluginHost.Length>0)>
|
||||
<true>
|
||||
<li>PluginHost: {package[0].pluginHost}</li>
|
||||
</true>
|
||||
</if>
|
||||
<li><a href={package[0].download}>Download</a></li>
|
||||
<li><a href={package[0].docs}>View Docs</a></li>
|
||||
</ul>
|
||||
@@ -153,6 +158,11 @@ func Pages.Package(ctx,name)
|
||||
</if>
|
||||
<li>Uploaded: {new DateTime(package[i].uploadTime).ToString("%Y/%m/%d %H:%M:%S UTC")}</li>
|
||||
<li>Type: {package[i].type}</li>
|
||||
<if(packages[i].pluginHost.Length>0)>
|
||||
<true>
|
||||
<li>PluginHost: {package[i].pluginHost}</li>
|
||||
</true>
|
||||
</if>
|
||||
<li><a href={package[i].download}>Download</a></li>
|
||||
|
||||
<li><a href={package[i].docs}>View Docs</a></li>
|
||||
|
||||
@@ -71,13 +71,19 @@ func main(args)
|
||||
}
|
||||
if(ctx.Path == "/api/v1/search")
|
||||
{
|
||||
var filter = ctx.QueryParams.TryGetFirst("filter");
|
||||
if(TypeOf(filter) != "String") filter = "";
|
||||
var filters = filter.Length > 0 ? filter.Split(",") : [];
|
||||
|
||||
if(filters.Length > 0)
|
||||
var filter = "";
|
||||
var type = ctx.QueryParams.TryGetFirst("type");
|
||||
if(TypeOf(type) != "String") type = "";
|
||||
var types = type.Length > 0 ? type.Split(",") : [];
|
||||
|
||||
var pluginHost = ctx.QueryParams.TryGetFirst("pluginHost");
|
||||
if(TypeOf(pluginHost) == "String")
|
||||
{
|
||||
filter = " AND (";
|
||||
filter += $" AND v.pluginHost = {Sqlite.Escape(pluginHost)}";
|
||||
}
|
||||
if(types.Length > 0)
|
||||
{
|
||||
filter += " AND (";
|
||||
var first = true;
|
||||
each(var item : filters)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user