flower comment supported

This commit is contained in:
2023-08-07 08:43:11 +08:00
parent cec1e3bf71
commit 697631c8d3
14 changed files with 860 additions and 17 deletions

View File

@ -37,6 +37,7 @@ public class EventApiController : BaseController
/// p: bool?
///
/// </remarks>
/// <param name="flowerId">花草唯一 id</param>
/// <param name="eventId">事件类型 id</param>
/// <param name="key">查询关键字</param>
/// <param name="from">起始日期</param>
@ -56,6 +57,7 @@ public class EventApiController : BaseController
[HttpGet]
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]
public ActionResult<RecordItem[]> GetRecords(
[FromQuery(Name = "fid")] int? flowerId,
[FromQuery(Name = "eid")] int? eventId,
[FromQuery] string? key,
[FromQuery] long? from,
@ -74,7 +76,25 @@ public class EventApiController : BaseController
SaveDatabase();
var records = database.Records.Where(r => r.OwnerId == user.Id);
var records = database.Records.Where(r => r.OwnerId == user.Id).Select(r => new RecordItem
{
Id = r.Id,
OwnerId = r.OwnerId,
ByUserId = r.ByUserId,
DateUnixTime = r.DateUnixTime,
EventId = r.EventId,
FlowerId = r.FlowerId,
IsHidden = r.IsHidden,
Latitude = r.Latitude,
Longitude = r.Longitude,
Title = r.Title,
Memo = r.Memo,
ByUserName = string.IsNullOrEmpty(r.ByUserName) && r.ByUserId != null ? database.Users.Single(u => u.Id == r.ByUserId).Name : r.ByUserName
});
if (flowerId != null)
{
records = records.Where(r => r.FlowerId == flowerId);
}
if (eventId != null)
{
records = records.Where(r => r.EventId == eventId);
@ -99,7 +119,16 @@ public class EventApiController : BaseController
records = records.Include(r => r.Photos);
}
return Ok(records.ToArray());
var array = records.ToArray();
foreach (var r in array)
{
if (string.IsNullOrEmpty(r.ByUserName))
{
r.ByUserName = user.Name;
}
}
return Ok(array);
}
/// <summary>
@ -249,8 +278,10 @@ public class EventApiController : BaseController
FlowerId = @event.FlowerId,
EventId = @event.CategoryId,
DateUnixTime = now,
IsHidden = @event.IsHidden,
ByUserId = @event.ByUser == null ? user.Id : null,
ByUserName = @event.ByUser,
Title = @event.Title,
Memo = @event.Memo,
Latitude = @event.Latitude,
Longitude = @event.Longitude
@ -357,6 +388,7 @@ public class EventApiController : BaseController
record.FlowerId = update.FlowerId;
record.EventId = update.CategoryId;
record.DateUnixTime = now;
record.IsHidden = update.IsHidden;
if (update.ByUser == null)
{
record.ByUserId = user.Id;
@ -367,6 +399,7 @@ public class EventApiController : BaseController
record.ByUserId = null;
record.ByUserName = update.ByUser;
}
record.Title = update.Title;
record.Memo = update.Memo;
record.Latitude = update.Latitude;
record.Longitude = update.Longitude;

View File

@ -25,21 +25,26 @@ public record EventParameter
/// <summary>
/// 操作人姓名
/// </summary>
[Required]
[FromForm(Name = "byUser")]
public required string ByUser { get; init; }
public string? ByUser { get; init; }
/// <summary>
/// 标题
/// </summary>
[FromForm(Name = "title")]
public string? Title { get; init; }
/// <summary>
/// 备注
/// </summary>
[FromForm(Name = "memo")]
public string? Memo { get; set; }
public string? Memo { get; init; }
/// <summary>
/// 纬度
/// </summary>
[FromForm(Name = "lat")]
public double? Latitude { get; set; }
public double? Latitude { get; init; }
/// <summary>
/// 经度
@ -47,6 +52,12 @@ public record EventParameter
[FromForm(Name = "lon")]
public double? Longitude { get; set; }
/// <summary>
/// 是否为私有记录
/// </summary>
[FromForm(Name = "hidden")]
public bool? IsHidden { get; init; }
/// <summary>
/// 关联的照片
/// </summary>
@ -64,5 +75,5 @@ public record EventUpdateParameter : EventParameter
/// </summary>
[Required]
[FromForm(Name = "id")]
public required int Id { get; set; }
public required int Id { get; init; }
}

View File

@ -301,7 +301,7 @@ public class FlowerApiController : BaseController
var loc = database.Records
.OrderByDescending(r => r.DateUnixTime)
.FirstOrDefault(r => r.FlowerId == id && (r.EventId == (int)EventTypes.Move || r.EventId == (int)EventTypes.Born));
.SingleOrDefault(r => r.FlowerId == id && (r.EventId == (int)EventTypes.Move || r.EventId == (int)EventTypes.Born));
if (loc != null)
{
item.Location = loc.Memo;

View File

@ -64,25 +64,25 @@ public record FlowerParameter : CoverParameter
/// 备注
/// </summary>
[FromForm(Name = "memo")]
public string? Memo { get; set; }
public string? Memo { get; init; }
/// <summary>
/// 纬度
/// </summary>
[FromForm(Name = "lat")]
public double? Latitude { get; set; }
public double? Latitude { get; init; }
/// <summary>
/// 经度
/// </summary>
[FromForm(Name = "lon")]
public double? Longitude { get; set; }
public double? Longitude { get; init; }
/// <summary>
/// 存放位置
/// </summary>
[FromForm(Name = "location")]
public string? Location { get; set; }
public string? Location { get; init; }
}
/// <summary>
@ -114,13 +114,13 @@ public record FlowerCoverParameter : CoverParameter
/// 纬度
/// </summary>
[FromForm(Name = "lat")]
public double? Latitude { get; set; }
public double? Latitude { get; init; }
/// <summary>
/// 经度
/// </summary>
[FromForm(Name = "lon")]
public double? Longitude { get; set; }
public double? Longitude { get; init; }
}
/// <summary>

View File

@ -93,7 +93,7 @@ public class ImageController : BaseController
{
return BadRequest();
}
if (!referrer.StartsWith(BaseUrl))
if (!referrer.StartsWith("https://app.tsanie.org"))
{
return Forbid();
}