Documentation
¶
Index ¶
- func CancelDeletionRequest(id string) error
- func HandleAdminCancelDeletionRequest(w http.ResponseWriter, r *http.Request)
- func HandleApproveDeletionRequest(w http.ResponseWriter, r *http.Request)
- func HandleCancelDeletionRequest(w http.ResponseWriter, r *http.Request)
- func HandleGetDeletionRequest(w http.ResponseWriter, r *http.Request)
- func HandleListDeletionRequests(w http.ResponseWriter, _ *http.Request)
- func HandleRequestDeletion(w http.ResponseWriter, r *http.Request)
- func HardDeleteUser(userID string) error
- type CreateDeletionRequestInput
- type DeletionRequest
- type DeletionRequestResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CancelDeletionRequest ¶
func HandleAdminCancelDeletionRequest ¶
func HandleAdminCancelDeletionRequest(w http.ResponseWriter, r *http.Request)
HandleAdminCancelDeletionRequest godoc @Summary Cancel (dismiss) a deletion request without deleting the user @Tags admin @Produce json @Param id path string true "Deletion request ID" @Security BearerAuth @Success 204 @Failure 404 {object} model.ApiError @Failure 500 {object} model.ApiError @Router /admin/api/deletion-requests/{id} [delete]
func HandleApproveDeletionRequest ¶
func HandleApproveDeletionRequest(w http.ResponseWriter, r *http.Request)
HandleApproveDeletionRequest godoc @Summary Approve a deletion request — permanently deletes the user @Tags admin @Produce json @Param id path string true "Deletion request ID" @Security BearerAuth @Success 204 @Failure 404 {object} model.ApiError @Failure 500 {object} model.ApiError @Router /admin/api/deletion-requests/{id}/approve [post]
func HandleCancelDeletionRequest ¶
func HandleCancelDeletionRequest(w http.ResponseWriter, r *http.Request)
HandleCancelDeletionRequest godoc @Summary Cancel the current user's pending deletion request @Tags account @Produce json @Success 204 @Failure 401 {object} model.ApiError @Failure 404 {object} model.ApiError @Router /account/api/deletion-request [delete]
func HandleGetDeletionRequest ¶
func HandleGetDeletionRequest(w http.ResponseWriter, r *http.Request)
HandleGetDeletionRequest godoc @Summary Get pending deletion request for current user @Tags account @Produce json @Success 200 {object} DeletionRequestResponse @Failure 401 {object} model.ApiError @Router /account/api/deletion-request [get]
func HandleListDeletionRequests ¶
func HandleListDeletionRequests(w http.ResponseWriter, _ *http.Request)
HandleListDeletionRequests godoc @Summary List all pending deletion requests @Tags admin @Produce json @Security BearerAuth @Success 200 {array} DeletionRequestResponse @Failure 500 {object} model.ApiError @Router /admin/api/deletion-requests [get]
func HandleRequestDeletion ¶
func HandleRequestDeletion(w http.ResponseWriter, r *http.Request)
HandleRequestDeletion godoc @Summary Request account deletion @Description Submits a deletion request for the authenticated user. If self-service deletion is enabled, the account is deleted immediately. @Tags account @Accept json @Produce json @Param body body CreateDeletionRequestInput false "Optional deletion reason" @Success 200 {object} DeletionRequestResponse @Success 204 "Account deleted immediately (self-service mode)" @Failure 401 {object} model.ApiError @Failure 409 {object} model.ApiError @Failure 500 {object} model.ApiError @Router /account/api/deletion-request [post]
func HardDeleteUser ¶
HardDeleteUser permanently removes a user and all associated data. Delegates to user.HardDeleteUser which handles the full cascade.
Types ¶
type CreateDeletionRequestInput ¶
type CreateDeletionRequestInput struct {
Reason string `json:"reason,omitempty"`
}
type DeletionRequest ¶
func CreateDeletionRequest ¶
func CreateDeletionRequest(userID string, reason *string) (*DeletionRequest, error)
func DeletionRequestByID ¶
func DeletionRequestByID(id string) (*DeletionRequest, error)
func DeletionRequestByUserID ¶
func DeletionRequestByUserID(userID string) (*DeletionRequest, error)
func ListDeletionRequests ¶
func ListDeletionRequests() ([]DeletionRequest, error)
func (*DeletionRequest) ToResponse ¶
func (d *DeletionRequest) ToResponse() DeletionRequestResponse