shutro-erp 0.3.2 → 0.3.4

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.
Files changed (156) hide show
  1. package/dist/account_portal/.kosh/bindings.js +1 -1
  2. package/dist/account_portal/.kosh/schema.d.ts +156 -1
  3. package/dist/accounting/.kosh/bindings.js +1 -1
  4. package/dist/accounting/.kosh/schema.d.ts +156 -1
  5. package/dist/assistant/index.js +1 -1
  6. package/dist/contacts/.kosh/bindings.js +1 -1
  7. package/dist/contacts/.kosh/schema.d.ts +156 -1
  8. package/dist/integrations/index.js +12 -0
  9. package/dist/integrations/web/OAuthAppsPage.d.ts +9 -0
  10. package/dist/integrations/web/OAuthAppsPage.js +79 -0
  11. package/dist/integrations/web/index.d.ts +1 -0
  12. package/dist/integrations/web/index.js +3 -0
  13. package/dist/integrations/web/messages.js +58 -0
  14. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  15. package/dist/l10n_bd/.kosh/schema.d.ts +156 -1
  16. package/dist/l10n_in/.kosh/bindings.js +1 -1
  17. package/dist/l10n_in/.kosh/schema.d.ts +156 -4
  18. package/dist/l10n_in/module.d.ts +0 -62
  19. package/dist/l10n_in/module.js +2 -4
  20. package/dist/messaging/web/index.js +1 -1
  21. package/dist/notify/web/index.js +1 -1
  22. package/dist/payment/.kosh/bindings.js +1 -1
  23. package/dist/payment/.kosh/schema.d.ts +157 -2
  24. package/dist/payment/bkash.d.ts +28 -0
  25. package/dist/payment/bkash.js +169 -0
  26. package/dist/payment/index.d.ts +4 -0
  27. package/dist/payment/index.js +80 -24
  28. package/dist/payment/module.d.ts +7 -4
  29. package/dist/payment/module.js +3 -0
  30. package/dist/payment/money.d.ts +7 -0
  31. package/dist/payment/money.js +37 -0
  32. package/dist/payment/providers.d.ts +13 -2
  33. package/dist/payment/razorpay.d.ts +12 -0
  34. package/dist/payment/razorpay.js +149 -0
  35. package/dist/payment/sslcommerz.js +1 -1
  36. package/dist/payment/stripe.d.ts +15 -0
  37. package/dist/payment/stripe.js +182 -0
  38. package/dist/permissions/admin.d.ts +3 -0
  39. package/dist/permissions/admin.js +108 -10
  40. package/dist/permissions/index.d.ts +1 -0
  41. package/dist/permissions/index.js +3 -0
  42. package/dist/permissions/roles.d.ts +2 -0
  43. package/dist/permissions/roles.js +236 -0
  44. package/dist/portal/.kosh/bindings.js +1 -1
  45. package/dist/portal/.kosh/schema.d.ts +156 -1
  46. package/dist/product/.kosh/bindings.js +1 -1
  47. package/dist/product/.kosh/schema.d.ts +156 -1
  48. package/dist/project/.kosh/bindings.js +1 -1
  49. package/dist/project/.kosh/schema.d.ts +156 -1
  50. package/dist/project_portal/.kosh/bindings.js +1 -1
  51. package/dist/project_portal/.kosh/schema.d.ts +156 -1
  52. package/dist/purchase/.kosh/bindings.js +1 -1
  53. package/dist/purchase/.kosh/schema.d.ts +156 -1
  54. package/dist/purchase_account/.kosh/bindings.js +1 -1
  55. package/dist/purchase_account/.kosh/schema.d.ts +156 -1
  56. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  57. package/dist/purchase_portal/.kosh/schema.d.ts +156 -1
  58. package/dist/sale_account/.kosh/bindings.js +1 -1
  59. package/dist/sale_account/.kosh/schema.d.ts +156 -1
  60. package/dist/sale_portal/.kosh/bindings.js +1 -1
  61. package/dist/sale_portal/.kosh/schema.d.ts +156 -1
  62. package/dist/sale_project/.kosh/bindings.js +1 -1
  63. package/dist/sale_project/.kosh/schema.d.ts +156 -1
  64. package/dist/sales/.kosh/bindings.js +1 -1
  65. package/dist/sales/.kosh/schema.d.ts +156 -1
  66. package/dist/server/auth/base.js +98 -0
  67. package/dist/server/auth/oauth.d.ts +21 -0
  68. package/dist/server/auth/oauth.js +579 -0
  69. package/dist/server/auth/routes.d.ts +3 -0
  70. package/dist/server/auth/routes.js +29 -0
  71. package/dist/server/auth/service.d.ts +56 -0
  72. package/dist/server/auth/service.js +185 -3
  73. package/dist/server/identity.d.ts +4 -0
  74. package/dist/server/images.d.ts +12 -0
  75. package/dist/server/images.js +139 -0
  76. package/dist/server/index.d.ts +2 -1
  77. package/dist/server/index.js +1 -0
  78. package/dist/server/server.d.ts +4 -0
  79. package/dist/server/server.js +20 -4
  80. package/dist/settings/company.d.ts +34 -0
  81. package/dist/settings/company.js +189 -0
  82. package/dist/settings/index.d.ts +10 -10
  83. package/dist/settings/index.js +159 -30
  84. package/dist/settings/people.d.ts +16 -0
  85. package/dist/settings/people.js +507 -0
  86. package/dist/settings/security.d.ts +13 -0
  87. package/dist/settings/security.js +158 -0
  88. package/dist/settings/web/AuditPage.d.ts +8 -0
  89. package/dist/settings/web/AuditPage.js +74 -0
  90. package/dist/settings/web/CompaniesPage.d.ts +8 -0
  91. package/dist/settings/web/CompaniesPage.js +52 -0
  92. package/dist/settings/web/CompanyPage.d.ts +9 -0
  93. package/dist/settings/web/CompanyPage.js +105 -0
  94. package/dist/settings/web/ConnectedAppsPage.d.ts +7 -0
  95. package/dist/settings/web/ConnectedAppsPage.js +33 -0
  96. package/dist/settings/web/OverviewPage.d.ts +9 -0
  97. package/dist/settings/web/OverviewPage.js +77 -0
  98. package/dist/settings/web/PeoplePage.d.ts +9 -0
  99. package/dist/settings/web/PeoplePage.js +154 -0
  100. package/dist/settings/web/ProfilePage.d.ts +14 -0
  101. package/dist/settings/web/ProfilePage.js +196 -0
  102. package/dist/settings/web/RolesEditor.d.ts +35 -0
  103. package/dist/settings/web/RolesEditor.js +49 -0
  104. package/dist/settings/web/RolesPage.d.ts +9 -0
  105. package/dist/settings/web/RolesPage.js +296 -0
  106. package/dist/settings/web/SecurityPage.d.ts +8 -0
  107. package/dist/settings/web/SecurityPage.js +81 -0
  108. package/dist/settings/web/index.d.ts +10 -0
  109. package/dist/settings/web/index.js +31 -1
  110. package/dist/settings/web/messages.js +594 -0
  111. package/dist/ui/api.d.ts +8 -0
  112. package/dist/ui/app.d.ts +5 -0
  113. package/dist/ui/app.js +143 -33
  114. package/dist/ui/components/AppIcon.js +11 -1
  115. package/dist/ui/components/Avatar.d.ts +21 -0
  116. package/dist/ui/components/Avatar.js +71 -0
  117. package/dist/ui/components/primitives.d.ts +9 -1
  118. package/dist/ui/components/primitives.js +12 -4
  119. package/dist/ui/context.d.ts +10 -1
  120. package/dist/ui/context.js +60 -2
  121. package/dist/ui/i18n/messages.d.ts +76 -0
  122. package/dist/ui/i18n/messages.js +152 -0
  123. package/dist/ui/index.d.ts +3 -1
  124. package/dist/ui/index.js +3 -1
  125. package/dist/ui/lib/accent.d.ts +13 -0
  126. package/dist/ui/lib/accent.js +36 -0
  127. package/dist/ui/registry.d.ts +7 -1
  128. package/dist/ui/registry.js +10 -1
  129. package/dist/ui/search/ViewTabs.d.ts +14 -0
  130. package/dist/ui/search/ViewTabs.js +42 -0
  131. package/dist/ui/shell/Activate.d.ts +6 -0
  132. package/dist/ui/shell/Activate.js +39 -0
  133. package/dist/ui/shell/CommandPalette.d.ts +7 -1
  134. package/dist/ui/shell/CommandPalette.js +16 -2
  135. package/dist/ui/shell/Consent.d.ts +5 -0
  136. package/dist/ui/shell/Consent.js +35 -0
  137. package/dist/ui/shell/Home.js +85 -16
  138. package/dist/ui/shell/Sidebar.d.ts +27 -0
  139. package/dist/ui/shell/Sidebar.js +77 -0
  140. package/dist/ui/shell/TwoFactorSetup.d.ts +5 -0
  141. package/dist/ui/shell/TwoFactorSetup.js +32 -0
  142. package/dist/ui/shell/shortcuts.d.ts +3 -0
  143. package/dist/ui/shell/shortcuts.js +13 -4
  144. package/dist/ui/styles.css +70 -28
  145. package/dist/ui/views/DateField.d.ts +10 -0
  146. package/dist/ui/views/DateField.js +129 -0
  147. package/dist/ui/views/FormView.js +161 -21
  148. package/dist/ui/views/ListView.d.ts +2 -0
  149. package/dist/ui/views/ListView.js +57 -25
  150. package/dist/ui/views/StatusChip.d.ts +10 -0
  151. package/dist/ui/views/StatusChip.js +22 -0
  152. package/dist/ui/views/widgets.d.ts +3 -0
  153. package/dist/ui/views/widgets.js +26 -8
  154. package/dist/views/types.d.ts +7 -0
  155. package/dist/views/validate.js +4 -0
  156. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: bae647ca883975a1
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: a4d290319c174316
2
2
  // Schema view of module `portal` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -7,10 +7,16 @@ export interface SchemaView {
7
7
  readonly 'audit.event': AuditEvent;
8
8
  readonly 'auth.api_key': AuthApiKey;
9
9
  readonly 'auth.credential': AuthCredential;
10
+ readonly 'auth.policy': AuthPolicy;
10
11
  readonly 'auth.session': AuthSession;
11
12
  readonly 'auth.user_grant': AuthUserGrant;
12
13
  readonly 'auth.user_group': AuthUserGroup;
14
+ readonly 'kosh.image': KoshImage;
13
15
  readonly 'kosh.saved_view': KoshSavedView;
16
+ readonly 'oauth.app': OauthApp;
17
+ readonly 'oauth.code': OauthCode;
18
+ readonly 'oauth.grant': OauthGrant;
19
+ readonly 'oauth.token': OauthToken;
14
20
  readonly 'portal.announcement': PortalAnnouncement;
15
21
  readonly 'portal.invitation': PortalInvitation;
16
22
  readonly 'portal.signature': PortalSignature;
@@ -97,6 +103,26 @@ export interface AuthCredential {
97
103
  export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
98
104
  }
99
105
 
106
+ /** `auth.policy` (owner: base). */
107
+ export interface AuthPolicy {
108
+ readonly name: 'auth.policy';
109
+ readonly fields: {
110
+ readonly id: F.Id<'auth.policy'>;
111
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
112
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
113
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
114
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
115
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
116
+ readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
117
+ readonly sessionDays: F.Integer;
118
+ };
119
+ readonly methods: AuthPolicyMethods;
120
+ }
121
+
122
+ /** Methods of `auth.policy`: declared ones and transitions. */
123
+ export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
124
+ }
125
+
100
126
  /** `auth.session` (owner: base). */
101
127
  export interface AuthSession {
102
128
  readonly name: 'auth.session';
@@ -169,6 +195,29 @@ export interface AuthUserGroup {
169
195
  export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
170
196
  }
171
197
 
198
+ /** `kosh.image` (owner: base). */
199
+ export interface KoshImage {
200
+ readonly name: 'kosh.image';
201
+ readonly fields: {
202
+ readonly id: F.Id<'kosh.image'>;
203
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
204
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
205
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
206
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
207
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
208
+ readonly ownerModel: F.Char<{ readonly required: true }>;
209
+ readonly ownerId: F.Integer<{ readonly required: true }>;
210
+ readonly mime: F.Char<{ readonly required: true }>;
211
+ readonly data: F.Text<{ readonly required: true }>;
212
+ readonly hash: F.Char<{ readonly required: true }>;
213
+ };
214
+ readonly methods: KoshImageMethods;
215
+ }
216
+
217
+ /** Methods of `kosh.image`: declared ones and transitions. */
218
+ export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
219
+ }
220
+
172
221
  /** `kosh.saved_view` (owner: base). */
173
222
  export interface KoshSavedView {
174
223
  readonly name: 'kosh.saved_view';
@@ -193,6 +242,105 @@ export interface KoshSavedView {
193
242
  export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
194
243
  }
195
244
 
245
+ /** `oauth.app` (owner: base). */
246
+ export interface OauthApp {
247
+ readonly name: 'oauth.app';
248
+ readonly fields: {
249
+ readonly id: F.Id<'oauth.app'>;
250
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
251
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
252
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
253
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
254
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
255
+ readonly name: F.Char<{ readonly required: true }>;
256
+ readonly clientId: F.Char<{ readonly required: true }>;
257
+ readonly secretHash: F.Char;
258
+ readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
259
+ readonly redirectUris: F.Text<{ readonly required: true }>;
260
+ readonly scopes: F.Char<{ readonly required: true }>;
261
+ readonly homepage: F.Char;
262
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
263
+ readonly owner: F.Many2one<'res.users'>;
264
+ };
265
+ readonly methods: OauthAppMethods;
266
+ }
267
+
268
+ /** Methods of `oauth.app`: declared ones and transitions. */
269
+ export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
270
+ }
271
+
272
+ /** `oauth.code` (owner: base). */
273
+ export interface OauthCode {
274
+ readonly name: 'oauth.code';
275
+ readonly fields: {
276
+ readonly id: F.Id<'oauth.code'>;
277
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
278
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
279
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
280
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
281
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
282
+ readonly codeHash: F.Char<{ readonly required: true }>;
283
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
284
+ readonly redirectUri: F.Char<{ readonly required: true }>;
285
+ readonly challenge: F.Char;
286
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
287
+ readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
288
+ };
289
+ readonly methods: OauthCodeMethods;
290
+ }
291
+
292
+ /** Methods of `oauth.code`: declared ones and transitions. */
293
+ export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
294
+ }
295
+
296
+ /** `oauth.grant` (owner: base). */
297
+ export interface OauthGrant {
298
+ readonly name: 'oauth.grant';
299
+ readonly fields: {
300
+ readonly id: F.Id<'oauth.grant'>;
301
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
302
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
303
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
304
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
305
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
306
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
307
+ readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
308
+ readonly scopes: F.Char<{ readonly required: true }>;
309
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
310
+ readonly lastUsedAt: F.Datetime;
311
+ };
312
+ readonly methods: OauthGrantMethods;
313
+ }
314
+
315
+ /** Methods of `oauth.grant`: declared ones and transitions. */
316
+ export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
317
+ }
318
+
319
+ /** `oauth.token` (owner: base). */
320
+ export interface OauthToken {
321
+ readonly name: 'oauth.token';
322
+ readonly fields: {
323
+ readonly id: F.Id<'oauth.token'>;
324
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
325
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
326
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
327
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
328
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
329
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
330
+ readonly accessHash: F.Char<{ readonly required: true }>;
331
+ readonly refreshHash: F.Char<{ readonly required: true }>;
332
+ readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
333
+ readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
334
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
335
+ readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
336
+ };
337
+ readonly methods: OauthTokenMethods;
338
+ }
339
+
340
+ /** Methods of `oauth.token`: declared ones and transitions. */
341
+ export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
342
+ }
343
+
196
344
  /** `portal.announcement` (owner: portal). */
197
345
  export interface PortalAnnouncement {
198
346
  readonly name: 'portal.announcement';
@@ -278,6 +426,13 @@ export interface ResCompany {
278
426
  readonly name: F.Char<{ readonly required: true }>;
279
427
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
280
428
  readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
429
+ readonly accentColor: F.Char;
430
+ readonly street: F.Char;
431
+ readonly city: F.Char;
432
+ readonly zip: F.Char;
433
+ readonly email: F.Char;
434
+ readonly phone: F.Char;
435
+ readonly website: F.Char;
281
436
  };
282
437
  readonly methods: ResCompanyMethods;
283
438
  }
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 86d7229d7b275957
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: cc95697afc48b244
2
2
  // Bindings of module `product`: import the definition API from here to get types scoped to what it can see.
3
3
  export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
4
4
  import { definitions } from '../../server/orm.js';
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 86d7229d7b275957
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: cc95697afc48b244
2
2
  // Schema view of module `product` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -8,10 +8,16 @@ export interface SchemaView {
8
8
  readonly 'audit.event': AuditEvent;
9
9
  readonly 'auth.api_key': AuthApiKey;
10
10
  readonly 'auth.credential': AuthCredential;
11
+ readonly 'auth.policy': AuthPolicy;
11
12
  readonly 'auth.session': AuthSession;
12
13
  readonly 'auth.user_grant': AuthUserGrant;
13
14
  readonly 'auth.user_group': AuthUserGroup;
15
+ readonly 'kosh.image': KoshImage;
14
16
  readonly 'kosh.saved_view': KoshSavedView;
17
+ readonly 'oauth.app': OauthApp;
18
+ readonly 'oauth.code': OauthCode;
19
+ readonly 'oauth.grant': OauthGrant;
20
+ readonly 'oauth.token': OauthToken;
15
21
  readonly 'product.category': ProductCategory;
16
22
  readonly 'product.product': ProductProduct;
17
23
  readonly 'res.company': ResCompany;
@@ -125,6 +131,26 @@ export interface AuthCredential {
125
131
  export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
126
132
  }
127
133
 
134
+ /** `auth.policy` (owner: base). */
135
+ export interface AuthPolicy {
136
+ readonly name: 'auth.policy';
137
+ readonly fields: {
138
+ readonly id: F.Id<'auth.policy'>;
139
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
140
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
141
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
142
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
143
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
144
+ readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
145
+ readonly sessionDays: F.Integer;
146
+ };
147
+ readonly methods: AuthPolicyMethods;
148
+ }
149
+
150
+ /** Methods of `auth.policy`: declared ones and transitions. */
151
+ export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
152
+ }
153
+
128
154
  /** `auth.session` (owner: base). */
129
155
  export interface AuthSession {
130
156
  readonly name: 'auth.session';
@@ -197,6 +223,29 @@ export interface AuthUserGroup {
197
223
  export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
198
224
  }
199
225
 
226
+ /** `kosh.image` (owner: base). */
227
+ export interface KoshImage {
228
+ readonly name: 'kosh.image';
229
+ readonly fields: {
230
+ readonly id: F.Id<'kosh.image'>;
231
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
232
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
233
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
234
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
235
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
236
+ readonly ownerModel: F.Char<{ readonly required: true }>;
237
+ readonly ownerId: F.Integer<{ readonly required: true }>;
238
+ readonly mime: F.Char<{ readonly required: true }>;
239
+ readonly data: F.Text<{ readonly required: true }>;
240
+ readonly hash: F.Char<{ readonly required: true }>;
241
+ };
242
+ readonly methods: KoshImageMethods;
243
+ }
244
+
245
+ /** Methods of `kosh.image`: declared ones and transitions. */
246
+ export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
247
+ }
248
+
200
249
  /** `kosh.saved_view` (owner: base). */
201
250
  export interface KoshSavedView {
202
251
  readonly name: 'kosh.saved_view';
@@ -221,6 +270,105 @@ export interface KoshSavedView {
221
270
  export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
222
271
  }
223
272
 
273
+ /** `oauth.app` (owner: base). */
274
+ export interface OauthApp {
275
+ readonly name: 'oauth.app';
276
+ readonly fields: {
277
+ readonly id: F.Id<'oauth.app'>;
278
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
279
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
280
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
281
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
282
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
283
+ readonly name: F.Char<{ readonly required: true }>;
284
+ readonly clientId: F.Char<{ readonly required: true }>;
285
+ readonly secretHash: F.Char;
286
+ readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
287
+ readonly redirectUris: F.Text<{ readonly required: true }>;
288
+ readonly scopes: F.Char<{ readonly required: true }>;
289
+ readonly homepage: F.Char;
290
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
291
+ readonly owner: F.Many2one<'res.users'>;
292
+ };
293
+ readonly methods: OauthAppMethods;
294
+ }
295
+
296
+ /** Methods of `oauth.app`: declared ones and transitions. */
297
+ export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
298
+ }
299
+
300
+ /** `oauth.code` (owner: base). */
301
+ export interface OauthCode {
302
+ readonly name: 'oauth.code';
303
+ readonly fields: {
304
+ readonly id: F.Id<'oauth.code'>;
305
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
306
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
307
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
308
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
309
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
310
+ readonly codeHash: F.Char<{ readonly required: true }>;
311
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
312
+ readonly redirectUri: F.Char<{ readonly required: true }>;
313
+ readonly challenge: F.Char;
314
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
315
+ readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
316
+ };
317
+ readonly methods: OauthCodeMethods;
318
+ }
319
+
320
+ /** Methods of `oauth.code`: declared ones and transitions. */
321
+ export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
322
+ }
323
+
324
+ /** `oauth.grant` (owner: base). */
325
+ export interface OauthGrant {
326
+ readonly name: 'oauth.grant';
327
+ readonly fields: {
328
+ readonly id: F.Id<'oauth.grant'>;
329
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
330
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
331
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
332
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
333
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
334
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
335
+ readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
336
+ readonly scopes: F.Char<{ readonly required: true }>;
337
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
338
+ readonly lastUsedAt: F.Datetime;
339
+ };
340
+ readonly methods: OauthGrantMethods;
341
+ }
342
+
343
+ /** Methods of `oauth.grant`: declared ones and transitions. */
344
+ export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
345
+ }
346
+
347
+ /** `oauth.token` (owner: base). */
348
+ export interface OauthToken {
349
+ readonly name: 'oauth.token';
350
+ readonly fields: {
351
+ readonly id: F.Id<'oauth.token'>;
352
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
353
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
354
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
355
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
356
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
357
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
358
+ readonly accessHash: F.Char<{ readonly required: true }>;
359
+ readonly refreshHash: F.Char<{ readonly required: true }>;
360
+ readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
361
+ readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
362
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
363
+ readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
364
+ };
365
+ readonly methods: OauthTokenMethods;
366
+ }
367
+
368
+ /** Methods of `oauth.token`: declared ones and transitions. */
369
+ export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
370
+ }
371
+
224
372
  /** `product.category` (owner: product). */
225
373
  export interface ProductCategory {
226
374
  readonly name: 'product.category';
@@ -288,6 +436,13 @@ export interface ResCompany {
288
436
  readonly name: F.Char<{ readonly required: true }>;
289
437
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
290
438
  readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
439
+ readonly accentColor: F.Char;
440
+ readonly street: F.Char;
441
+ readonly city: F.Char;
442
+ readonly zip: F.Char;
443
+ readonly email: F.Char;
444
+ readonly phone: F.Char;
445
+ readonly website: F.Char;
291
446
  };
292
447
  readonly methods: ResCompanyMethods;
293
448
  }
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 8538c294f98318cd
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 695505b1c9a0d796
2
2
  // Bindings of module `project`: import the definition API from here to get types scoped to what it can see.
3
3
  export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
4
4
  import { definitions } from '../../server/orm.js';
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 8538c294f98318cd
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 695505b1c9a0d796
2
2
  // Schema view of module `project` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
3
3
  import type { F } from '../../server/orm.js';
4
4
 
@@ -7,9 +7,11 @@ export interface SchemaView {
7
7
  readonly 'audit.event': AuditEvent;
8
8
  readonly 'auth.api_key': AuthApiKey;
9
9
  readonly 'auth.credential': AuthCredential;
10
+ readonly 'auth.policy': AuthPolicy;
10
11
  readonly 'auth.session': AuthSession;
11
12
  readonly 'auth.user_grant': AuthUserGrant;
12
13
  readonly 'auth.user_group': AuthUserGroup;
14
+ readonly 'kosh.image': KoshImage;
13
15
  readonly 'kosh.saved_view': KoshSavedView;
14
16
  readonly 'mail.activity': MailActivity;
15
17
  readonly 'mail.activity.type': MailActivityType;
@@ -18,6 +20,10 @@ export interface SchemaView {
18
20
  readonly 'mail.follower': MailFollower;
19
21
  readonly 'mail.message': MailMessage;
20
22
  readonly 'mail.message.reaction': MailMessageReaction;
23
+ readonly 'oauth.app': OauthApp;
24
+ readonly 'oauth.code': OauthCode;
25
+ readonly 'oauth.grant': OauthGrant;
26
+ readonly 'oauth.token': OauthToken;
21
27
  readonly 'project.project': ProjectProject;
22
28
  readonly 'project.task': ProjectTask;
23
29
  readonly 'project.task.stage': ProjectTaskStage;
@@ -106,6 +112,26 @@ export interface AuthCredential {
106
112
  export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
107
113
  }
108
114
 
115
+ /** `auth.policy` (owner: base). */
116
+ export interface AuthPolicy {
117
+ readonly name: 'auth.policy';
118
+ readonly fields: {
119
+ readonly id: F.Id<'auth.policy'>;
120
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
121
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
122
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
123
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
124
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
125
+ readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
126
+ readonly sessionDays: F.Integer;
127
+ };
128
+ readonly methods: AuthPolicyMethods;
129
+ }
130
+
131
+ /** Methods of `auth.policy`: declared ones and transitions. */
132
+ export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
133
+ }
134
+
109
135
  /** `auth.session` (owner: base). */
110
136
  export interface AuthSession {
111
137
  readonly name: 'auth.session';
@@ -178,6 +204,29 @@ export interface AuthUserGroup {
178
204
  export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
179
205
  }
180
206
 
207
+ /** `kosh.image` (owner: base). */
208
+ export interface KoshImage {
209
+ readonly name: 'kosh.image';
210
+ readonly fields: {
211
+ readonly id: F.Id<'kosh.image'>;
212
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
213
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
214
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
215
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
216
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
217
+ readonly ownerModel: F.Char<{ readonly required: true }>;
218
+ readonly ownerId: F.Integer<{ readonly required: true }>;
219
+ readonly mime: F.Char<{ readonly required: true }>;
220
+ readonly data: F.Text<{ readonly required: true }>;
221
+ readonly hash: F.Char<{ readonly required: true }>;
222
+ };
223
+ readonly methods: KoshImageMethods;
224
+ }
225
+
226
+ /** Methods of `kosh.image`: declared ones and transitions. */
227
+ export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
228
+ }
229
+
181
230
  /** `kosh.saved_view` (owner: base). */
182
231
  export interface KoshSavedView {
183
232
  readonly name: 'kosh.saved_view';
@@ -380,6 +429,105 @@ export interface MailMessageReaction {
380
429
  export interface MailMessageReactionMethods extends F.Methods<typeof import('../../messaging/index.js').messagingShutro, 'mail.message.reaction'> {
381
430
  }
382
431
 
432
+ /** `oauth.app` (owner: base). */
433
+ export interface OauthApp {
434
+ readonly name: 'oauth.app';
435
+ readonly fields: {
436
+ readonly id: F.Id<'oauth.app'>;
437
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
438
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
439
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
440
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
441
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
442
+ readonly name: F.Char<{ readonly required: true }>;
443
+ readonly clientId: F.Char<{ readonly required: true }>;
444
+ readonly secretHash: F.Char;
445
+ readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
446
+ readonly redirectUris: F.Text<{ readonly required: true }>;
447
+ readonly scopes: F.Char<{ readonly required: true }>;
448
+ readonly homepage: F.Char;
449
+ readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
450
+ readonly owner: F.Many2one<'res.users'>;
451
+ };
452
+ readonly methods: OauthAppMethods;
453
+ }
454
+
455
+ /** Methods of `oauth.app`: declared ones and transitions. */
456
+ export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
457
+ }
458
+
459
+ /** `oauth.code` (owner: base). */
460
+ export interface OauthCode {
461
+ readonly name: 'oauth.code';
462
+ readonly fields: {
463
+ readonly id: F.Id<'oauth.code'>;
464
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
465
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
466
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
467
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
468
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
469
+ readonly codeHash: F.Char<{ readonly required: true }>;
470
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
471
+ readonly redirectUri: F.Char<{ readonly required: true }>;
472
+ readonly challenge: F.Char;
473
+ readonly expiresAt: F.Datetime<{ readonly required: true }>;
474
+ readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
475
+ };
476
+ readonly methods: OauthCodeMethods;
477
+ }
478
+
479
+ /** Methods of `oauth.code`: declared ones and transitions. */
480
+ export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
481
+ }
482
+
483
+ /** `oauth.grant` (owner: base). */
484
+ export interface OauthGrant {
485
+ readonly name: 'oauth.grant';
486
+ readonly fields: {
487
+ readonly id: F.Id<'oauth.grant'>;
488
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
489
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
490
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
491
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
492
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
493
+ readonly user: F.Many2one<'res.users', { readonly required: true }>;
494
+ readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
495
+ readonly scopes: F.Char<{ readonly required: true }>;
496
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
497
+ readonly lastUsedAt: F.Datetime;
498
+ };
499
+ readonly methods: OauthGrantMethods;
500
+ }
501
+
502
+ /** Methods of `oauth.grant`: declared ones and transitions. */
503
+ export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
504
+ }
505
+
506
+ /** `oauth.token` (owner: base). */
507
+ export interface OauthToken {
508
+ readonly name: 'oauth.token';
509
+ readonly fields: {
510
+ readonly id: F.Id<'oauth.token'>;
511
+ readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
512
+ readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
513
+ readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
514
+ readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
515
+ readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
516
+ readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
517
+ readonly accessHash: F.Char<{ readonly required: true }>;
518
+ readonly refreshHash: F.Char<{ readonly required: true }>;
519
+ readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
520
+ readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
521
+ readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
522
+ readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
523
+ };
524
+ readonly methods: OauthTokenMethods;
525
+ }
526
+
527
+ /** Methods of `oauth.token`: declared ones and transitions. */
528
+ export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
529
+ }
530
+
383
531
  /** `project.project` (owner: project). */
384
532
  export interface ProjectProject {
385
533
  readonly name: 'project.project';
@@ -503,6 +651,13 @@ export interface ResCompany {
503
651
  readonly name: F.Char<{ readonly required: true }>;
504
652
  readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
505
653
  readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
654
+ readonly accentColor: F.Char;
655
+ readonly street: F.Char;
656
+ readonly city: F.Char;
657
+ readonly zip: F.Char;
658
+ readonly email: F.Char;
659
+ readonly phone: F.Char;
660
+ readonly website: F.Char;
506
661
  };
507
662
  readonly methods: ResCompanyMethods;
508
663
  }
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 0440c5ae846a11ac
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 7bb9639b7268e2ef
2
2
  // Bindings of module `project_portal`: import the definition API from here to get types scoped to what it can see.
3
3
  export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
4
4
  import { definitions } from '../../server/orm.js';