refactor(typings): Refactor user and profile models; update API response types

This commit is contained in:
Tran Anh Tuan
2026-01-24 18:18:16 +07:00
parent 1a06328c77
commit b0b09a86b7
43 changed files with 1035 additions and 967 deletions

73
src/services/master/typings/thing.d.ts vendored Normal file
View File

@@ -0,0 +1,73 @@
declare namespace MasterModel {
interface SearchThingPaginationBody<T = SearchThingMetadata>
extends SearchPaginationBody {
order?: string;
metadata?: T;
}
interface SearchThingMetadata {
external_id?: string;
state_level?: string; // vd: "normal,warning,critical,sos"
/** kết nối */
connected?: boolean;
group_id?: string; // "id1,id2,id3"
}
// Thing
interface ThingReponseMetadata {
address?: string;
alarm_list?: string;
cfg_channel_id?: string;
connected?: boolean;
ctrl_channel_id?: string;
data_channel_id?: string;
enduser?: string;
external_id?: string;
group_id?: string;
req_channel_id?: string;
state?: string;
state_level?: number;
state_updated_time?: number;
type?: string;
updated_time?: number;
}
interface ThingsResponse<
T extends ThingReponseMetadata = ThingReponseMetadata,
> extends PaginationReponse {
metadata?: ThingsResponseMetadata;
things?: Thing<T>[];
}
interface ThingsResponseMetadata {
total_connected?: number;
total_filter?: number;
total_sos?: number;
total_state_level_0?: number;
total_state_level_1?: number;
total_state_level_2?: number;
total_thing?: number;
}
interface Thing<T extends ThingReponseMetadata = ThingReponseMetadata> {
id?: string;
name?: string;
key?: string;
metadata?: T;
}
// Thing Policy
interface ThingPolicyResponse extends PaginationReponse {
metadata?: null;
things?: ThingPolicy[];
}
interface ThingPolicy {
policies?: Policy[];
thing_id?: string;
thing_name?: string;
external_id?: string;
}
type Policy = 'read' | 'delete' | 'write';
}