feat: implement full backend API for Pantree Phase 1 MVP

This commit is contained in:
Azriel
2026-05-10 04:57:26 +00:00
parent d755eea792
commit 03a2cfb748
32 changed files with 4139 additions and 0 deletions

21
src/utils/errors.js Normal file
View File

@@ -0,0 +1,21 @@
'use strict';
/**
* Application-level error.
* status — HTTP status code
* code — machine-readable error code
* message — human-readable message
* extra — optional additional fields merged into the response body
*/
class AppError extends Error {
constructor(status, code, message, extra = null) {
super(message);
this.name = 'AppError';
this.status = status;
this.code = code;
this.isAppError = true;
this.extra = extra;
}
}
module.exports = { AppError };