@alisdigital/types-library
Version:
TypeScript type definitions for Papilet ecosystem with session soft delete and event management features
195 lines (194 loc) • 4.57 kB
TypeScript
import { IListResponse } from "./base.response";
import { IMetadata } from "./dashboard.response";
import { IUser } from "./user.response";
export interface IProperty {
id: string;
title: string;
address: string;
city: string;
district: string;
neighborhood: string;
isRented: boolean;
propertyNumber: string;
serviceFeeRate: string;
buildingManagerId: string;
consultantId: string;
metadata: IMetadata;
isActive: boolean;
createdAt: string;
updatedAt: string;
image: IMedia;
Institution: Institution;
User: IUser;
amount: number;
}
export interface Institution {
id: string;
title: string;
description: string;
type: string;
iban: null | string;
gsmNumber: null | string;
email: null | string;
address: null | string;
city: string;
district: string;
externalUrl: null | string;
isActive: boolean;
createdAt: string;
updatedAt: string;
}
export interface IPropertiesResponse extends IListResponse {
properties: IProperty[];
}
export interface IPropertyResponse extends IProperty {
}
interface IPropertyExpense {
id: string;
propertyId: string;
propertyTenantId: string;
institutionId: null;
paytoTransfer: null;
typeId: string;
amount: string;
description: string;
paidAt: string;
receiptImageId: string;
isActive: boolean;
createdAt: string;
updatedAt: string;
receiptImage: ReceiptImage;
}
export interface ReceiptImage {
id: string;
name: string;
type: string;
size: number;
url: string;
createdAt: string;
updatedAt: string;
}
export interface IPropertyExpensesResponse extends Array<IPropertyExpense> {
}
export interface IPropertyMediaResponse extends Array<IPropertyMediaData> {
}
export interface IPropertyMediaData {
id: string;
propertyId: string;
mediaId: string;
createdAt: string;
updatedAt: string;
media: IMedia;
}
export interface IPropertyMedia {
id: string;
name: string;
type: string;
size: number;
url: string;
createdAt: string;
updatedAt: string;
}
export interface IPropertyOwnerResponse extends Array<IPropertyOwner> {
}
export interface IPropertyOwner {
id: string;
propertyId: string;
ownerId: string;
sharePercentage: string;
createdAt: string;
updatedAt: string;
User: IUser;
}
export interface IPropertyTenantResponse extends Array<IPropertyTenant> {
}
export interface IPropertyTenant {
id: string;
propertyId: string;
tenantId: string;
startDate: string;
endDate: string;
rentPeriod: number;
paidDay: number;
rentPrice: string;
isCurrent: boolean;
createdAt: string;
updatedAt: string;
User: IUser;
contracts: IPropertyTenantContract[];
amount: number;
}
export interface IPropertyTenantContract {
id: string;
propertyTenantId: string;
paidDate: string;
isPaid: boolean;
amount: string;
paidAmount: string;
isActive: boolean;
createdAt: string;
updatedAt: string;
}
export interface IPropertyContractsResponse extends Array<IPropertyContract> {
}
interface IPropertyContract {
id: string;
propertyTenantId: string;
mediaId: string;
type: string;
isApproved: boolean;
createdAt: string;
updatedAt: string;
media: IMedia;
}
export interface IMedia {
id: string;
name: string;
type: string;
size: number;
url: string;
createdAt: string;
updatedAt: string;
}
export interface IPropertyTenantArchiveResponse {
expenses: IPropertyTenantExpense[];
contracts: IPropertyTenantArchiveContract[];
}
export interface IPropertyTenantArchiveContract {
id: string;
propertyTenantId: string;
mediaId: string;
type: string;
isApproved: boolean;
createdAt: string;
updatedAt: string;
media: ReceiptImage;
}
export interface IPropertyTenantExpense {
id: string;
propertyId: string;
propertyTenantId: string;
institutionId: null;
paytoTransfer: boolean | null;
typeId: string;
amount: string;
description: string;
paidAt: string;
receiptImageId: null | string;
isActive: boolean;
createdAt: string;
updatedAt: string;
receiptImage: ReceiptImage | null;
}
export interface IPropertyNoteResponse extends Array<IPropertyNote> {
}
export interface IPropertyNote {
id: string;
propertyId: string;
note: string;
userId: string;
createdAt: string;
updatedAt: string;
user: IUser;
}
export {};