Back to Squad Table
SOURCE / PINNED RELEASE

Made of little things.

Squad Table

Release
d36201f8ed4f…
Author-recorded commit
7b9bb681d6ba…
License
LICENSE
Author’s source reference
nostr://npub1sj2vketepqw9v6fmge5fdzuj7atj9sv6qv2jss05n2z6rl64lcfqumdsnt/wss%3A%2F%2Fgit.napplet.soy%2F/n-c043b0c0f1d

Archive hash verified: 8c0604b31f00cc5a…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

backend/schemas.json
{
  "version": 1,
  "records": {
    "tables": {
      "type": "object",
      "properties": {
        "scenario": {
          "type": "string",
          "maxLength": 40
        },
        "title": {
          "type": "string",
          "maxLength": 80
        },
        "owner": {
          "type": "string",
          "maxLength": 80
        },
        "seatA": {
          "type": "string",
          "maxLength": 80
        },
        "seatB": {
          "type": "string",
          "maxLength": 80
        },
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        },
        "entropy": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        "created": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4102444800
        },
        "updated": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4102444800
        }
      },
      "required": [
        "scenario",
        "title",
        "owner",
        "seatA",
        "seatB",
        "count",
        "entropy",
        "created",
        "updated"
      ],
      "additionalProperties": false
    },
    "pages": {
      "type": "object",
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "i": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100000
              },
              "by": {
                "type": "string",
                "maxLength": 80
              },
              "side": {
                "type": "string",
                "maxLength": 1,
                "enum": [
                  "a",
                  "b",
                  "n"
                ]
              },
              "at": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              },
              "a": {
                "type": "object",
                "properties": {
                  "t": {
                    "type": "string",
                    "maxLength": 8,
                    "enum": [
                      "add",
                      "move",
                      "mv",
                      "flip",
                      "rot",
                      "del",
                      "top",
                      "label",
                      "phase",
                      "end",
                      "fire",
                      "rally",
                      "repair",
                      "cc",
                      "roll",
                      "los",
                      "chat",
                      "undo",
                      "join"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "maxLength": 24
                  },
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 24
                    },
                    "maxItems": 24
                  },
                  "path": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 8
                    },
                    "maxItems": 24
                  },
                  "dt": {
                    "type": "boolean"
                  },
                  "ovr": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "k": {
                    "type": "string",
                    "maxLength": 24
                  },
                  "side": {
                    "type": "string",
                    "maxLength": 1,
                    "enum": [
                      "a",
                      "b",
                      "n"
                    ]
                  },
                  "to": {
                    "type": "string",
                    "maxLength": 8
                  },
                  "from": {
                    "type": "string",
                    "maxLength": 8
                  },
                  "r": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5
                  },
                  "text": {
                    "type": "string",
                    "maxLength": 280
                  },
                  "turn": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99
                  },
                  "phase": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 7
                  },
                  "n": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 2
                  },
                  "why": {
                    "type": "string",
                    "maxLength": 60
                  },
                  "ref": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100000
                  }
                },
                "required": [
                  "t"
                ],
                "additionalProperties": false
              },
              "d": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 6
                },
                "maxItems": 48
              }
            },
            "required": [
              "i",
              "by",
              "side",
              "at",
              "a"
            ],
            "additionalProperties": false
          },
          "maxItems": 40
        }
      },
      "required": [
        "entries"
      ],
      "additionalProperties": false
    }
  },
  "operations": {
    "createTable": {
      "effect": "create",
      "access": "owner",
      "account": true,
      "input": {
        "type": "object",
        "properties": {
          "scenario": {
            "type": "string",
            "maxLength": 40
          },
          "title": {
            "type": "string",
            "maxLength": 80
          },
          "side": {
            "type": "string",
            "maxLength": 1,
            "enum": [
              "a",
              "b"
            ]
          }
        },
        "required": [
          "scenario",
          "title",
          "side"
        ],
        "additionalProperties": false
      },
      "output": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "scenario": {
                "type": "string",
                "maxLength": 40
              },
              "title": {
                "type": "string",
                "maxLength": 80
              },
              "owner": {
                "type": "string",
                "maxLength": 80
              },
              "seatA": {
                "type": "string",
                "maxLength": 80
              },
              "seatB": {
                "type": "string",
                "maxLength": 80
              },
              "count": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100000
              },
              "entropy": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4294967295
              },
              "created": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              },
              "updated": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              }
            },
            "required": [
              "scenario",
              "title",
              "owner",
              "seatA",
              "seatB",
              "count",
              "entropy",
              "created",
              "updated"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "meta"
        ],
        "additionalProperties": false
      }
    },
    "joinTable": {
      "effect": "command",
      "access": "writer",
      "account": true,
      "input": {
        "type": "object",
        "properties": {
          "side": {
            "type": "string",
            "maxLength": 1,
            "enum": [
              "a",
              "b"
            ]
          }
        },
        "required": [
          "side"
        ],
        "additionalProperties": false
      },
      "output": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "scenario": {
                "type": "string",
                "maxLength": 40
              },
              "title": {
                "type": "string",
                "maxLength": 80
              },
              "owner": {
                "type": "string",
                "maxLength": 80
              },
              "seatA": {
                "type": "string",
                "maxLength": 80
              },
              "seatB": {
                "type": "string",
                "maxLength": 80
              },
              "count": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100000
              },
              "entropy": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4294967295
              },
              "created": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              },
              "updated": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              }
            },
            "required": [
              "scenario",
              "title",
              "owner",
              "seatA",
              "seatB",
              "count",
              "entropy",
              "created",
              "updated"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "meta"
        ],
        "additionalProperties": false
      }
    },
    "act": {
      "effect": "command",
      "access": "writer",
      "account": true,
      "input": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "t": {
                  "type": "string",
                  "maxLength": 8,
                  "enum": [
                    "add",
                    "move",
                    "mv",
                    "flip",
                    "rot",
                    "del",
                    "top",
                    "label",
                    "phase",
                    "end",
                    "fire",
                    "rally",
                    "repair",
                    "cc",
                    "roll",
                    "los",
                    "chat",
                    "undo",
                    "join"
                  ]
                },
                "id": {
                  "type": "string",
                  "maxLength": 24
                },
                "ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 24
                  },
                  "maxItems": 24
                },
                "path": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 8
                  },
                  "maxItems": 24
                },
                "dt": {
                  "type": "boolean"
                },
                "ovr": {
                  "type": "string",
                  "maxLength": 120
                },
                "k": {
                  "type": "string",
                  "maxLength": 24
                },
                "side": {
                  "type": "string",
                  "maxLength": 1,
                  "enum": [
                    "a",
                    "b",
                    "n"
                  ]
                },
                "to": {
                  "type": "string",
                  "maxLength": 8
                },
                "from": {
                  "type": "string",
                  "maxLength": 8
                },
                "r": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 5
                },
                "text": {
                  "type": "string",
                  "maxLength": 280
                },
                "turn": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 99
                },
                "phase": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 7
                },
                "n": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 2
                },
                "why": {
                  "type": "string",
                  "maxLength": 60
                },
                "ref": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                }
              },
              "required": [
                "t"
              ],
              "additionalProperties": false
            },
            "maxItems": 8,
            "minItems": 1
          }
        },
        "required": [
          "actions"
        ],
        "additionalProperties": false
      },
      "output": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          },
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "i": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "by": {
                  "type": "string",
                  "maxLength": 80
                },
                "side": {
                  "type": "string",
                  "maxLength": 1,
                  "enum": [
                    "a",
                    "b",
                    "n"
                  ]
                },
                "at": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4102444800
                },
                "a": {
                  "type": "object",
                  "properties": {
                    "t": {
                      "type": "string",
                      "maxLength": 8,
                      "enum": [
                        "add",
                        "move",
                        "mv",
                        "flip",
                        "rot",
                        "del",
                        "top",
                        "label",
                        "phase",
                        "end",
                        "fire",
                        "rally",
                        "repair",
                        "cc",
                        "roll",
                        "los",
                        "chat",
                        "undo",
                        "join"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "maxLength": 24
                    },
                    "ids": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 24
                      },
                      "maxItems": 24
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 8
                      },
                      "maxItems": 24
                    },
                    "dt": {
                      "type": "boolean"
                    },
                    "ovr": {
                      "type": "string",
                      "maxLength": 120
                    },
                    "k": {
                      "type": "string",
                      "maxLength": 24
                    },
                    "side": {
                      "type": "string",
                      "maxLength": 1,
                      "enum": [
                        "a",
                        "b",
                        "n"
                      ]
                    },
                    "to": {
                      "type": "string",
                      "maxLength": 8
                    },
                    "from": {
                      "type": "string",
                      "maxLength": 8
                    },
                    "r": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 5
                    },
                    "text": {
                      "type": "string",
                      "maxLength": 280
                    },
                    "turn": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 99
                    },
                    "phase": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 7
                    },
                    "n": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 2
                    },
                    "why": {
                      "type": "string",
                      "maxLength": 60
                    },
                    "ref": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    }
                  },
                  "required": [
                    "t"
                  ],
                  "additionalProperties": false
                },
                "d": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 6
                  },
                  "maxItems": 48
                }
              },
              "required": [
                "i",
                "by",
                "side",
                "at",
                "a"
              ],
              "additionalProperties": false
            },
            "maxItems": 8
          }
        },
        "required": [
          "count",
          "entries"
        ],
        "additionalProperties": false
      }
    },
    "read": {
      "effect": "query",
      "access": "reader",
      "account": false,
      "input": {
        "type": "object",
        "properties": {
          "after": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40
          }
        },
        "required": [
          "after",
          "limit"
        ],
        "additionalProperties": false
      },
      "output": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "scenario": {
                "type": "string",
                "maxLength": 40
              },
              "title": {
                "type": "string",
                "maxLength": 80
              },
              "owner": {
                "type": "string",
                "maxLength": 80
              },
              "seatA": {
                "type": "string",
                "maxLength": 80
              },
              "seatB": {
                "type": "string",
                "maxLength": 80
              },
              "count": {
                "type": "integer",
                "minimum": 0,
                "maximum": 100000
              },
              "entropy": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4294967295
              },
              "created": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              },
              "updated": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4102444800
              }
            },
            "required": [
              "scenario",
              "title",
              "owner",
              "seatA",
              "seatB",
              "count",
              "entropy",
              "created",
              "updated"
            ],
            "additionalProperties": false
          },
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "i": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000
                },
                "by": {
                  "type": "string",
                  "maxLength": 80
                },
                "side": {
                  "type": "string",
                  "maxLength": 1,
                  "enum": [
                    "a",
                    "b",
                    "n"
                  ]
                },
                "at": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4102444800
                },
                "a": {
                  "type": "object",
                  "properties": {
                    "t": {
                      "type": "string",
                      "maxLength": 8,
                      "enum": [
                        "add",
                        "move",
                        "mv",
                        "flip",
                        "rot",
                        "del",
                        "top",
                        "label",
                        "phase",
                        "end",
                        "fire",
                        "rally",
                        "repair",
                        "cc",
                        "roll",
                        "los",
                        "chat",
                        "undo",
                        "join"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "maxLength": 24
                    },
                    "ids": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 24
                      },
                      "maxItems": 24
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 8
                      },
                      "maxItems": 24
                    },
                    "dt": {
                      "type": "boolean"
                    },
                    "ovr": {
                      "type": "string",
                      "maxLength": 120
                    },
                    "k": {
                      "type": "string",
                      "maxLength": 24
                    },
                    "side": {
                      "type": "string",
                      "maxLength": 1,
                      "enum": [
                        "a",
                        "b",
                        "n"
                      ]
                    },
                    "to": {
                      "type": "string",
                      "maxLength": 8
                    },
                    "from": {
                      "type": "string",
                      "maxLength": 8
                    },
                    "r": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 5
                    },
                    "text": {
                      "type": "string",
                      "maxLength": 280
                    },
                    "turn": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 99
                    },
                    "phase": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 7
                    },
                    "n": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 2
                    },
                    "why": {
                      "type": "string",
                      "maxLength": 60
                    },
                    "ref": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    }
                  },
                  "required": [
                    "t"
                  ],
                  "additionalProperties": false
                },
                "d": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 6
                  },
                  "maxItems": 48
                }
              },
              "required": [
                "i",
                "by",
                "side",
                "at",
                "a"
              ],
              "additionalProperties": false
            },
            "maxItems": 40
          }
        },
        "required": [
          "meta",
          "entries"
        ],
        "additionalProperties": false
      }
    }
  }
}