feat: Add Steam account linking with team creation (#274)

## Description
<!-- Briefly describe the purpose and scope of your changes -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a real-time Steam login flow using QR codes and server-sent
events (SSE) for team creation and authentication.
- Added Steam account and friend management, including secure credential
storage and friend list synchronization.
- Integrated Steam login endpoints into the API, enabling QR code-based
login and automated team setup.

- **Improvements**
- Enhanced data security by implementing encrypted storage for sensitive
tokens.
- Updated database schema to support Steam accounts, teams, memberships,
and social connections.
- Refined type definitions and consolidated account-related information
for improved consistency.

- **Bug Fixes**
  - Fixed trade ban status representation for Steam accounts.

- **Chores**
- Removed legacy C# Steam authentication service and related
configuration files.
  - Updated and cleaned up package dependencies and development tooling.
  - Streamlined type declaration files and resource definitions.

- **Style**
- Redesigned the team creation page UI with a modern, animated QR code
login interface.

- **Documentation**
  - Updated OpenAPI documentation for new Steam login endpoints.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Wanjohi
2025-05-09 01:13:44 +03:00
committed by GitHub
parent 70d629227a
commit 7e69af977b
51 changed files with 2332 additions and 2805 deletions

View File

@@ -3,116 +3,7 @@
/* eslint-disable */
/* deno-fmt-ignore-file */
import "sst"
declare module "sst" {
export interface Resource {
"Api": {
"service": string
"type": "sst.aws.Service"
"url": string
}
"Auth": {
"service": string
"type": "sst.aws.Service"
"url": string
}
"Bus": {
"arn": string
"name": string
"type": "sst.aws.Bus"
}
"Database": {
"clusterArn": string
"database": string
"host": string
"password": string
"port": number
"reader": string
"secretArn": string
"type": "sst.aws.Aurora"
"username": string
}
"DatabaseMigrator": {
"name": string
"type": "sst.aws.Function"
}
"DiscordClientID": {
"type": "sst.sst.Secret"
"value": string
}
"DiscordClientSecret": {
"type": "sst.sst.Secret"
"value": string
}
"Email": {
"configSet": string
"sender": string
"type": "sst.aws.Email"
}
"GithubClientID": {
"type": "sst.sst.Secret"
"value": string
}
"GithubClientSecret": {
"type": "sst.sst.Secret"
"value": string
}
"NestriFamilyMonthly": {
"type": "sst.sst.Secret"
"value": string
}
"NestriFamilyYearly": {
"type": "sst.sst.Secret"
"value": string
}
"NestriFreeMonthly": {
"type": "sst.sst.Secret"
"value": string
}
"NestriProMonthly": {
"type": "sst.sst.Secret"
"value": string
}
"NestriProYearly": {
"type": "sst.sst.Secret"
"value": string
}
"PolarSecret": {
"type": "sst.sst.Secret"
"value": string
}
"PolarWebhookSecret": {
"type": "sst.sst.Secret"
"value": string
}
"Realtime": {
"authorizer": string
"endpoint": string
"type": "sst.aws.Realtime"
}
"Storage": {
"name": string
"type": "sst.aws.Bucket"
}
"VPC": {
"bastion": string
"type": "sst.aws.Vpc"
}
"Web": {
"type": "sst.aws.StaticSite"
"url": string
}
"Zero": {
"service": string
"type": "sst.aws.Service"
"url": string
}
"ZeroPermissions": {
"name": string
"type": "sst.aws.Function"
}
}
}
/// <reference path="../../sst-env.d.ts" />
import "sst"
export {}