mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-14 11:48:28 -04:00
132 lines
4.5 KiB
C#
132 lines
4.5 KiB
C#
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
|
|
// WILL NOT BE SAVED. MODIFY TABLES IN RUST INSTEAD.
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using SpacetimeDB;
|
|
|
|
namespace SpacetimeDB.Types
|
|
{
|
|
[Newtonsoft.Json.JsonObject(Newtonsoft.Json.MemberSerialization.OptIn)]
|
|
public partial class Message : IDatabaseTable
|
|
{
|
|
[Newtonsoft.Json.JsonProperty("sender")]
|
|
public SpacetimeDB.Identity Sender;
|
|
[Newtonsoft.Json.JsonProperty("sent")]
|
|
public ulong Sent;
|
|
[Newtonsoft.Json.JsonProperty("text")]
|
|
public string Text;
|
|
|
|
|
|
private static void InternalOnValueInserted(object insertedValue)
|
|
{
|
|
var val = (Message)insertedValue;
|
|
}
|
|
|
|
private static void InternalOnValueDeleted(object deletedValue)
|
|
{
|
|
var val = (Message)deletedValue;
|
|
}
|
|
|
|
public static SpacetimeDB.SATS.AlgebraicType GetAlgebraicType()
|
|
{
|
|
return SpacetimeDB.SATS.AlgebraicType.CreateProductType(new SpacetimeDB.SATS.ProductTypeElement[]
|
|
{
|
|
new SpacetimeDB.SATS.ProductTypeElement("sender", SpacetimeDB.SATS.AlgebraicType.CreateProductType(new SpacetimeDB.SATS.ProductTypeElement[]
|
|
{
|
|
new SpacetimeDB.SATS.ProductTypeElement("__identity_bytes", SpacetimeDB.SATS.AlgebraicType.CreateArrayType(SpacetimeDB.SATS.AlgebraicType.CreatePrimitiveType(SpacetimeDB.SATS.BuiltinType.Type.U8))),
|
|
})),
|
|
new SpacetimeDB.SATS.ProductTypeElement("sent", SpacetimeDB.SATS.AlgebraicType.CreatePrimitiveType(SpacetimeDB.SATS.BuiltinType.Type.U64)),
|
|
new SpacetimeDB.SATS.ProductTypeElement("text", SpacetimeDB.SATS.AlgebraicType.CreatePrimitiveType(SpacetimeDB.SATS.BuiltinType.Type.String)),
|
|
});
|
|
}
|
|
|
|
public static explicit operator Message(SpacetimeDB.SATS.AlgebraicValue value)
|
|
{
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
var productValue = value.AsProductValue();
|
|
return new Message
|
|
{
|
|
Sender = SpacetimeDB.Identity.From(productValue.elements[0].AsProductValue().elements[0].AsBytes()),
|
|
Sent = productValue.elements[1].AsU64(),
|
|
Text = productValue.elements[2].AsString(),
|
|
};
|
|
}
|
|
|
|
public static System.Collections.Generic.IEnumerable<Message> Iter()
|
|
{
|
|
foreach(var entry in SpacetimeDBClient.clientDB.GetEntries("Message"))
|
|
{
|
|
yield return (Message)entry.Item2;
|
|
}
|
|
}
|
|
public static int Count()
|
|
{
|
|
return SpacetimeDBClient.clientDB.Count("Message");
|
|
}
|
|
public static System.Collections.Generic.IEnumerable<Message> FilterBySender(SpacetimeDB.Identity value)
|
|
{
|
|
foreach(var entry in SpacetimeDBClient.clientDB.GetEntries("Message"))
|
|
{
|
|
var productValue = entry.Item1.AsProductValue();
|
|
var compareValue = Identity.From(productValue.elements[0].AsProductValue().elements[0].AsBytes());
|
|
if (compareValue == value) {
|
|
yield return (Message)entry.Item2;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static System.Collections.Generic.IEnumerable<Message> FilterBySent(ulong value)
|
|
{
|
|
foreach(var entry in SpacetimeDBClient.clientDB.GetEntries("Message"))
|
|
{
|
|
var productValue = entry.Item1.AsProductValue();
|
|
var compareValue = (ulong)productValue.elements[1].AsU64();
|
|
if (compareValue == value) {
|
|
yield return (Message)entry.Item2;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static System.Collections.Generic.IEnumerable<Message> FilterByText(string value)
|
|
{
|
|
foreach(var entry in SpacetimeDBClient.clientDB.GetEntries("Message"))
|
|
{
|
|
var productValue = entry.Item1.AsProductValue();
|
|
var compareValue = (string)productValue.elements[2].AsString();
|
|
if (compareValue == value) {
|
|
yield return (Message)entry.Item2;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool ComparePrimaryKey(SpacetimeDB.SATS.AlgebraicType t, SpacetimeDB.SATS.AlgebraicValue _v1, SpacetimeDB.SATS.AlgebraicValue _v2)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public delegate void InsertEventHandler(Message insertedValue, SpacetimeDB.Types.ReducerEvent dbEvent);
|
|
public delegate void DeleteEventHandler(Message deletedValue, SpacetimeDB.Types.ReducerEvent dbEvent);
|
|
public static event InsertEventHandler OnInsert;
|
|
public static event DeleteEventHandler OnBeforeDelete;
|
|
public static event DeleteEventHandler OnDelete;
|
|
|
|
public static void OnInsertEvent(object newValue, ClientApi.Event dbEvent)
|
|
{
|
|
OnInsert?.Invoke((Message)newValue,(ReducerEvent)dbEvent?.FunctionCall.CallInfo);
|
|
}
|
|
|
|
public static void OnBeforeDeleteEvent(object oldValue, ClientApi.Event dbEvent)
|
|
{
|
|
OnBeforeDelete?.Invoke((Message)oldValue,(ReducerEvent)dbEvent?.FunctionCall.CallInfo);
|
|
}
|
|
|
|
public static void OnDeleteEvent(object oldValue, ClientApi.Event dbEvent)
|
|
{
|
|
OnDelete?.Invoke((Message)oldValue,(ReducerEvent)dbEvent?.FunctionCall.CallInfo);
|
|
}
|
|
}
|
|
}
|