@stacksjs/orm 0.70.379 → 0.71.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,6 +44,26 @@ export declare function mapWriteError(err: unknown, modelName: string, op: 'crea
44
44
  export declare function toSnakeCase(s: string): string;
45
45
  /** Map every key of a write payload to its snake_case column spelling. */
46
46
  export declare function toSnakeCaseKeys(data: Record<string, any>): Record<string, any>;
47
+ /** Build the canonical auto-CRUD path while accepting a version prefix. */
48
+ export declare function apiBasePath(uri: string, prefix?: string): string;
49
+ /**
50
+ * Resolve the database column used for automatic team ownership.
51
+ *
52
+ * A belongsTo relation creates its foreign key during model-driven migration,
53
+ * so Team-owned models do not need to repeat a synthetic teamId attribute just
54
+ * to activate API isolation.
55
+ */
56
+ export declare function teamOwnershipField(model: {
57
+ attributes?: Record<string, unknown>
58
+ belongsTo?: unknown[]
59
+ } | null | undefined): string | null;
60
+ /**
61
+ * Remove every client spelling of an ownership field, then apply the trusted
62
+ * value resolved from the authenticated request. Array ownership is used for
63
+ * resources owned through a parent relation, so the client must select one of
64
+ * the allowed values in that case.
65
+ */
66
+ export declare function stampOwnership(data: Record<string, any>, field: string, value: unknown): { data: Record<string, any>, error?: string };
47
67
  /**
48
68
  * Resolve the model fields accepted by generated store/update routes.
49
69
  *
@@ -6,7 +6,7 @@ import { createSoftDeleteMethods } from './traits/soft-deletes';
6
6
  import { createTaggableMethods } from './traits/taggable';
7
7
  import { createTwoFactorMethods } from './traits/two-factor';
8
8
  import { type OrmModelDefinition as BQBModelDefinition, type OrmModelStatic } from '@stacksjs/query-builder';
9
- import type { ApiMiddleware } from '@stacksjs/types';
9
+ import type { ApiMiddleware, DashboardModelOptions } from '@stacksjs/types';
10
10
  import type { Faker } from '@stacksjs/faker';
11
11
  import type { InferRelationNames } from '@stacksjs/query-builder';
12
12
  import type { Validator } from '@stacksjs/validation';
@@ -89,14 +89,16 @@ export declare interface CasterInterface {
89
89
  get(value: unknown): unknown
90
90
  set(value: unknown): unknown
91
91
  }
92
- export declare interface StacksModelDefinition extends Omit<BQBModelDefinition, 'attributes' | 'indexes' | 'traits'> {
92
+ export declare interface StacksModelDefinition extends Omit<BQBModelDefinition, 'attributes' | 'indexes' | 'traits' | 'dashboard'> {
93
93
  name: string
94
94
  table: string
95
95
  primaryKey?: string
96
96
  autoIncrement?: boolean
97
+ dashboard?: DashboardModelOptions
97
98
  traits?: Omit<NonNullable<BQBModelDefinition['traits']>, 'useApi'> & {
98
99
  useApi?: boolean | {
99
100
  readonly uri?: string
101
+ readonly prefix?: string
100
102
  readonly routes?: readonly string[]
101
103
  readonly middleware?: ApiMiddleware
102
104
  }
package/dist/index.d.ts CHANGED
@@ -48,7 +48,17 @@ export declare const Job: ReturnType<typeof lazyModel<typeof import('../../../de
48
48
  export declare const FailedJob: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/FailedJob').default>>;
49
49
  export declare const Activity: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Activity').default>>;
50
50
  export declare const AnalyticsEvent: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/AnalyticsEvent').default>>;
51
+ export declare const Automation: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Automation').default>>;
52
+ export declare const AutomationRun: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/AutomationRun').default>>;
53
+ export declare const Auction: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/commerce/Auction').default>>;
54
+ export declare const CampaignVariant: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/CampaignVariant').default>>;
55
+ export declare const CommunicationSuppression: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/CommunicationSuppression').default>>;
56
+ export declare const ConsentEvent: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/ConsentEvent').default>>;
57
+ export declare const SenderDomain: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/SenderDomain').default>>;
58
+ export declare const UsageEvent: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/UsageEvent').default>>;
59
+ export declare const AuctionItem: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/commerce/AuctionItem').default>>;
51
60
  export declare const Author: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Content/Author').default>>;
61
+ export declare const Bid: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/commerce/Bid').default>>;
52
62
  export declare const Board: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Board').default>>;
53
63
  export declare const BoardColumn: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/BoardColumn').default>>;
54
64
  export declare const Campaign: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Campaign').default>>;
@@ -69,6 +79,18 @@ export declare const DriverPing: ReturnType<typeof lazyModel<typeof import('../.
69
79
  export declare const CampaignSend: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/CampaignSend').default>>;
70
80
  export declare const EmailList: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/EmailList').default>>;
71
81
  export declare const EmailListSubscriber: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/EmailListSubscriber').default>>;
82
+ export declare const Form: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Forms/Form').default>>;
83
+ export declare const FormField: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Forms/FormField').default>>;
84
+ export declare const FormSubmission: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Forms/FormSubmission').default>>;
85
+ export declare const MagicLinkToken: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/MagicLinkToken').default>>;
86
+ export declare const Menu: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Content/Menu').default>>;
87
+ export declare const MenuItem: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Content/MenuItem').default>>;
88
+ export declare const PageRevision: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Content/PageRevision').default>>;
89
+ export declare const Pledge: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/commerce/Pledge').default>>;
90
+ export declare const Redirect: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Content/Redirect').default>>;
91
+ export declare const Site: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/Site').default>>;
92
+ export declare const SiteDomain: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/SiteDomain').default>>;
93
+ export declare const SmsOptOut: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/SmsOptOut').default>>;
72
94
  export declare const EmailIdempotency: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/EmailIdempotency').default>>;
73
95
  export declare const EmailSuppression: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/EmailSuppression').default>>;
74
96
  export declare const EmailWebhookEvent: ReturnType<typeof lazyModel<typeof import('../../../defaults/app/Models/EmailWebhookEvent').default>>;