backend/source/types.ts

89 lines
1.8 KiB
TypeScript
Raw Permalink Normal View History

2024-05-20 21:56:48 +02:00
/*
Espe | Ein schlichtes Werkzeug zur Mitglieder-Verwaltung | Backend
Copyright (C) 2024 Christian Fraß
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see
<https://www.gnu.org/licenses/>.
*/
2024-04-29 22:40:52 +02:00
namespace _espe.type
2024-04-29 20:48:20 +02:00
{
2025-07-07 12:10:52 +02:00
/**
*/
export type group_id = int;
/**
*/
export type group_object = {
name : string;
};
2025-03-31 18:39:50 +00:00
/**
*/
export type admin_id = int;
/**
*/
export type admin_object = {
name : string;
email_address : (null | string);
password_image : string;
password_fail_count : int;
};
2024-04-29 20:48:20 +02:00
/**
*/
2024-04-29 22:40:52 +02:00
export type member_id = int;
2024-04-29 20:48:20 +02:00
/**
*/
2024-04-29 22:40:52 +02:00
export type member_object = {
2025-07-07 12:10:52 +02:00
name : string;
email_address : (null | string);
groups : Array<group_id>;
2024-04-29 20:48:20 +02:00
enabled : boolean;
password_image : (null | string);
password_change_last_attempt : (null | int);
password_change_token : (null | string);
2024-04-29 20:48:20 +02:00
};
2025-03-31 20:24:43 +00:00
/**
*/
2025-07-07 12:10:52 +02:00
export type invitation_id = int;
2025-03-31 20:24:43 +00:00
/**
*/
2025-07-07 12:10:52 +02:00
export type invitation_key = string;
2025-03-31 20:24:43 +00:00
/**
2025-07-07 12:10:52 +02:00
* @todo use "pod" instead of "changable"/"value"
2025-03-31 20:24:43 +00:00
*/
2025-07-07 12:10:52 +02:00
export type invitation_object = {
key : invitation_key;
2025-04-01 04:20:59 +00:00
expiry : (null | int);
2025-04-12 10:20:58 +00:00
name_changeable : boolean;
2025-07-07 12:10:52 +02:00
name_value : (null | string);
2025-04-12 10:20:58 +00:00
email_address_changeable : boolean;
2025-03-31 20:24:43 +00:00
email_address_value : (null | string);
2025-04-12 10:20:58 +00:00
groups_changeable : boolean;
2025-07-07 12:10:52 +02:00
groups_value : (null | Array<_espe.type.group_id>);
2025-03-31 20:24:43 +00:00
};
2024-04-29 20:48:20 +02:00
}