Msdata.SystSettings (mscmp_syst_settings v0.1.0)

The primary data structure for applications settings data.

Defined in MscmpSystSettings.

Summary

Functions

Produces a changeset used to create or update a settings record.

Types

@type t() :: %Msdata.SystSettings{
  __meta__: Ecto.Schema.Metadata.t(),
  diag_role_created: String.t() | nil,
  diag_role_modified: String.t() | nil,
  diag_row_version: integer() | nil,
  diag_timestamp_created: DateTime.t() | nil,
  diag_timestamp_modified: DateTime.t() | nil,
  diag_update_count: integer() | nil,
  diag_wallclock_modified: DateTime.t() | nil,
  display_name: String.t() | nil,
  id: Ecto.UUID.t() | nil,
  internal_name: MscmpSystSettings.Types.setting_name() | nil,
  setting_blob: binary() | nil,
  setting_date: Date.t() | nil,
  setting_date_range: MscmpSystDb.DbTypes.DateRange.t() | nil,
  setting_decimal: Decimal.t() | nil,
  setting_decimal_range: MscmpSystDb.DbTypes.DecimalRange.t() | nil,
  setting_flag: boolean() | nil,
  setting_integer: integer() | nil,
  setting_integer_range: MscmpSystDb.DbTypes.IntegerRange.t() | nil,
  setting_interval: MscmpSystDb.DbTypes.Interval.t() | nil,
  setting_json: map() | nil,
  setting_text: String.t() | nil,
  setting_time: Time.t() | nil,
  setting_timestamp: DateTime.t() | nil,
  setting_timestamp_range: MscmpSystDb.DbTypes.DateTimeRange.t() | nil,
  setting_uuid: Ecto.UUID.t() | nil,
  syst_defined: boolean() | nil,
  syst_description: String.t() | nil,
  user_description: String.t() | nil
}

Functions

Link to this function

changeset(syst_settings, change_params \\ %{}, opts \\ [])

@spec changeset(t(), map(), Keyword.t()) :: Ecto.Changeset.t()

Produces a changeset used to create or update a settings record.

The change_params argument defines the attributes to be used in maintaining a settings record. Of the allowed fields, the following are required for creation:

  • internal_name - A unique key which is intended for programmatic usage by the application and other applications which make use of the data.

  • display_name - A unique key for the purposes of presentation to users in user interfaces, reporting, etc.

  • user_description - A description of the setting including its use cases and any limits or restrictions. This field must contain between 6 and 1000 characters to be considered valid.

The options define other attributes which can guide validation of change_param values:

  • min_internal_name_length - Sets a minimum length for internal_name values. The default value is 6 Unicode graphemes.

  • max_internal_name_length - The maximum length allowed for the internal_name value. The default is 64 Unicode graphemes.

  • min_display_name_length - Sets a minimum length for display_name values. The default value is 6 Unicode graphemes.

  • max_display_name_length - The maximum length allowed for the display_name value. The default is 64 Unicode graphemes.

  • min_user_description_length - Sets a minimum length for user_description values. The default value is 6 Unicode graphemes.

  • max_user_description_length - The maximum length allowed for the user_description value. The default is 1000 Unicode graphemes.