fix ozone patch
This commit is contained in:
@@ -25,3 +25,5 @@ OZONE_VERIFIER_DID
|
|||||||
OZONE_VERIFIER_PASSWORD
|
OZONE_VERIFIER_PASSWORD
|
||||||
OZONE_VERIFIER_ISSUERS_TO_INDEX
|
OZONE_VERIFIER_ISSUERS_TO_INDEX
|
||||||
OZONE_VERIFIER_JETSTREAM_URL
|
OZONE_VERIFIER_JETSTREAM_URL
|
||||||
|
|
||||||
|
OZONE_APPVIEW_PUSH_EVENTS=true
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ function at-repos-social-app-disable-external-services-patch() {
|
|||||||
function at-repos-atproto-service-ozone-api-patch() {
|
function at-repos-atproto-service-ozone-api-patch() {
|
||||||
f=$d/repos/atproto/services/ozone/api.js
|
f=$d/repos/atproto/services/ozone/api.js
|
||||||
d_=$d/repos/atproto
|
d_=$d/repos/atproto
|
||||||
p_=$d/patching/130-atproto-ozone-enable-daemon.patch
|
p_=$d/patching/130-atproto-ozone-enable-daemon-v2.patch
|
||||||
echo "applying patch: under ${f} for ${p_}"
|
echo "applying patch: under ${f} for ${p_}"
|
||||||
pushd ${d_}
|
pushd ${d_}
|
||||||
patch -p1 < ${p_}
|
patch -p1 < ${p_}
|
||||||
@@ -241,6 +241,12 @@ function at-repos-ozone-patch() {
|
|||||||
pushd ${d_}
|
pushd ${d_}
|
||||||
patch -p1 < ${p_}
|
patch -p1 < ${p_}
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
p_=$d/patching/121-ozone-constants-fix.patch
|
||||||
|
echo "applying patch: under ${d_} for ${p_}"
|
||||||
|
pushd ${d_}
|
||||||
|
patch -p1 < ${p_} || true
|
||||||
|
popd
|
||||||
#cp -rf $d/repos/atproto/service/ozone/* $d/ozone/service/
|
#cp -rf $d/repos/atproto/service/ozone/* $d/ozone/service/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,153 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.system",
|
|
||||||
"revision": 1,
|
|
||||||
"description": "Syui's system definitions for game logic and metaphysics",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"record": {
|
|
||||||
"key": "self",
|
|
||||||
"recordType": "document",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["card", "system"],
|
|
||||||
"properties": {
|
|
||||||
"card": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#card" }
|
|
||||||
},
|
|
||||||
"system": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#system" }
|
|
||||||
},
|
|
||||||
"weapon": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#weapon" }
|
|
||||||
},
|
|
||||||
"ability": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#ability" }
|
|
||||||
},
|
|
||||||
"character": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#character" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"card": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["id", "img", "name", "lang"],
|
|
||||||
"properties": {
|
|
||||||
"id": { "type": "integer" },
|
|
||||||
"img": { "type": "string" },
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"lang": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ja": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"text": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"system": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["id", "enum", "name", "lang"],
|
|
||||||
"properties": {
|
|
||||||
"id": { "type": "integer" },
|
|
||||||
"enum": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "string" }
|
|
||||||
},
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"alias": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "string" }
|
|
||||||
},
|
|
||||||
"lang": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ja": { "type": "string" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": { "type": "string" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"weapon": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["id", "img", "name", "lang"],
|
|
||||||
"properties": {
|
|
||||||
"id": { "type": "integer" },
|
|
||||||
"img": { "type": "string" },
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"lang": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ja": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"text": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ability": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["id", "name", "color"],
|
|
||||||
"properties": {
|
|
||||||
"id": { "type": "integer" },
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"lang": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ja": { "type": "string" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"color": { "type": "string" },
|
|
||||||
"group": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "string" }
|
|
||||||
},
|
|
||||||
"duration": { "type": "integer" },
|
|
||||||
"multiplier": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": { "type": "number" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"character": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["id", "name", "lang"],
|
|
||||||
"properties": {
|
|
||||||
"id": { "type": "integer" },
|
|
||||||
"img": { "type": "string" },
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"lang": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ja": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"name": { "type": "string" },
|
|
||||||
"text": { "type": "string" },
|
|
||||||
"description": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"text": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.card",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a cards box.",
|
|
||||||
"key": "tid",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["verify", "createdAt"],
|
|
||||||
"properties": {
|
|
||||||
"id":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 14,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"cp":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 5000,
|
|
||||||
"default": 1
|
|
||||||
},
|
|
||||||
"rank":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 7,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"rare": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": ["normal", "super", "ultra", "yui", "ai"],
|
|
||||||
"default": "normal"
|
|
||||||
},
|
|
||||||
"author": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "uri",
|
|
||||||
"description": "https://verify...",
|
|
||||||
"default": "https://yui.syui.ai"
|
|
||||||
},
|
|
||||||
"verify": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-uri",
|
|
||||||
"description": "at://verify..."
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.card.verify",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a card verify.",
|
|
||||||
"key": "tid",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"handle",
|
|
||||||
"did",
|
|
||||||
"createdAt"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 14,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"cp": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 10000,
|
|
||||||
"default": 1
|
|
||||||
},
|
|
||||||
"rank": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 7,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"rare": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"normal",
|
|
||||||
"super",
|
|
||||||
"ultra",
|
|
||||||
"yui",
|
|
||||||
"ai"
|
|
||||||
],
|
|
||||||
"default": "normal"
|
|
||||||
},
|
|
||||||
"handle": {
|
|
||||||
"type": "string",
|
|
||||||
"maxLength": 32,
|
|
||||||
"maxGraphemes": 32
|
|
||||||
},
|
|
||||||
"did": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"embed": {
|
|
||||||
"type": "union",
|
|
||||||
"refs": [
|
|
||||||
"app.bsky.embed.images",
|
|
||||||
"app.bsky.embed.external",
|
|
||||||
"app.bsky.embed.record",
|
|
||||||
"app.bsky.embed.recordWithMedia"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.game",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a game.",
|
|
||||||
"key": "literal:self",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["account", "createdAt"],
|
|
||||||
"properties": {
|
|
||||||
"account": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-uri",
|
|
||||||
"description": "at://verify..."
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.game.character",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"key": "string",
|
|
||||||
"description": "record containing a game character.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"createdAt"
|
|
||||||
],
|
|
||||||
"charactor": {
|
|
||||||
"type": "object",
|
|
||||||
"enum": [
|
|
||||||
"ai",
|
|
||||||
"manny",
|
|
||||||
"quinn",
|
|
||||||
"chinese",
|
|
||||||
"phoenix",
|
|
||||||
"kirin",
|
|
||||||
"leviathan",
|
|
||||||
"wyvern",
|
|
||||||
"cerberus",
|
|
||||||
"dragon",
|
|
||||||
"kitsune",
|
|
||||||
"pegasus"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"season": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 3,
|
|
||||||
"default": 1
|
|
||||||
},
|
|
||||||
"group": {
|
|
||||||
"type": "string",
|
|
||||||
"default": "fantasy",
|
|
||||||
"enum": [
|
|
||||||
"origin",
|
|
||||||
"fantasy",
|
|
||||||
"animal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"gender": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"none",
|
|
||||||
"male",
|
|
||||||
"famale"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"fullname": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"nickname": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
},
|
|
||||||
"updatedAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.game.user",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"key": "tid",
|
|
||||||
"description": "Record containing a game user.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["did", "createdAt"],
|
|
||||||
"properties": {
|
|
||||||
"aiten":{
|
|
||||||
"type": "integer",
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"did": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"login": {
|
|
||||||
"type": "bool"
|
|
||||||
},
|
|
||||||
"limit": {
|
|
||||||
"type": "bool"
|
|
||||||
},
|
|
||||||
"charactor": {
|
|
||||||
"type": "object",
|
|
||||||
"enum": ["ai","cerberus","chinesedragon","dragon","kirin","kitsune","leviathan","pegasus","phoenix"],
|
|
||||||
"properties": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"group":{
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"season":{
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"lv":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 7,
|
|
||||||
"default": 1
|
|
||||||
},
|
|
||||||
"exp":{
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"rank":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 7,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"mode":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 7,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"hp":{
|
|
||||||
"type": "integer",
|
|
||||||
"maximum": 255,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"attach":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 255,
|
|
||||||
"default": 1
|
|
||||||
},
|
|
||||||
"critical":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 255,
|
|
||||||
"default": 0
|
|
||||||
},
|
|
||||||
"critical_d":{
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 255,
|
|
||||||
"default": 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
},
|
|
||||||
"updatedAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.o.comment",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a Frontpage comment.",
|
|
||||||
"key": "tid",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["content", "createdAt", "post"],
|
|
||||||
"properties": {
|
|
||||||
"content": {
|
|
||||||
"type": "string",
|
|
||||||
"maxLength": 100000,
|
|
||||||
"maxGraphemes": 10000,
|
|
||||||
"description": "The content of the comment."
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this comment was originally created."
|
|
||||||
},
|
|
||||||
"parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
|
|
||||||
"post": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.o.post",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a Frontpage post.",
|
|
||||||
"key": "tid",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["title", "url", "createdAt"],
|
|
||||||
"properties": {
|
|
||||||
"title": {
|
|
||||||
"type": "string",
|
|
||||||
"maxLength": 3000,
|
|
||||||
"maxGraphemes": 300,
|
|
||||||
"description": "The title of the post."
|
|
||||||
},
|
|
||||||
"url": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "uri",
|
|
||||||
"description": "The URL of the post."
|
|
||||||
},
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this post was originally created."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "ai.syui.o.vote",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "record",
|
|
||||||
"description": "Record containing a Frontpage vote.",
|
|
||||||
"key": "tid",
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["subject", "createdAt"],
|
|
||||||
"properties": {
|
|
||||||
"subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
|
|
||||||
"createdAt": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "datetime",
|
|
||||||
"description": "Client-declared timestamp when this vote was originally created."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,126 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.applyWrites",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["repo", "writes"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo (aka, current account)."
|
|
||||||
},
|
|
||||||
"validate": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons."
|
|
||||||
},
|
|
||||||
"writes": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "union",
|
|
||||||
"refs": ["#create", "#update", "#delete"],
|
|
||||||
"closed": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"swapCommit": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.",
|
|
||||||
"format": "cid"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [],
|
|
||||||
"properties": {
|
|
||||||
"commit": {
|
|
||||||
"type": "ref",
|
|
||||||
"ref": "com.atproto.repo.defs#commitMeta"
|
|
||||||
},
|
|
||||||
"results": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "union",
|
|
||||||
"refs": ["#createResult", "#updateResult", "#deleteResult"],
|
|
||||||
"closed": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"errors": [
|
|
||||||
{
|
|
||||||
"name": "InvalidSwap",
|
|
||||||
"description": "Indicates that the 'swapCommit' parameter did not match current commit."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"create": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "Operation which creates a new record.",
|
|
||||||
"required": ["collection", "value"],
|
|
||||||
"properties": {
|
|
||||||
"collection": { "type": "string", "format": "nsid" },
|
|
||||||
"rkey": { "type": "string", "maxLength": 15 },
|
|
||||||
"value": { "type": "unknown" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"update": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "Operation which updates an existing record.",
|
|
||||||
"required": ["collection", "rkey", "value"],
|
|
||||||
"properties": {
|
|
||||||
"collection": { "type": "string", "format": "nsid" },
|
|
||||||
"rkey": { "type": "string" },
|
|
||||||
"value": { "type": "unknown" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "Operation which deletes an existing record.",
|
|
||||||
"required": ["collection", "rkey"],
|
|
||||||
"properties": {
|
|
||||||
"collection": { "type": "string", "format": "nsid" },
|
|
||||||
"rkey": { "type": "string" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createResult": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"validationStatus": {
|
|
||||||
"type": "string",
|
|
||||||
"knownValues": ["valid", "unknown"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"updateResult": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"validationStatus": {
|
|
||||||
"type": "string",
|
|
||||||
"knownValues": ["valid", "unknown"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"deleteResult": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [],
|
|
||||||
"properties": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.createRecord",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Create a single new repository record. Requires auth, implemented by PDS.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["repo", "collection", "record"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo (aka, current account)."
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "nsid",
|
|
||||||
"description": "The NSID of the record collection."
|
|
||||||
},
|
|
||||||
"rkey": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The Record Key.",
|
|
||||||
"maxLength": 15
|
|
||||||
},
|
|
||||||
"validate": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons."
|
|
||||||
},
|
|
||||||
"record": {
|
|
||||||
"type": "unknown",
|
|
||||||
"description": "The record itself. Must contain a $type field."
|
|
||||||
},
|
|
||||||
"swapCommit": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "Compare and swap with the previous commit by CID."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"commit": {
|
|
||||||
"type": "ref",
|
|
||||||
"ref": "com.atproto.repo.defs#commitMeta"
|
|
||||||
},
|
|
||||||
"validationStatus": {
|
|
||||||
"type": "string",
|
|
||||||
"knownValues": ["valid", "unknown"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"errors": [
|
|
||||||
{
|
|
||||||
"name": "InvalidSwap",
|
|
||||||
"description": "Indicates that 'swapCommit' didn't match current repo commit."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.defs",
|
|
||||||
"defs": {
|
|
||||||
"commitMeta": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["cid", "rev"],
|
|
||||||
"properties": {
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"rev": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.deleteRecord",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["repo", "collection", "rkey"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo (aka, current account)."
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "nsid",
|
|
||||||
"description": "The NSID of the record collection."
|
|
||||||
},
|
|
||||||
"rkey": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The Record Key."
|
|
||||||
},
|
|
||||||
"swapRecord": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "Compare and swap with the previous record by CID."
|
|
||||||
},
|
|
||||||
"swapCommit": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "Compare and swap with the previous commit by CID."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"commit": {
|
|
||||||
"type": "ref",
|
|
||||||
"ref": "com.atproto.repo.defs#commitMeta"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"errors": [{ "name": "InvalidSwap" }]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.describeRepo",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "query",
|
|
||||||
"description": "Get information about an account and repository, including the list of collections. Does not require auth.",
|
|
||||||
"parameters": {
|
|
||||||
"type": "params",
|
|
||||||
"required": ["repo"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"handle",
|
|
||||||
"did",
|
|
||||||
"didDoc",
|
|
||||||
"collections",
|
|
||||||
"handleIsCorrect"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"handle": { "type": "string", "format": "handle" },
|
|
||||||
"did": { "type": "string", "format": "did" },
|
|
||||||
"didDoc": {
|
|
||||||
"type": "unknown",
|
|
||||||
"description": "The complete DID document for this account."
|
|
||||||
},
|
|
||||||
"collections": {
|
|
||||||
"type": "array",
|
|
||||||
"description": "List of all the collections (NSIDs) for which this repo contains at least one record.",
|
|
||||||
"items": { "type": "string", "format": "nsid" }
|
|
||||||
},
|
|
||||||
"handleIsCorrect": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Indicates if handle is currently valid (resolves bi-directionally)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.getRecord",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "query",
|
|
||||||
"description": "Get a single record from a repository. Does not require auth.",
|
|
||||||
"parameters": {
|
|
||||||
"type": "params",
|
|
||||||
"required": ["repo", "collection", "rkey"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo."
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "nsid",
|
|
||||||
"description": "The NSID of the record collection."
|
|
||||||
},
|
|
||||||
"rkey": { "type": "string", "description": "The Record Key." },
|
|
||||||
"cid": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "The CID of the version of the record. If not specified, then return the most recent version."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "value"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"value": { "type": "unknown" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"errors": [{ "name": "RecordNotFound" }]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.importRepo",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/vnd.ipld.car"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.listMissingBlobs",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "query",
|
|
||||||
"description": "Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.",
|
|
||||||
"parameters": {
|
|
||||||
"type": "params",
|
|
||||||
"properties": {
|
|
||||||
"limit": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 1000,
|
|
||||||
"default": 500
|
|
||||||
},
|
|
||||||
"cursor": { "type": "string" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["blobs"],
|
|
||||||
"properties": {
|
|
||||||
"cursor": { "type": "string" },
|
|
||||||
"blobs": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "ref", "ref": "#recordBlob" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"recordBlob": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["cid", "recordUri"],
|
|
||||||
"properties": {
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"recordUri": { "type": "string", "format": "at-uri" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.listRecords",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "query",
|
|
||||||
"description": "List a range of records in a repository, matching a specific collection. Does not require auth.",
|
|
||||||
"parameters": {
|
|
||||||
"type": "params",
|
|
||||||
"required": ["repo", "collection"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo."
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "nsid",
|
|
||||||
"description": "The NSID of the record type."
|
|
||||||
},
|
|
||||||
"limit": {
|
|
||||||
"type": "integer",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 100,
|
|
||||||
"default": 50,
|
|
||||||
"description": "The number of records to return."
|
|
||||||
},
|
|
||||||
"cursor": { "type": "string" },
|
|
||||||
"rkeyStart": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "DEPRECATED: The lowest sort-ordered rkey to start from (exclusive)"
|
|
||||||
},
|
|
||||||
"rkeyEnd": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "DEPRECATED: The highest sort-ordered rkey to stop at (exclusive)"
|
|
||||||
},
|
|
||||||
"reverse": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Flag to reverse the order of the returned records."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["records"],
|
|
||||||
"properties": {
|
|
||||||
"cursor": { "type": "string" },
|
|
||||||
"records": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "ref", "ref": "#record" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"record": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid", "value"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"value": { "type": "unknown" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.putRecord",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["repo", "collection", "rkey", "record"],
|
|
||||||
"nullable": ["swapRecord"],
|
|
||||||
"properties": {
|
|
||||||
"repo": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "at-identifier",
|
|
||||||
"description": "The handle or DID of the repo (aka, current account)."
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "nsid",
|
|
||||||
"description": "The NSID of the record collection."
|
|
||||||
},
|
|
||||||
"rkey": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The Record Key.",
|
|
||||||
"maxLength": 15
|
|
||||||
},
|
|
||||||
"validate": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons."
|
|
||||||
},
|
|
||||||
"record": {
|
|
||||||
"type": "unknown",
|
|
||||||
"description": "The record to write."
|
|
||||||
},
|
|
||||||
"swapRecord": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation"
|
|
||||||
},
|
|
||||||
"swapCommit": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "cid",
|
|
||||||
"description": "Compare and swap with the previous commit by CID."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" },
|
|
||||||
"commit": {
|
|
||||||
"type": "ref",
|
|
||||||
"ref": "com.atproto.repo.defs#commitMeta"
|
|
||||||
},
|
|
||||||
"validationStatus": {
|
|
||||||
"type": "string",
|
|
||||||
"knownValues": ["valid", "unknown"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"errors": [{ "name": "InvalidSwap" }]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.strongRef",
|
|
||||||
"description": "A URI with a content-hash fingerprint.",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["uri", "cid"],
|
|
||||||
"properties": {
|
|
||||||
"uri": { "type": "string", "format": "at-uri" },
|
|
||||||
"cid": { "type": "string", "format": "cid" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"lexicon": 1,
|
|
||||||
"id": "com.atproto.repo.uploadBlob",
|
|
||||||
"defs": {
|
|
||||||
"main": {
|
|
||||||
"type": "procedure",
|
|
||||||
"description": "Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.",
|
|
||||||
"input": {
|
|
||||||
"encoding": "*/*"
|
|
||||||
},
|
|
||||||
"output": {
|
|
||||||
"encoding": "application/json",
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"required": ["blob"],
|
|
||||||
"properties": {
|
|
||||||
"blob": { "type": "blob" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
99
patching/121-ozone-constants-fix.patch
Normal file
99
patching/121-ozone-constants-fix.patch
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
--- a/lib/constants.ts
|
||||||
|
+++ b/lib/constants.ts
|
||||||
|
@@ -1,29 +1,32 @@
|
||||||
|
+import { env } from 'next-runtime-env';
|
||||||
|
+
|
||||||
|
export const OAUTH_SCOPE = 'atproto transition:generic transition:chat.bsky'
|
||||||
|
|
||||||
|
export const OZONE_SERVICE_DID =
|
||||||
|
- process.env.NEXT_PUBLIC_OZONE_SERVICE_DID || undefined
|
||||||
|
+ env('NEXT_PUBLIC_OZONE_SERVICE_DID') || undefined
|
||||||
|
|
||||||
|
export const OZONE_PUBLIC_URL =
|
||||||
|
- process.env.NEXT_PUBLIC_OZONE_PUBLIC_URL || undefined
|
||||||
|
+ env('NEXT_PUBLIC_OZONE_PUBLIC_URL') || undefined
|
||||||
|
|
||||||
|
export const PLC_DIRECTORY_URL =
|
||||||
|
- process.env.NEXT_PUBLIC_PLC_DIRECTORY_URL ||
|
||||||
|
+ env('NEXT_PUBLIC_PLC_DIRECTORY_URL') ||
|
||||||
|
(process.env.NODE_ENV === 'development'
|
||||||
|
? 'http://localhost:2582'
|
||||||
|
: 'https://plc.directory')
|
||||||
|
|
||||||
|
-export const QUEUE_CONFIG = process.env.NEXT_PUBLIC_QUEUE_CONFIG || '{}'
|
||||||
|
+export const QUEUE_CONFIG = env('NEXT_PUBLIC_QUEUE_CONFIG') || '{}'
|
||||||
|
|
||||||
|
-export const QUEUE_SEED = process.env.NEXT_PUBLIC_QUEUE_SEED || ''
|
||||||
|
+export const QUEUE_SEED = env('NEXT_PUBLIC_QUEUE_SEED') || ''
|
||||||
|
|
||||||
|
+export const SOCIAL_APP_DOMAIN = env('NEXT_PUBLIC_SOCIAL_APP_DOMAIN') || 'bsky.app'
|
||||||
|
export const SOCIAL_APP_URL =
|
||||||
|
- process.env.NEXT_PUBLIC_SOCIAL_APP_URL ||
|
||||||
|
+ env('NEXT_PUBLIC_SOCIAL_APP_URL') ||
|
||||||
|
(process.env.NODE_ENV === 'development'
|
||||||
|
? 'http://localhost:2584'
|
||||||
|
- : 'https://bsky.app')
|
||||||
|
+ : `https://${SOCIAL_APP_DOMAIN}`)
|
||||||
|
|
||||||
|
export const HANDLE_RESOLVER_URL =
|
||||||
|
- process.env.NEXT_PUBLIC_HANDLE_RESOLVER_URL ||
|
||||||
|
+ env('NEXT_PUBLIC_HANDLE_RESOLVER_URL') ||
|
||||||
|
(process.env.NODE_ENV === 'development'
|
||||||
|
? 'http://localhost:2584'
|
||||||
|
: 'https://api.bsky.app')
|
||||||
|
@@ -36,25 +39,25 @@
|
||||||
|
|
||||||
|
export const NEW_ACCOUNT_MARKER_THRESHOLD_IN_DAYS = process.env
|
||||||
|
.NEXT_PUBLIC_NEW_ACCOUNT_MARKER_THRESHOLD_IN_DAYS
|
||||||
|
- ? parseInt(process.env.NEXT_PUBLIC_NEW_ACCOUNT_MARKER_THRESHOLD_IN_DAYS)
|
||||||
|
+ ? parseInt(env('NEXT_PUBLIC_NEW_ACCOUNT_MARKER_THRESHOLD_IN_DAYS'))
|
||||||
|
: 7
|
||||||
|
|
||||||
|
export const YOUNG_ACCOUNT_MARKER_THRESHOLD_IN_DAYS = process.env
|
||||||
|
.NEXT_PUBLIC_YOUNG_ACCOUNT_MARKER_THRESHOLD_IN_DAYS
|
||||||
|
- ? parseInt(process.env.NEXT_PUBLIC_YOUNG_ACCOUNT_MARKER_THRESHOLD_IN_DAYS)
|
||||||
|
+ ? parseInt(env('NEXT_PUBLIC_YOUNG_ACCOUNT_MARKER_THRESHOLD_IN_DAYS'))
|
||||||
|
: 30
|
||||||
|
|
||||||
|
export const DOMAINS_ALLOWING_EMAIL_COMMUNICATION = (
|
||||||
|
- process.env.NEXT_PUBLIC_DOMAINS_ALLOWING_EMAIL_COMMUNICATION || ''
|
||||||
|
+ env('NEXT_PUBLIC_DOMAINS_ALLOWING_EMAIL_COMMUNICATION') || ''
|
||||||
|
).split(',')
|
||||||
|
|
||||||
|
export const HIGH_PROFILE_FOLLOWER_THRESHOLD = process.env
|
||||||
|
.NEXT_PUBLIC_HIGH_PROFILE_FOLLOWER_THRESHOLD
|
||||||
|
- ? parseInt(process.env.NEXT_PUBLIC_HIGH_PROFILE_FOLLOWER_THRESHOLD)
|
||||||
|
+ ? parseInt(env('NEXT_PUBLIC_HIGH_PROFILE_FOLLOWER_THRESHOLD'))
|
||||||
|
: Infinity
|
||||||
|
|
||||||
|
export const FALLBACK_VIDEO_URL = (
|
||||||
|
- process.env.NEXT_PUBLIC_FALLBACK_VIDEO_URL || ''
|
||||||
|
+ env('NEXT_PUBLIC_FALLBACK_VIDEO_URL') || ''
|
||||||
|
).split(':')
|
||||||
|
|
||||||
|
// strike to account suspension duration mapping (in hours)
|
||||||
|
@@ -87,18 +90,18 @@
|
||||||
|
|
||||||
|
export const STRIKE_TO_SUSPENSION_DURATION_IN_HOURS =
|
||||||
|
parseStrikeSuspensionConfig(
|
||||||
|
- process.env.NEXT_PUBLIC_STRIKE_SUSPENSION_CONFIG || '',
|
||||||
|
+ env('NEXT_PUBLIC_STRIKE_SUSPENSION_CONFIG') || '',
|
||||||
|
)
|
||||||
|
|
||||||
|
export const AUTOMATED_ACTION_EMAIL_IDS = {
|
||||||
|
warningWithTakedown:
|
||||||
|
- process.env.NEXT_PUBLIC_WARNING_WITH_TAKEDOWN_EMAIL_TEMPLATE_ID,
|
||||||
|
+ env('NEXT_PUBLIC_WARNING_WITH_TAKEDOWN_EMAIL_TEMPLATE_ID'),
|
||||||
|
suspensionWithTakedown:
|
||||||
|
- process.env.NEXT_PUBLIC_SUSPENSION_WITH_TAKEDOWN_EMAIL_TEMPLATE_ID,
|
||||||
|
+ env('NEXT_PUBLIC_SUSPENSION_WITH_TAKEDOWN_EMAIL_TEMPLATE_ID'),
|
||||||
|
suspensionWithoutTakedown:
|
||||||
|
- process.env.NEXT_PUBLIC_SUSPENSION_WITHOUT_TAKEDOWN_EMAIL_TEMPLATE_ID,
|
||||||
|
+ env('NEXT_PUBLIC_SUSPENSION_WITHOUT_TAKEDOWN_EMAIL_TEMPLATE_ID'),
|
||||||
|
permanentTakedown:
|
||||||
|
- process.env.NEXT_PUBLIC_PERMANENT_TAKEDOWN_EMAIL_TEMPLATE_ID,
|
||||||
|
+ env('NEXT_PUBLIC_PERMANENT_TAKEDOWN_EMAIL_TEMPLATE_ID'),
|
||||||
|
takedownWithoutStrike:
|
||||||
|
- process.env.NEXT_PUBLIC_TAKEDOWN_WITHOUT_STRIKE_EMAIL_TEMPLATE_ID,
|
||||||
|
+ env('NEXT_PUBLIC_TAKEDOWN_WITHOUT_STRIKE_EMAIL_TEMPLATE_ID'),
|
||||||
|
}
|
||||||
28
patching/130-atproto-ozone-enable-daemon-v2.patch
Normal file
28
patching/130-atproto-ozone-enable-daemon-v2.patch
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
--- a/services/ozone/api.js
|
||||||
|
+++ b/services/ozone/api.js
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
Database,
|
||||||
|
OzoneService,
|
||||||
|
envToCfg,
|
||||||
|
+ OzoneDaemon,
|
||||||
|
envToSecrets,
|
||||||
|
httpLogger,
|
||||||
|
readEnv,
|
||||||
|
@@ -79,10 +80,17 @@
|
||||||
|
|
||||||
|
httpLogger.info('ozone is running')
|
||||||
|
|
||||||
|
+ // Start OzoneDaemon for label events
|
||||||
|
+ httpLogger.info('starting ozone daemon')
|
||||||
|
+ const daemon = await OzoneDaemon.create(cfg, secrets)
|
||||||
|
+ await daemon.start()
|
||||||
|
+ httpLogger.info('ozone daemon is running')
|
||||||
|
+
|
||||||
|
// Graceful shutdown (see also https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/)
|
||||||
|
process.on('SIGTERM', async () => {
|
||||||
|
httpLogger.info('ozone is stopping')
|
||||||
|
|
||||||
|
+ await daemon.destroy()
|
||||||
|
await ozone.destroy()
|
||||||
|
|
||||||
|
httpLogger.info('ozone is stopped')
|
||||||
Reference in New Issue
Block a user