mirror of
https://github.com/v0l/route96.git
synced 2025-06-15 16:03:00 +00:00

* Initial plan for issue * Implement complete payments system with quota enforcement - Add default free allowance configuration (100MB) - Implement quota checking before uploads in both blossom and nip96 routes - Add comprehensive quota checking functions in database module - Enhance admin API to show quota information - Add payment processing infrastructure - Include all necessary database migrations Users now get 100MB free storage + any valid paid storage. Uploads are rejected when quota would be exceeded. * Move free_quota_bytes to PaymentConfig and restore mime_type parameter Co-authored-by: v0l <1172179+v0l@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: v0l <1172179+v0l@users.noreply.github.com>
22 lines
695 B
SQL
22 lines
695 B
SQL
-- Add migration script here
|
|
alter table users
|
|
add column paid_until timestamp,
|
|
add column paid_size integer unsigned not null;
|
|
|
|
create table payments
|
|
(
|
|
payment_hash binary(32) not null primary key,
|
|
user_id integer unsigned not null,
|
|
created timestamp default current_timestamp,
|
|
amount integer unsigned not null,
|
|
is_paid bit(1) not null default 0,
|
|
days_value integer unsigned not null,
|
|
size_value integer unsigned not null,
|
|
settle_index integer unsigned,
|
|
rate float,
|
|
|
|
constraint fk_payments_user_id
|
|
foreign key (user_id) references users (id)
|
|
on delete cascade
|
|
on update restrict
|
|
); |