feat(server): add memories statistics resource (#19035)

This commit is contained in:
Jonathan Gilbert
2025-06-10 23:47:46 +10:00
committed by GitHub
parent 16745e77d4
commit e88bd74fd2
12 changed files with 352 additions and 17 deletions

View File

@@ -3599,6 +3599,72 @@
]
}
},
"/memories/statistics": {
"get": {
"operationId": "memoriesStatistics",
"parameters": [
{
"name": "for",
"required": false,
"in": "query",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "isSaved",
"required": false,
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "isTrashed",
"required": false,
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "type",
"required": false,
"in": "query",
"schema": {
"$ref": "#/components/schemas/MemoryType"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MemoryStatisticsResponseDto"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"tags": [
"Memories"
]
}
},
"/memories/{id}": {
"delete": {
"operationId": "deleteMemory",
@@ -10827,6 +10893,17 @@
],
"type": "object"
},
"MemoryStatisticsResponseDto": {
"properties": {
"total": {
"type": "integer"
}
},
"required": [
"total"
],
"type": "object"
},
"MemoryType": {
"enum": [
"on_this_day"

View File

@@ -742,6 +742,9 @@ export type MemoryCreateDto = {
seenAt?: string;
"type": MemoryType;
};
export type MemoryStatisticsResponseDto = {
total: number;
};
export type MemoryUpdateDto = {
isSaved?: boolean;
memoryAt?: string;
@@ -2509,6 +2512,24 @@ export function createMemory({ memoryCreateDto }: {
body: memoryCreateDto
})));
}
export function memoriesStatistics({ $for, isSaved, isTrashed, $type }: {
$for?: string;
isSaved?: boolean;
isTrashed?: boolean;
$type?: MemoryType;
}, opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
data: MemoryStatisticsResponseDto;
}>(`/memories/statistics${QS.query(QS.explode({
"for": $for,
isSaved,
isTrashed,
"type": $type
}))}`, {
...opts
}));
}
export function deleteMemory({ id }: {
id: string;
}, opts?: Oazapfts.RequestOpts) {