ApiLogEntry.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. namespace EVCB_OCPP.Domain.Models.Database
  2. {
  3. using Microsoft.EntityFrameworkCore;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.ComponentModel.DataAnnotations;
  8. using System.ComponentModel.DataAnnotations.Schema;
  9. [Table("ApiLogEntry")]
  10. [Index(nameof(RequestTimestamp), IsUnique = true)]
  11. public class ApiLogEntry
  12. {
  13. /// <summary>
  14. /// // The (database) ID for the API log entry.
  15. /// </summary>
  16. [Key]
  17. public long ApiLogEntryId { get; set; }
  18. /// <summary>
  19. /// The application that made the request.
  20. /// </summary>
  21. public string Application { get; set; }
  22. /// <summary>
  23. /// The user that made the request.
  24. /// </summary>
  25. public string User { get; set; }
  26. /// <summary>
  27. /// The machine that made the request.
  28. /// </summary>
  29. public string Machine { get; set; }
  30. /// <summary>
  31. /// The IP address that made the request.
  32. /// </summary>
  33. public string RequestIpAddress { get; set; }
  34. /// <summary>
  35. /// The request content type.
  36. /// </summary>
  37. public string RequestContentType { get; set; }
  38. /// <summary>
  39. /// The request content body.
  40. /// </summary>
  41. public string RequestContentBody { get; set; }
  42. /// <summary>
  43. /// The request URI.
  44. /// </summary>
  45. public string RequestUri { get; set; }
  46. /// <summary>
  47. /// The request method (GET, POST, etc).
  48. /// </summary>
  49. public string RequestMethod { get; set; }
  50. /// <summary>
  51. /// // The request route template.
  52. /// </summary>
  53. public string RequestRouteTemplate { get; set; }
  54. /// <summary>
  55. /// // The request route data.
  56. /// </summary>
  57. public string RequestRouteData { get; set; }
  58. /// <summary>
  59. /// The request headers.
  60. /// </summary>
  61. public string RequestHeaders { get; set; }
  62. /// <summary>
  63. /// // The request timestamp.
  64. /// </summary>
  65. public DateTime? RequestTimestamp { get; set; }
  66. /// <summary>
  67. /// The response content type.
  68. /// </summary>
  69. public string ResponseContentType { get; set; }
  70. /// <summary>
  71. /// The response content body.
  72. /// </summary>
  73. public string ResponseContentBody { get; set; }
  74. /// <summary>
  75. /// The response status code.
  76. /// </summary>
  77. public int? ResponseStatusCode { get; set; }
  78. /// <summary>
  79. /// The response headers.
  80. /// </summary>
  81. public string ResponseHeaders { get; set; }
  82. /// <summary>
  83. /// The response timestamp.
  84. /// </summary>
  85. public DateTime? ResponseTimestamp { get; set; }
  86. /// <summary>
  87. /// 從server丟出去的請求
  88. /// </summary>
  89. public bool IsOutData { get; set; }
  90. /// <summary>
  91. /// 錯誤訊息
  92. /// </summary>
  93. public string ErrorMsg { get; set; }
  94. /// <summary>
  95. /// 錯誤時間
  96. /// </summary>
  97. public DateTime? ErrorOn { get; set; }
  98. }
  99. }