Skip to content

Commit fe2e41b

Browse files
committed
Merge branch 'development' of https://github.com/BinaryStudioAcademy/bsa-2023-towhub into fix/th-294-user-unlogging-when-server-is-dead
2 parents 8795da1 + bbd297b commit fe2e41b

File tree

491 files changed

+10751
-1282
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

491 files changed

+10751
-1282
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { AppErrorMessage, HttpCode } from '../../enums/enums.js';
2+
import { HttpError } from '../exceptions.js';
3+
4+
type Constructor = {
5+
message?: string;
6+
cause?: unknown;
7+
};
8+
9+
class EntityAccessDeniedError extends HttpError {
10+
public constructor({ message, cause }: Constructor) {
11+
super({
12+
message: message ?? AppErrorMessage.ENTITY_ACCESS_DENIED,
13+
status: HttpCode.BAD_REQUEST,
14+
cause,
15+
});
16+
}
17+
}
18+
19+
export { EntityAccessDeniedError };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { EntityAccessDeniedError } from './entity-access-denied-error.exception.js';

backend/src/libs/exceptions/exceptions.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export { DatabaseConnectionError } from './database/database.js';
2+
export { EntityAccessDeniedError } from './entity-access-denied/entity-access-denied.js';
23
export {
34
FileTransactionError,
45
FileValidatorError,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
interface IService<T = unknown> {
2-
findById(id: unknown): Promise<T | null>;
2+
findById(id: unknown, metadata?: unknown): Promise<T | null>;
33
create(payload: unknown): Promise<T>;
44
update(id: unknown, payload: unknown): Promise<T>;
5-
delete(id: unknown): Promise<boolean>;
5+
delete(id: unknown, metadata?: unknown): Promise<boolean>;
66
}
77

88
export { type IService };

backend/src/libs/packages/config/libs/interfaces/config.interface.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import { type IConfig as ILibraryConfig } from 'shared/build/index.js';
2-
3-
import { type EnvironmentSchema } from '../types/types.js';
1+
import { type EnvironmentSchema, type ILibraryConfig } from '../types/types.js';
42

53
interface IConfig extends ILibraryConfig<EnvironmentSchema> {}
64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
export { type EnvironmentSchema } from './environment-schema.type.js';
2+
export { type IConfig as ILibraryConfig } from 'shared/build/index.js';

backend/src/libs/packages/controller/controller.package.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { type ServerAppRouteParameters } from '~/libs/packages/server-applicatio
33
import { type ValueOf } from '~/libs/types/types.js';
44
import { type AuthStrategy } from '~/packages/auth/auth.js';
55

6+
import { buildUrl } from './libs/helpers/build-url.helper.js';
67
import { type IController } from './libs/interfaces/interface.js';
78
import {
89
type ApiHandler,
@@ -63,14 +64,16 @@ class Controller implements IController {
6364
private mapRequest(
6465
request: Parameters<ServerAppRouteParameters['handler']>[0],
6566
): ApiHandlerOptions {
66-
const { body, query, params, user, parsedFiles } = request;
67+
const { body, query, params, user, parsedFiles, hostname, protocol } =
68+
request;
6769

6870
return {
6971
body,
7072
query,
7173
params,
7274
user,
7375
parsedFiles,
76+
hostname: buildUrl(protocol, hostname),
7477
};
7578
}
7679
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const SEPARATOR = '://';
2+
const buildUrl = (protocol: string, hostname: string): string =>
3+
`${protocol}${SEPARATOR}${hostname}`;
4+
5+
export { buildUrl };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { buildUrl } from './build-url.helper.js';

backend/src/libs/packages/controller/libs/types/api-handler-options.type.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type ApiHandlerOptions<
1010
params: T['params'];
1111
user: undefined extends T['user'] ? UserEntityObjectWithGroupT : T['user'];
1212
parsedFiles: T['parsedFiles'];
13+
hostname: T['hostname'];
1314
};
1415

1516
export { type ApiHandlerOptions };

0 commit comments

Comments
 (0)