mirror of
https://onedev.site.tesses.net/crosslang/crosslangextras
synced 2026-02-09 01:25:46 +00:00
Get more done on packageserver
This commit is contained in:
@@ -49,6 +49,9 @@ func DB.LoginButton(ctx,active,$accountPage)
|
||||
func DB.CanUploadPackagePrefix(userId, packageName)
|
||||
{
|
||||
var prefix = packageName.Split(".",true,2);
|
||||
if(prefix.Length >= 1)
|
||||
prefix = prefix[0];
|
||||
else return false;
|
||||
DB.Lock();
|
||||
var dbCon = DB.Open();
|
||||
var exec = Sqlite.Exec(dbCon, $"SELECT * FROM reserved_prefixes WHERE prefix = {Sqlite.Escape(prefix)};");
|
||||
@@ -158,7 +161,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 = {Time.Now} WHERE packageId = {pkgId} AND version = {version};");
|
||||
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.Close(dbCon);
|
||||
DB.Unlock();
|
||||
|
||||
@@ -196,7 +199,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)},{Time.Now});");
|
||||
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.Close(dbCon);
|
||||
DB.Unlock();
|
||||
|
||||
@@ -294,7 +297,19 @@ func DB.GetUserIdFromSession(session)
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
func DB.GetSessionFromBearer(ctx)
|
||||
{
|
||||
var auth = ctx.RequestHeaders.TryGetFirst("Authorization");
|
||||
if(TypeOf(auth) == "String")
|
||||
{
|
||||
auth=auth.Split(" ",true,2);
|
||||
if(auth.Length < 2) return null;
|
||||
if(auth[0] != "Bearer") return null;
|
||||
var uid = DB.GetUserIdFromSession(auth[1]);
|
||||
if(uid != -1) return auth[1];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
func DB.GetSession(ctx)
|
||||
{
|
||||
var cookie = ctx.RequestHeaders.TryGetFirst("Cookie");
|
||||
@@ -337,7 +352,7 @@ func DB.CreateCSRF(ctx)
|
||||
var csrf = Crypto.Base64Encode(Crypto.RandomBytes(32, "CPKG"));
|
||||
|
||||
|
||||
var expires = Time.Now + 600;
|
||||
var expires = DateTime.NowEpoch + 600;
|
||||
DB.Lock();
|
||||
DB.csrf.Add({
|
||||
Token = csrf,
|
||||
@@ -358,7 +373,7 @@ func DB.VerifyCSRF(session,csrf)
|
||||
if(csrf.Length == 0) return false;
|
||||
|
||||
var retVal = false;
|
||||
var time = Time.Now;
|
||||
var time = DateTime.NowEpoch;
|
||||
DB.Lock();
|
||||
var _oldCSRF = DB.csrf;
|
||||
DB.csrf = [];
|
||||
@@ -661,7 +676,6 @@ func DB.QueryPackages(q, offset, limit)
|
||||
DB.Lock();
|
||||
var dbCon = DB.Open();
|
||||
var res = Sqlite.Exec(dbCon, sql);
|
||||
|
||||
Sqlite.Close(dbCon);
|
||||
DB.Unlock();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user