@RestController
@RequestMapping("/api/transactions")
public class TransactionExportController {
private final CsvExportService exportService;
use std::sync::Arc;
use std::time::Duration;
use futures::stream::{FuturesUnordered, StreamExt};
use reqwest::Client;
use tokio::sync::Semaphore;
import csv
class _LineBuffer:
def __init__(self):
self._data = ""
use axum::extract::ws::{Message, WebSocket, WebSocketUpgrade};
use axum::extract::State;
use axum::response::Response;
use axum::routing::get;
use axum::Router;
from sqlalchemy import select
from sqlalchemy.orm import Session
from .models import User
BATCH_SIZE = 1000
package export
import (
"encoding/csv"
"log"
"net/http"
import { Readable } from "node:stream";
import { S3Client } from "@aws-sdk/client-s3";
import { Upload } from "@aws-sdk/lib-storage";
const s3 = new S3Client({ region: process.env.AWS_REGION });
const BUCKET = process.env.UPLOAD_BUCKET!;
function escapeCell(value) {
if (value === null || value === undefined) return '';
const str = String(value);
if (/[",\n\r]/.test(str)) {
return '"' + str.replace(/"/g, '""') + '"';
}
import { EventEmitter } from "events";
export interface Job<T> {
id: string;
payload: T;
attempts: number;
use sqlx::PgPool;
use std::time::Duration;
use tokio::sync::mpsc;
#[derive(Debug, Clone)]
pub struct MetricPoint {
@RestController
@RequestMapping("/api/exports")
public class ExportController {
private final CsvStreamWriter csvStreamWriter;
package ratelimit
import (
"sync"
"time"
)