Types

Enums

Lang

The user navigation lang.

enum Lang {
  fr = 'fr',
  en = 'en',
}

Role

The user role.

enum UserRole {
  admin = 'admin',
  user = 'user',
}

Interfaces

AppLimits

The application limits.

interface AppLimits {
  id: string;
  devs: bigint | null;
  devsBase: bigint | null;
  devsUnit: bigint | null;
  devsPrice: bigint | null;
  users: bigint | null;
  usersBase: bigint | null;
  usersUnit: bigint | null;
  usersPrice: bigint | null;
  perFileSize: bigint | null;
  perFileSizeBase: bigint | null;
  perFileSizeUnit: bigint | null;
  perFileSizePrice: bigint | null;
  bandwidth: bigint | null;
  bandwidthBase: bigint | null;
  bandwidthUnit: bigint | null;
  bandwidthPrice: bigint | null;
}

AppNotification

The application notifications configuration.

interface AppNotifications {
  id: string;
  cloud: boolean;
  mail: boolean;
  enableAll: boolean;
  disableAllUntil: Date | null;
}

AppSettings

The application settings.

interface AppSettings {
  id: string;
  cloudNodeDaysForDelete: number;
  historyMaxFileCount: number;
  historyFileDaysForDelete: number | null;
}

DBConfigSchema

Represents the user database configuration schema.

interface DBConfigSchema {
  tables: {
    name: string;
    uuid: string;
    fields: {
      type: 'string' | 'number' | 'boolean' | 'object';
      name: string;
      uuid: string;
      isArray: boolean;
      isNullable: boolean;
      isEditable: boolean;
      isKey: boolean;
      default: unknown;
    }[];
  }[];
}

DBConfigInputSchema

Represents the user database minimal configuration schema. It is used for the construction and modification of configuration.

interface DBConfigInputSchema {
  tables: {
    name: string;
    uuid?: string;
    fields: {
      type: 'string' | 'number' | 'boolean' | 'object';
      name: string;
      uuid?: string;
      isArray?: boolean;
      isNullable?: boolean;
      isEditable?: boolean;
      isKey?: boolean;
      default?: unknown;
    }[];
  }[];
}

DBLevelDiff

Represents a diff between two configuration schemas.

TODO: Type

interface DBLevelDiff {}

SelfUser

Represent yourself informations.

interface SelfUser {
  id: string;
  firstname: string;
  lastname: string;
  createdAt: Date;
  deletedAt: Date;
  updatedAt: Date;
  lastLogin: Date;
}

PublicUser

Represents a user public informations.

interface PublicUser {
  id: string;
  firstname: string;
  lastname: string;
}

SecrecyPayInvoice

interface SecrecyPayInvoice {
  amountDue: number;
  amountPaid: number;
  amountRemaining: number;
  created: number;
  currency: string;
  id: string;
  paid: boolean;
  accountCountry: string | null;
  accountName: string | null;
  applicationFeeAmount: number | null;
  attemptCount: number;
  attempted: number;
  dueDate: number;
  endingBalance: number;
  hostedInvoiceUrl: number;
  invoicePdf: number;
  receiptNumber: number;
  tax: number;
  total: number;
}

Types

InfuraNetwork

type InfuraNetwork =
  | 'mainnet'
  | 'ropsten'
  | 'rinkeby'
  | 'goerli'
  | 'kovan'
  | 'polygon-mainnet'
  | 'polygon-mumbai';