Create login logic
This commit is contained in:
parent
68e0312c84
commit
ad4b7fc4e7
9 changed files with 188 additions and 14 deletions
|
@ -8,7 +8,7 @@ class Constants {
|
|||
static const DRAWER_COLOR = Color.fromARGB(148, 0, 97, 97);
|
||||
static const PORTFOLIO_CARD_COLOR = Color.fromARGB(255, 0, 71, 97);
|
||||
|
||||
static const VERSION = "Version 1.0.051524.2243";
|
||||
static const VERSION = "Version 1.0.051624.0201";
|
||||
static const COPYRIGHT = "Copyright 2024 - Tara Piccari. All rights Reserved";
|
||||
static const CLIENTPSK =
|
||||
"f5c6caf3efe1ec5aa4b7c572f92aa14782b7be34b4c7844fa9c6d47fdf94246";
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:libac_flutter/utils/Hashing.dart';
|
||||
import 'package:zontreck/pages/OpenSim.dart';
|
||||
|
||||
import 'Settings.dart';
|
||||
|
||||
abstract class IPacket {
|
||||
|
@ -243,3 +246,66 @@ class C2SRegisterAccountPacket implements IPacket {
|
|||
clientKey: map['clientKey'] as String);
|
||||
}
|
||||
}
|
||||
|
||||
class C2SLoginPacket implements IPacket {
|
||||
final String first;
|
||||
final String last;
|
||||
final String password;
|
||||
|
||||
C2SLoginPacket(
|
||||
{required this.first, required this.last, required this.password});
|
||||
|
||||
@override
|
||||
HTTPMethod method() {
|
||||
return HTTPMethod.Post;
|
||||
}
|
||||
|
||||
@override
|
||||
String getType() {
|
||||
return "C2SLogin";
|
||||
}
|
||||
|
||||
@override
|
||||
String encode() {
|
||||
return json.encode({
|
||||
"first": first,
|
||||
"last": last,
|
||||
"type": getType(),
|
||||
"password": Hashing.md5Hash(password)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class S2CLoginResponsePacket implements IPacket {
|
||||
final bool loggedIn;
|
||||
final String reason;
|
||||
final User user;
|
||||
|
||||
S2CLoginResponsePacket(
|
||||
{required this.loggedIn, required this.reason, required this.user});
|
||||
|
||||
@override
|
||||
HTTPMethod method() {
|
||||
return HTTPMethod.Get;
|
||||
}
|
||||
|
||||
@override
|
||||
String getType() {
|
||||
return "S2CLoginResponse";
|
||||
}
|
||||
|
||||
@override
|
||||
String encode() {
|
||||
return json
|
||||
.encode({"type": getType(), "login": loggedIn, "reason": reason});
|
||||
}
|
||||
|
||||
static S2CLoginResponsePacket decode(String params) {
|
||||
var map = json.decode(params);
|
||||
// Proceed now to constructing PODO
|
||||
return S2CLoginResponsePacket(
|
||||
loggedIn: map['login'] as bool,
|
||||
reason: map['reason'] as String,
|
||||
user: User.parseJson(json.encode(map['user'])));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,6 +136,12 @@ class Settings {
|
|||
S2CPongPacket pong = S2CPongPacket.decode(reply);
|
||||
return pong;
|
||||
}
|
||||
case "S2CLoginResponse":
|
||||
{
|
||||
S2CLoginResponsePacket response =
|
||||
S2CLoginResponsePacket.decode(reply);
|
||||
return response;
|
||||
}
|
||||
default:
|
||||
{
|
||||
return NullPacket();
|
||||
|
|
|
@ -1,10 +1,42 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:footer/footer.dart';
|
||||
import 'package:footer/footer_view.dart';
|
||||
import 'package:libac_flutter/utils/uuid/UUID.dart';
|
||||
import 'package:zontreck/Constants.dart';
|
||||
import 'package:zontreck/Packets.dart';
|
||||
import 'package:zontreck/Settings.dart';
|
||||
|
||||
class User {
|
||||
UUID ID;
|
||||
String FirstName;
|
||||
String LastName;
|
||||
int createdAt;
|
||||
String userTitle;
|
||||
bool active;
|
||||
|
||||
User(
|
||||
{required this.ID,
|
||||
required this.FirstName,
|
||||
required this.LastName,
|
||||
required this.createdAt,
|
||||
required this.userTitle,
|
||||
required this.active});
|
||||
|
||||
static User parseJson(String params) {
|
||||
var map = json.decode(params);
|
||||
|
||||
return User(
|
||||
ID: UUID.parse(map['id'] as String),
|
||||
FirstName: map['first'] as String,
|
||||
LastName: map['last'] as String,
|
||||
createdAt: map['rezzed'] as int,
|
||||
userTitle: map['title'] as String,
|
||||
active: map['active'] as bool);
|
||||
}
|
||||
}
|
||||
|
||||
class OpenSimPage extends StatefulWidget {
|
||||
const OpenSimPage({super.key});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue