Removed NioTSO client and server

- NioTSO client isn't needed because we're using RayLib
- Added FreeSO's API server to handle most backend operations
This commit is contained in:
Tony Bark 2024-05-01 02:55:43 -04:00
parent f12ba1502b
commit 22191ce648
591 changed files with 53264 additions and 3362 deletions

View file

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
namespace FSO.Server.Database.DA.LotVisitors
{
public interface ILotVisits
{
/// <summary>
/// Records a new visit to a lot. A visit id is returned which can be used to record
/// when the visit ends
/// </summary>
/// <param name="avatar_id"></param>
/// <param name="visitor_type"></param>
/// <param name="lot_id"></param>
/// <returns></returns>
int? Visit(uint avatar_id, DbLotVisitorType visitor_type, int lot_id);
/// <summary>
/// Records that a visit has ended
/// </summary>
/// <param name="visit_id"></param>
void Leave(int visit_id);
/// <summary>
/// Updates the timestamp on active visits. This helps detect the difference between
/// a long visit and an error where the visit did not get closed.
///
/// This also lets us calculate Top 100 without downtime as we can be inclusive
/// of active tickets
/// </summary>
/// <param name="visit_ids"></param>
void Renew(IEnumerable<int> visit_ids);
/// <summary>
/// Purge data older than the date given
/// </summary>
/// <param name="days"></param>
void PurgeByDate(DateTime date);
/// <summary>
///
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
IEnumerable<DbLotVisit> StreamBetween(int shard_id, DateTime start, DateTime end);
/// <summary>
///
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
IEnumerable<DbLotVisitNhood> StreamBetweenPlusNhood(int shard_id, DateTime start, DateTime end);
/// <summary>
///
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
IEnumerable<DbLotVisitNhood> StreamBetweenOneNhood(uint nhood_id, DateTime start, DateTime end);
}
}