@stacksjs/types 0.74.1 → 0.74.3

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.
@@ -40,9 +40,22 @@ export declare interface NetworkedConnectionOptions {
40
40
  pool?: PoolOptions
41
41
  replicas?: ReplicaOptions[]
42
42
  }
43
+ /**
44
+ * Where `buddy db:backup` copies a dump so that losing the instance does not
45
+ * lose the data.
46
+ *
47
+ * `managedServices: { postgres: true }` puts the database on the same disk as
48
+ * the web process. A dump written next to it survives a bad migration and
49
+ * nothing else, which is why the deploy warns about it until this is set.
50
+ * stacksjs/stacks#2313.
51
+ */
52
+ export declare interface DatabaseBackupOptions {
53
+ destination?: string
54
+ }
43
55
  export declare interface DatabaseOptions {
44
56
  default: SupportedDialect
45
57
  logging?: boolean
58
+ backups?: DatabaseBackupOptions
46
59
  connections: {
47
60
  mysql?: NetworkedConnectionOptions & {
48
61
  url?: string
@@ -30,14 +30,19 @@ export type FirewallConfig = Partial<FirewallOptions>;
30
30
  * footgun everywhere else, because declaring nothing is what a model does by
31
31
  * accident as well as on purpose.
32
32
  *
33
- * - `'warn'` registers those routes and names the models at boot. This is the
34
- * published behaviour and the current default.
35
- * - `'deny'` does not register mutating routes for a model with no ownership
36
- * config. Safer, and breaking: it removes routes an app may be relying on.
33
+ * - `'deny'` (the default) does not register mutating routes for a model that
34
+ * has neither an ownership config nor a declared `ownership: false`. A model
35
+ * restores its writes by saying who owns a row, or by saying in as many words
36
+ * that nothing does.
37
+ * - `'warn'` registers those routes and names the models at boot. This was the
38
+ * default through 0.74.x, and is the escape hatch for an app that needs the
39
+ * old posture while it works through its models.
37
40
  *
38
- * The default is `'warn'` so nothing changes on upgrade, and an app that wants
39
- * the safer posture can take it today rather than waiting for a major.
40
- * stacksjs/stacks#2375.
41
+ * The default flipped to `'deny'` in stacksjs/stacks#2375: 62 of the
42
+ * framework's own 82 `useApi` models generated store/update/destroy that any
43
+ * authenticated caller could point at any row, because declaring nothing is
44
+ * what a model does by accident as well as on purpose. Failing closed makes
45
+ * the accident visible instead of shipping it.
41
46
  */
42
47
  export type ApiRowScopingPolicy = 'warn' | 'deny';
43
48
  export type SecurityConfig = DeepPartial<SecurityOptions>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/types",
3
3
  "type": "module",
4
- "version": "0.74.1",
4
+ "version": "0.74.3",
5
5
  "description": "The Stacks framework types.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": [
@@ -58,9 +58,9 @@
58
58
  "dependencies": {
59
59
  "@stacksjs/bunpress": "^0.2.8",
60
60
  "@stacksjs/clapp": "^0.2.12",
61
- "@stacksjs/events": "0.74.1",
62
- "@stacksjs/orm": "0.74.1",
63
- "@stacksjs/strings": "0.74.1",
61
+ "@stacksjs/events": "0.74.3",
62
+ "@stacksjs/orm": "0.74.3",
63
+ "@stacksjs/strings": "0.74.3",
64
64
  "@stacksjs/stx": "^0.2.253",
65
65
  "@stacksjs/ts-validation": "^0.5.6",
66
66
  "bun-query-builder": "^0.2.53"
@@ -74,7 +74,7 @@
74
74
  }
75
75
  },
76
76
  "devDependencies": {
77
- "@stacksjs/validation": "0.74.1",
77
+ "@stacksjs/validation": "0.74.3",
78
78
  "better-dx": "^0.2.24",
79
79
  "meilisearch": "^0.59.0"
80
80
  },