CipherStash Docs
StackLatestSchemaFunctions

buildEncryptConfig

API reference for buildEncryptConfig

@cipherstash/stack


Function: buildEncryptConfig()

function buildEncryptConfig(...protectTables): {
  v: number;
  tables: Record<string, Record<string, {
     cast_as: "string" | "number" | "bigint" | "boolean" | "date" | "json" | "text";
     indexes: {
        ore?: {
        };
        unique?: {
           token_filters?: {
              kind: "downcase";
           }[];
        };
        match?: {
           tokenizer?:   | {
              kind: "standard";
            }
              | {
              kind: "ngram";
              token_length: number;
            };
           token_filters?: {
              kind: "downcase";
           }[];
           k?: number;
           m?: number;
           include_original?: boolean;
        };
        ste_vec?: {
           prefix: string;
        };
     };
  }>>;
};

Defined in: .tmp-stack/packages/stack/src/schema/index.ts:621

Build an encrypt config from a list of encrypted tables.

Parameters

protectTables

...EncryptedTable<EncryptedTableColumn>[]

Returns

{
  v: number;
  tables: Record&lt;string, Record&lt;string, {
     cast_as: "string" | "number" | "bigint" | "boolean" | "date" | "json" | "text";
     indexes: {
        ore?: {
        };
        unique?: {
           token_filters?: {
              kind: "downcase";
           }[];
        };
        match?: {
           tokenizer?:   | {
              kind: "standard";
            }
              | {
              kind: "ngram";
              token_length: number;
            };
           token_filters?: {
              kind: "downcase";
           }[];
           k?: number;
           m?: number;
           include_original?: boolean;
        };
        ste_vec?: {
           prefix: string;
        };
     };
  }&gt;>;
}

An encrypt config object.

v

v: number;

tables

tables: Record&lt;string, Record&lt;string, {
  cast_as: "string" | "number" | "bigint" | "boolean" | "date" | "json" | "text";
  indexes: {
     ore?: {
     };
     unique?: {
        token_filters?: {
           kind: "downcase";
        }[];
     };
     match?: {
        tokenizer?:   | {
           kind: "standard";
         }
           | {
           kind: "ngram";
           token_length: number;
         };
        token_filters?: {
           kind: "downcase";
        }[];
        k?: number;
        m?: number;
        include_original?: boolean;
     };
     ste_vec?: {
        prefix: string;
     };
  };
}&gt;> = tablesSchema;

Example

import { buildEncryptConfig } from "@cipherstash/stack/schema"

const users = encryptedTable("users", {
  email: encryptedColumn("email").equality(),
})

const orders = encryptedTable("orders", {
  amount: encryptedColumn("amount").dataType("number"),
})

const config = buildEncryptConfig(users, orders)
console.log(config)

On this page