mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-08-04 14:37:36 +00:00
Add Pydantic models for nodes usage history, subscriptions, and user management
- Implemented models for nodes usage history including NodeInfoDto, GetUserAccessibleNodesResponse, and usage statistics. - Created subscription-related models such as UserSubscription, SubscriptionInfoData, and various response DTOs for subscription information. - Developed models for subscription settings, templates, and system statistics, enhancing the API's capability to manage and retrieve subscription configurations. - Introduced user management models including CreateUserRequestDto, UpdateUserRequestDto, and various response DTOs for user actions. - Added bulk actions for user updates and statistics tracking, improving the efficiency of user management operations. - Established a base controller for handling API requests and responses, along with decorators for HTTP methods to streamline API interactions. - Included utility functions for serialization using orjson for better performance with Pydantic models.
This commit is contained in:
parent
6e90ab89e9
commit
950a7ffab3
85 changed files with 87 additions and 87 deletions
|
|
@ -3,7 +3,7 @@ import os
|
|||
import pytest
|
||||
from dotenv import load_dotenv
|
||||
|
||||
from remnawave_api import RemnawaveSDK
|
||||
from remnawave import RemnawaveSDK
|
||||
|
||||
load_dotenv()
|
||||
REMNAWAVE_BASE_URL = os.getenv("REMNAWAVE_BASE_URL")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import LoginRequestDto, LoginResponseDto, LoginTelegramRequestDto
|
||||
from remnawave_api.exceptions import ForbiddenError, ApiError
|
||||
from remnawave.models import LoginRequestDto, LoginResponseDto, LoginTelegramRequestDto
|
||||
from remnawave.exceptions import ForbiddenError, ApiError
|
||||
from tests.conftest import REMNAWAVE_ADMIN_PASSWORD, REMNAWAVE_ADMIN_USERNAME
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from remnawave_api.models import GetNodesUsageByRangeResponseDto, GetNodesRealtimeUsageResponseDto
|
||||
from remnawave.models import GetNodesUsageByRangeResponseDto, GetNodesRealtimeUsageResponseDto
|
||||
from tests.utils import generate_isoformat_range
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
CreateConfigProfileRequestDto,
|
||||
CreateConfigProfileResponseDto,
|
||||
DeleteConfigProfileResponseDto,
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import random
|
|||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.enums import ALPN, Fingerprint
|
||||
from remnawave_api.models import (
|
||||
from remnawave.enums import ALPN, Fingerprint
|
||||
from remnawave.models import (
|
||||
CreateHostRequestDto,
|
||||
CreateHostResponseDto,
|
||||
DeleteHostResponseDto,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import uuid
|
|||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
CreateUserHwidDeviceRequestDto,
|
||||
DeleteUserHwidDeviceRequestDto,
|
||||
CreateUserHwidDeviceResponseDto,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import GetAllInboundsResponseDto
|
||||
from remnawave.models import GetAllInboundsResponseDto
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from datetime import datetime, timedelta
|
|||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
CreateInfraBillingNodeRequestDto,
|
||||
CreateInfraBillingNodeResponseDto,
|
||||
CreateInfraProviderRequestDto,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from uuid import UUID
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
AddUsersToInternalSquadRequestDto,
|
||||
AddUsersToInternalSquadResponseDto,
|
||||
CreateInternalSquadRequestDto,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import GetPubKeyResponseDto
|
||||
from remnawave.models import GetPubKeyResponseDto
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import random
|
|||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
NodeConfigProfileRequestDto,
|
||||
CreateNodeRequestDto,
|
||||
DeleteNodeResponseDto,
|
||||
|
|
@ -13,7 +13,7 @@ from remnawave_api.models import (
|
|||
ReorderNodeResponseDto,
|
||||
UpdateNodeRequestDto,
|
||||
)
|
||||
from remnawave_api.models.nodes import ReorderNodeItem
|
||||
from remnawave.models.nodes import ReorderNodeItem
|
||||
from tests.conftest import REMNAWAVE_CONFIG_PROFILE_UUID, REMNAWAVE_INBOUND_UUID
|
||||
from tests.utils import generate_random_string
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from datetime import datetime, timedelta
|
|||
|
||||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
GetNodeUserUsageByRangeResponseDto,
|
||||
GetNodesUsageByRangeResponseDto,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.enums import ClientType
|
||||
from remnawave_api.models import GetSubscriptionInfoResponseDto
|
||||
from remnawave.enums import ClientType
|
||||
from remnawave.models import GetSubscriptionInfoResponseDto
|
||||
from tests.conftest import REMNAWAVE_SHORT_UUID
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
GetSubscriptionSettingsResponseDto,
|
||||
UpdateSubscriptionSettingsRequestDto,
|
||||
UpdateSubscriptionSettingsResponseDto,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.enums import TemplateType
|
||||
from remnawave_api.models import GetTemplateResponseDto, UpdateTemplateRequestDto, UpdateTemplateResponseDto
|
||||
from remnawave.enums import TemplateType
|
||||
from remnawave.models import GetTemplateResponseDto, UpdateTemplateRequestDto, UpdateTemplateResponseDto
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import (
|
||||
from remnawave.models import (
|
||||
GetBandwidthStatsResponseDto,
|
||||
GetNodesStatisticsResponseDto,
|
||||
GetStatsResponseDto,
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ from datetime import datetime, timedelta
|
|||
import pytest
|
||||
import pytz
|
||||
|
||||
from remnawave_api.enums import ErrorCode, UserStatus
|
||||
from remnawave_api.exceptions import ApiError
|
||||
from remnawave_api.models import (
|
||||
from remnawave.enums import ErrorCode, UserStatus
|
||||
from remnawave.exceptions import ApiError
|
||||
from remnawave.models import (
|
||||
CreateUserRequestDto,
|
||||
DeleteUserResponseDto,
|
||||
EmailUserResponseDto,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from typing import List
|
|||
import pytest
|
||||
import pytz
|
||||
|
||||
from remnawave_api.models import BulkResponseDto, UpdateUserFields
|
||||
from remnawave.models import BulkResponseDto, UpdateUserFields
|
||||
from tests.conftest import REMNAWAVE_USER_UUID
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import pytest
|
||||
|
||||
from remnawave_api.models import GetUserUsageByRangeResponseDto
|
||||
from remnawave.models import GetUserUsageByRangeResponseDto
|
||||
from tests.conftest import REMNAWAVE_USER_UUID
|
||||
from tests.utils import generate_isoformat_range
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue