functional-models
    Preparing search index...

    Function unique

    • Validates that a stored instance is the only one that has a value for a specific property. This only validates before the instance goes into the datastore.

      Type Parameters

      • T extends Readonly<{ [s: string]: any }>

      Parameters

      • propertyKey: string

        The property key to check.

      Returns PropertyValidatorComponentAsync<
          T,
          Readonly<
              {
                  bulkInsert: <TData extends Readonly<{ [s: string]: any }>>(
                      instances: readonly OrmModelInstance<TData, object, object>[],
                  ) => Promise<void>;
                  count: () => Promise<number>;
                  createAndSave: <TData extends Readonly<{ [s: string]: any }>>(
                      data: OrmModelInstance<TData, object, object>,
                  ) => Promise<OrmModelInstance<TData, object, object>>;
                  delete: (id: PrimaryKeyType) => Promise<void>;
                  retrieve: <TData extends Readonly<{ [s: string]: any }>>(
                      primaryKey: PrimaryKeyType,
                  ) => Promise<Maybe<OrmModelInstance<TData, object, object>>>;
                  save: <TData extends Readonly<{ [s: string]: any }>>(
                      instance: OrmModelInstance<TData, object, object>,
                  ) => Promise<OrmModelInstance<TData, object, object>>;
                  search: <TData extends Readonly<{ [s: string]: any }>>(
                      query: OrmSearch,
                  ) => Promise<
                      Readonly<
                          {
                              instances: readonly OrmModelInstance<
                                  TData,
                                  OrmModel<TData, object, object>,
                                  object,
                              >[];
                              page?: any;
                          },
                      >,
                  >;
                  searchOne: <TData extends Readonly<{ [s: string]: any }>>(
                      query: Omit<OrmSearch, "take">,
                  ) => Promise<undefined | OrmModelInstance<TData, object, object>>;
              },
          >,
          Readonly<
              {
                  delete: () => Promise<void>;
                  save: <TData extends Readonly<{ [s: string]: any }>>() => Promise<
                      OrmModelInstance<TData, object, object>,
                  >;
              },
          >,
      >