+signup +login
Some checks failed
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed

This commit is contained in:
Stephan D
2025-11-17 20:16:45 +01:00
parent 1ab7f2e7d3
commit c6a56071b5
89 changed files with 1308 additions and 3497 deletions

BIN
frontend/pshared/lib/api/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -1,2 +1,22 @@
class AuthorizationFailed implements Exception {
class AuthenticationFailedException implements Exception {
final String message;
final Exception? originalError;
const AuthenticationFailedException(this.message, [this.originalError]);
@override
String toString() {
return 'AuthenticationFailedException: $message${originalError != null ? ' (caused by: $originalError)' : ''}';
}
}
class CircuitBreakerOpenException implements Exception {
final String message;
const CircuitBreakerOpenException(this.message);
@override
String toString() {
return 'CircuitBreakerOpenException: $message';
}
}

Binary file not shown.

View File

@@ -1,20 +1,18 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:pshared/api/requests/login_data.dart';
part 'login.g.dart';
@JsonSerializable(explicitToJson: true)
class LoginRequest {
final String login;
final String password;
final String locale;
final LoginData login;
final String clientId;
final String deviceId;
const LoginRequest({
required this.login,
required this.password,
required this.locale,
required this.clientId,
required this.deviceId,
});

View File

@@ -0,0 +1,76 @@
import 'package:json_annotation/json_annotation.dart';
part 'login_data.g.dart';
@JsonSerializable(explicitToJson: true, constructor: 'build')
class LoginData {
final String login;
final String password;
final String locale;
const LoginData._({
required this.login,
required this.password,
required this.locale,
});
factory LoginData.build({
required String login,
required String password,
required String locale,
}) => LoginData._(
login: login.trim().toLowerCase(),
password: password,
locale: locale,
);
factory LoginData.fromJson(Map<String, dynamic> json) => _$LoginDataFromJson(json);
Map<String, dynamic> toJson() => _$LoginDataToJson(this);
}
@JsonSerializable(explicitToJson: true, constructor: 'buildIstance')
class AccountData extends LoginData {
final String name;
final String lastName;
const AccountData._({
required super.login,
required super.password,
required super.locale,
required this.name,
required this.lastName,
}) : super._();
factory AccountData.buildIstance({
required String login,
required String password,
required String locale,
required String name,
required String lastName,
}) => AccountData._(
login: login,
password: password,
locale: locale,
name: name.trim(),
lastName: lastName.trim(),
);
factory AccountData.build({
required LoginData login,
required String name,
required String lastName,
}) => AccountData.buildIstance(
login: login.login,
password: login.password,
locale: login.locale,
name: name,
lastName: lastName,
);
factory AccountData.fromJson(Map<String, dynamic> json) => _$AccountDataFromJson(json);
@override
Map<String, dynamic> toJson() => _$AccountDataToJson(this);
}

View File

@@ -1,6 +1,6 @@
import 'package:json_annotation/json_annotation.dart';
part 'change_password.g.dart';
part 'change.g.dart';
@JsonSerializable(explicitToJson: true)

View File

@@ -0,0 +1,20 @@
import 'package:json_annotation/json_annotation.dart';
part 'forgot.g.dart';
@JsonSerializable()
class ForgotPasswordRequest {
final String login;
const ForgotPasswordRequest({
required this.login,
});
factory ForgotPasswordRequest.fromJson(Map<String, dynamic> json) => _$ForgotPasswordRequestFromJson(json);
Map<String, dynamic> toJson() => _$ForgotPasswordRequestToJson(this);
static ForgotPasswordRequest build({
required String login,
}) => ForgotPasswordRequest(login: login);
}

View File

@@ -0,0 +1,20 @@
import 'package:json_annotation/json_annotation.dart';
part 'reset.g.dart';
@JsonSerializable()
class ResetPasswordRequest {
final String password;
const ResetPasswordRequest({
required this.password,
});
factory ResetPasswordRequest.fromJson(Map<String, dynamic> json) => _$ResetPasswordRequestFromJson(json);
Map<String, dynamic> toJson() => _$ResetPasswordRequestToJson(this);
static ResetPasswordRequest build({
required String password,
}) => ResetPasswordRequest(password: password);
}

View File

@@ -1,82 +1,39 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:pshared/api/requests/login_data.dart';
import 'package:pshared/data/dto/describable.dart';
import 'package:pshared/data/mapper/describable.dart';
import 'package:pshared/models/describable.dart';
part 'signup.g.dart';
@JsonSerializable(explicitToJson: true)
class SignupRequest {
final SignupAccount account;
final DescribableRequest organization;
final AccountData account;
final DescribableDTO organization;
final String organizationTimeZone;
final DescribableRequest anonymousUser;
final DescribableRequest ownerRole;
final DescribableRequest anonymousRole;
final DescribableDTO ownerRole;
const SignupRequest({
required this.account,
required this.organization,
required this.organizationTimeZone,
required this.anonymousUser,
required this.ownerRole,
required this.anonymousRole,
});
factory SignupRequest.build({
required String name,
required String login,
required String password,
required String locale,
required String organizationName,
required AccountData account,
required Describable organization,
required String organizationTimeZone,
}) =>
SignupRequest(
account: SignupAccount(
name: name,
login: login,
password: password,
locale: locale,
),
organization: DescribableRequest(name: organizationName),
organizationTimeZone: organizationTimeZone,
anonymousUser: const DescribableRequest(name: 'Anonymous'),
ownerRole: const DescribableRequest(name: 'Owner'),
anonymousRole: const DescribableRequest(name: 'Anonymous'),
);
required Describable ownerRole,
}) => SignupRequest(
account: account,
organization: organization.toDTO(),
organizationTimeZone: organizationTimeZone,
ownerRole: ownerRole.toDTO(),
);
factory SignupRequest.fromJson(Map<String, dynamic> json) =>
_$SignupRequestFromJson(json);
factory SignupRequest.fromJson(Map<String, dynamic> json) => _$SignupRequestFromJson(json);
Map<String, dynamic> toJson() => _$SignupRequestToJson(this);
}
@JsonSerializable()
class SignupAccount {
final String name;
final String login;
final String password;
final String locale;
final String? description;
const SignupAccount({
required this.name,
required this.login,
required this.password,
required this.locale,
this.description,
});
factory SignupAccount.fromJson(Map<String, dynamic> json) =>
_$SignupAccountFromJson(json);
Map<String, dynamic> toJson() => _$SignupAccountToJson(this);
}
@JsonSerializable()
class DescribableRequest {
final String name;
final String? description;
const DescribableRequest({required this.name, this.description});
factory DescribableRequest.fromJson(Map<String, dynamic> json) =>
_$DescribableRequestFromJson(json);
Map<String, dynamic> toJson() => _$DescribableRequestToJson(this);
}