mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 06:53:09 -06:00
Add deleting reports
This commit is contained in:
parent
fbeaa0f9da
commit
fa3671e422
|
|
@ -273,6 +273,7 @@ type ClientRoomserverAPI interface {
|
||||||
) (int64, error)
|
) (int64, error)
|
||||||
QueryAdminEventReports(ctx context.Context, from, limit uint64, backwards bool, userID, roomID string) ([]QueryAdminEventReportsResponse, int64, error)
|
QueryAdminEventReports(ctx context.Context, from, limit uint64, backwards bool, userID, roomID string) ([]QueryAdminEventReportsResponse, int64, error)
|
||||||
QueryAdminEventReport(ctx context.Context, reportID uint64) (QueryAdminEventReportResponse, error)
|
QueryAdminEventReport(ctx context.Context, reportID uint64) (QueryAdminEventReportResponse, error)
|
||||||
|
PerformAdminDeleteEventReport(ctx context.Context, reportID uint64) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserRoomserverAPI interface {
|
type UserRoomserverAPI interface {
|
||||||
|
|
|
||||||
|
|
@ -354,3 +354,7 @@ func (r *Admin) PerformAdminDownloadState(
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Admin) PerformAdminDeleteEventReport(ctx context.Context, reportID uint64) error {
|
||||||
|
return r.DB.AdminDeleteEventReport(ctx, reportID)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,7 @@ type Database interface {
|
||||||
RoomsWithACLs(ctx context.Context) ([]string, error)
|
RoomsWithACLs(ctx context.Context) ([]string, error)
|
||||||
QueryAdminEventReports(ctx context.Context, from uint64, limit uint64, backwards bool, userID string, roomID string) ([]api.QueryAdminEventReportsResponse, int64, error)
|
QueryAdminEventReports(ctx context.Context, from uint64, limit uint64, backwards bool, userID string, roomID string) ([]api.QueryAdminEventReportsResponse, int64, error)
|
||||||
QueryAdminEventReport(ctx context.Context, reportID uint64) (api.QueryAdminEventReportResponse, error)
|
QueryAdminEventReport(ctx context.Context, reportID uint64) (api.QueryAdminEventReportResponse, error)
|
||||||
|
AdminDeleteEventReport(ctx context.Context, reportID uint64) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserRoomKeys interface {
|
type UserRoomKeys interface {
|
||||||
|
|
|
||||||
|
|
@ -81,11 +81,14 @@ FROM roomserver_reported_events
|
||||||
WHERE id = $1
|
WHERE id = $1
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const deleteReportedEventSQL = `DELETE FROM roomserver_reported_events WHERE id = $1`
|
||||||
|
|
||||||
type reportedEventsStatements struct {
|
type reportedEventsStatements struct {
|
||||||
insertReportedEventsStmt *sql.Stmt
|
insertReportedEventsStmt *sql.Stmt
|
||||||
selectReportedEventsDescStmt *sql.Stmt
|
selectReportedEventsDescStmt *sql.Stmt
|
||||||
selectReportedEventsAscStmt *sql.Stmt
|
selectReportedEventsAscStmt *sql.Stmt
|
||||||
selectReportedEventStmt *sql.Stmt
|
selectReportedEventStmt *sql.Stmt
|
||||||
|
deleteReportedEventStmt *sql.Stmt
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateReportedEventsTable(db *sql.DB) error {
|
func CreateReportedEventsTable(db *sql.DB) error {
|
||||||
|
|
@ -101,6 +104,7 @@ func PrepareReportedEventsTable(db *sql.DB) (tables.ReportedEvents, error) {
|
||||||
{&s.selectReportedEventsDescStmt, selectReportedEventsDescSQL},
|
{&s.selectReportedEventsDescStmt, selectReportedEventsDescSQL},
|
||||||
{&s.selectReportedEventsAscStmt, selectReportedEventsAscSQL},
|
{&s.selectReportedEventsAscStmt, selectReportedEventsAscSQL},
|
||||||
{&s.selectReportedEventStmt, selectReportedEventSQL},
|
{&s.selectReportedEventStmt, selectReportedEventSQL},
|
||||||
|
{&s.deleteReportedEventStmt, deleteReportedEventSQL},
|
||||||
}.Prepare(db)
|
}.Prepare(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,3 +213,9 @@ func (r *reportedEventsStatements) SelectReportedEvent(
|
||||||
}
|
}
|
||||||
return row, nil
|
return row, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *reportedEventsStatements) DeleteReportedEvent(ctx context.Context, txn *sql.Tx, reportID uint64) error {
|
||||||
|
stmt := sqlutil.TxStmt(txn, r.deleteReportedEventStmt)
|
||||||
|
_, err := stmt.ExecContext(ctx, reportID)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -2102,6 +2102,12 @@ func (d *Database) QueryAdminEventReport(ctx context.Context, reportID uint64) (
|
||||||
return report, nil
|
return report, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *Database) AdminDeleteEventReport(ctx context.Context, reportID uint64) error {
|
||||||
|
return d.Writer.Do(d.DB, nil, func(txn *sql.Tx) error {
|
||||||
|
return d.ReportedEventsTable.DeleteReportedEvent(ctx, txn, reportID)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// findRoomNameAndCanonicalAlias loops over events to find the corresponding room name and canonicalAlias
|
// findRoomNameAndCanonicalAlias loops over events to find the corresponding room name and canonicalAlias
|
||||||
// for a given roomID.
|
// for a given roomID.
|
||||||
func findRoomNameAndCanonicalAlias(events []tables.StrippedEvent, roomID string) (name, canonicalAlias string) {
|
func findRoomNameAndCanonicalAlias(events []tables.StrippedEvent, roomID string) (name, canonicalAlias string) {
|
||||||
|
|
|
||||||
|
|
@ -80,11 +80,14 @@ FROM roomserver_reported_events
|
||||||
WHERE id = $1
|
WHERE id = $1
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const deleteReportedEventSQL = `DELETE FROM roomserver_reported_events WHERE id = $1`
|
||||||
|
|
||||||
type reportedEventsStatements struct {
|
type reportedEventsStatements struct {
|
||||||
insertReportedEventsStmt *sql.Stmt
|
insertReportedEventsStmt *sql.Stmt
|
||||||
selectReportedEventsDescStmt *sql.Stmt
|
selectReportedEventsDescStmt *sql.Stmt
|
||||||
selectReportedEventsAscStmt *sql.Stmt
|
selectReportedEventsAscStmt *sql.Stmt
|
||||||
selectReportedEventStmt *sql.Stmt
|
selectReportedEventStmt *sql.Stmt
|
||||||
|
deleteReportedEventStmt *sql.Stmt
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateReportedEventsTable(db *sql.DB) error {
|
func CreateReportedEventsTable(db *sql.DB) error {
|
||||||
|
|
@ -100,6 +103,7 @@ func PrepareReportedEventsTable(db *sql.DB) (tables.ReportedEvents, error) {
|
||||||
{&s.selectReportedEventsDescStmt, selectReportedEventsDescSQL},
|
{&s.selectReportedEventsDescStmt, selectReportedEventsDescSQL},
|
||||||
{&s.selectReportedEventsAscStmt, selectReportedEventsAscSQL},
|
{&s.selectReportedEventsAscStmt, selectReportedEventsAscSQL},
|
||||||
{&s.selectReportedEventStmt, selectReportedEventSQL},
|
{&s.selectReportedEventStmt, selectReportedEventSQL},
|
||||||
|
{&s.deleteReportedEventStmt, deleteReportedEventSQL},
|
||||||
}.Prepare(db)
|
}.Prepare(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,3 +213,9 @@ func (r *reportedEventsStatements) SelectReportedEvent(
|
||||||
}
|
}
|
||||||
return row, nil
|
return row, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *reportedEventsStatements) DeleteReportedEvent(ctx context.Context, txn *sql.Tx, reportID uint64) error {
|
||||||
|
stmt := sqlutil.TxStmt(txn, r.deleteReportedEventStmt)
|
||||||
|
_, err := stmt.ExecContext(ctx, reportID)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,7 @@ type ReportedEvents interface {
|
||||||
txn *sql.Tx,
|
txn *sql.Tx,
|
||||||
reportID uint64,
|
reportID uint64,
|
||||||
) (api.QueryAdminEventReportResponse, error)
|
) (api.QueryAdminEventReportResponse, error)
|
||||||
|
DeleteReportedEvent(ctx context.Context, txn *sql.Tx, reportID uint64) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type MembershipState int64
|
type MembershipState int64
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue