- all entities export a kind field (credential/snippet/scenario) for safe type checking on import - import upserts by id: overwrites if id exists, creates with explicit id otherwise - scenario export now includes id and step ids; import deletes old steps before recreating - add GET /:id/export and POST /import endpoints to credential and snippet controllers - add UuidBadge ui component: shortens uuid to first+last 4 hex chars, tooltip, clipboard copy with animated ClipboardCheck icon pop - apply UuidBadge across all entity id display sites (detail pages, card footers, table columns) - add export/import buttons to CredentialsPage, SnippetsPage, CredentialDetailPage, SnippetDetailPage
35 lines
746 B
TypeScript
35 lines
746 B
TypeScript
import {
|
|
Entity,
|
|
PrimaryGeneratedColumn,
|
|
Column,
|
|
CreateDateColumn,
|
|
UpdateDateColumn,
|
|
} from "typeorm";
|
|
|
|
@Entity("snippets")
|
|
export class SnippetEntity {
|
|
@PrimaryGeneratedColumn("uuid")
|
|
id: string;
|
|
|
|
/** Unique identifier used to call the snippet: helpers.runSnippet('mySnippet', ...) */
|
|
@Column({ unique: true })
|
|
name: string;
|
|
|
|
@Column("text", { nullable: true })
|
|
description: string | null;
|
|
|
|
/**
|
|
* The snippet body — written as a regular async function body.
|
|
* It receives the same `page`, `context`, and `helpers` as exec code, plus
|
|
* any positional `...args` passed by the caller.
|
|
*/
|
|
@Column("text")
|
|
code: string;
|
|
|
|
@CreateDateColumn()
|
|
createdAt: Date;
|
|
|
|
@UpdateDateColumn()
|
|
updatedAt: Date;
|
|
}
|