shutro-erp 0.3.3 → 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.
- package/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +128 -1
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +128 -1
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +128 -1
- package/dist/integrations/index.js +12 -0
- package/dist/integrations/web/OAuthAppsPage.d.ts +9 -0
- package/dist/integrations/web/OAuthAppsPage.js +79 -0
- package/dist/integrations/web/index.d.ts +1 -0
- package/dist/integrations/web/index.js +3 -0
- package/dist/integrations/web/messages.js +58 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +128 -1
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +128 -1
- package/dist/messaging/web/index.js +1 -1
- package/dist/notify/web/index.js +1 -1
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +128 -1
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +128 -1
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +128 -1
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +128 -1
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +128 -1
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +128 -1
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +128 -1
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +128 -1
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +128 -1
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +128 -1
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +128 -1
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +128 -1
- package/dist/server/auth/base.js +76 -0
- package/dist/server/auth/oauth.d.ts +21 -0
- package/dist/server/auth/oauth.js +579 -0
- package/dist/server/auth/service.d.ts +4 -0
- package/dist/server/auth/service.js +17 -0
- package/dist/server/identity.d.ts +2 -0
- package/dist/server/images.d.ts +12 -0
- package/dist/server/images.js +139 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/server.d.ts +4 -0
- package/dist/server/server.js +9 -1
- package/dist/settings/company.js +3 -1
- package/dist/settings/people.js +3 -1
- package/dist/settings/web/CompaniesPage.js +2 -2
- package/dist/settings/web/CompanyPage.js +13 -2
- package/dist/settings/web/ConnectedAppsPage.d.ts +7 -0
- package/dist/settings/web/ConnectedAppsPage.js +33 -0
- package/dist/settings/web/OverviewPage.js +12 -1
- package/dist/settings/web/PeoplePage.js +3 -12
- package/dist/settings/web/ProfilePage.js +9 -7
- package/dist/settings/web/index.d.ts +1 -0
- package/dist/settings/web/index.js +5 -0
- package/dist/settings/web/messages.js +28 -0
- package/dist/ui/api.d.ts +4 -0
- package/dist/ui/app.js +49 -16
- package/dist/ui/components/AppIcon.js +11 -1
- package/dist/ui/components/Avatar.d.ts +21 -0
- package/dist/ui/components/Avatar.js +71 -0
- package/dist/ui/i18n/messages.d.ts +30 -0
- package/dist/ui/i18n/messages.js +60 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.js +1 -0
- package/dist/ui/registry.d.ts +7 -1
- package/dist/ui/registry.js +10 -1
- package/dist/ui/search/ViewTabs.d.ts +14 -0
- package/dist/ui/search/ViewTabs.js +42 -0
- package/dist/ui/shell/Consent.d.ts +5 -0
- package/dist/ui/shell/Consent.js +35 -0
- package/dist/ui/shell/Home.js +85 -16
- package/dist/ui/shell/Sidebar.js +15 -22
- package/dist/ui/views/ListView.js +49 -22
- package/package.json +1 -1
|
@@ -9,10 +9,12 @@ import { DeliveryTools } from './DeliveryTools.js';
|
|
|
9
9
|
import { EndpointTools } from './EndpointTools.js';
|
|
10
10
|
import { InboundTools } from './InboundTools.js';
|
|
11
11
|
import { messages } from './messages.js';
|
|
12
|
+
import { OAuthAppsPage } from './OAuthAppsPage.js';
|
|
12
13
|
import { WebhookTools } from './WebhookTools.js';
|
|
13
14
|
export { DeliveryTools } from './DeliveryTools.js';
|
|
14
15
|
export { EndpointTools } from './EndpointTools.js';
|
|
15
16
|
export { InboundTools } from './InboundTools.js';
|
|
17
|
+
export { OAuthAppsPage } from './OAuthAppsPage.js';
|
|
16
18
|
export { WebhookTools } from './WebhookTools.js';
|
|
17
19
|
/** Registers the components (and the messages in `i18n`, when given). */
|
|
18
20
|
export function registerIntegrationsWeb(registry, i18n) {
|
|
@@ -20,6 +22,7 @@ export function registerIntegrationsWeb(registry, i18n) {
|
|
|
20
22
|
registry.registerComponent('integrations.DeliveryTools', DeliveryTools);
|
|
21
23
|
registry.registerComponent('integrations.EndpointTools', EndpointTools);
|
|
22
24
|
registry.registerComponent('integrations.InboundTools', InboundTools);
|
|
25
|
+
registry.registerPage('integrations.OAuthApps', OAuthAppsPage);
|
|
23
26
|
if (i18n !== undefined)
|
|
24
27
|
addMessages(i18n, 'integrations', messages);
|
|
25
28
|
return registry;
|
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
/** Messages of the Integrations app (namespace `integrations`), in English and Bangla. */
|
|
2
2
|
export const messages = {
|
|
3
3
|
en: {
|
|
4
|
+
oauth: {
|
|
5
|
+
title: 'OAuth apps',
|
|
6
|
+
intro: 'Apps of other companies that may ask your users for access. Each user decides; an app never does more than its user may.',
|
|
7
|
+
new: 'New app',
|
|
8
|
+
newTitle: 'A new OAuth app',
|
|
9
|
+
newHint: 'Where users are sent back after they allow it, and what it may ask for.',
|
|
10
|
+
name: 'Name',
|
|
11
|
+
redirects: 'Redirect addresses',
|
|
12
|
+
redirectsHint: 'One per line, https (http only for localhost). The address must match exactly.',
|
|
13
|
+
scopes: 'Scopes it may ask for',
|
|
14
|
+
public: 'A public app (phone or browser app: no secret, PKCE only)',
|
|
15
|
+
publicHint: 'It cannot keep a secret, so every sign-in proves itself with PKCE.',
|
|
16
|
+
create: 'Create',
|
|
17
|
+
cancel: 'Cancel',
|
|
18
|
+
done: 'Done',
|
|
19
|
+
clientId: 'Client id',
|
|
20
|
+
clientSecret: 'Client secret',
|
|
21
|
+
secretOnce: 'Copy the client secret now: it is shown only once.',
|
|
22
|
+
publicMade: 'A public app has no secret: give the developer its client id.',
|
|
23
|
+
newSecret: 'The new secret of {{app}}: copy it now. The old one stops working.',
|
|
24
|
+
copy: 'Copy the {{what}}',
|
|
25
|
+
none: 'No OAuth apps yet.',
|
|
26
|
+
confidential: 'Confidential',
|
|
27
|
+
publicBadge: 'Public',
|
|
28
|
+
inactive: 'Switched off',
|
|
29
|
+
rotate: 'New secret',
|
|
30
|
+
deactivate: 'Switch off',
|
|
31
|
+
activate: 'Switch on',
|
|
32
|
+
},
|
|
4
33
|
tools: {
|
|
5
34
|
title: 'Webhook tools',
|
|
6
35
|
ping: 'Send a test event',
|
|
@@ -26,6 +55,35 @@ export const messages = {
|
|
|
26
55
|
},
|
|
27
56
|
},
|
|
28
57
|
bn: {
|
|
58
|
+
oauth: {
|
|
59
|
+
title: 'OAuth অ্যাপ',
|
|
60
|
+
intro: 'অন্য প্রতিষ্ঠানের অ্যাপ যা আপনার ব্যবহারকারীদের কাছে অনুমতি চাইতে পারে। প্রতিটি ব্যবহারকারী নিজে সিদ্ধান্ত নেন।',
|
|
61
|
+
new: 'নতুন অ্যাপ',
|
|
62
|
+
newTitle: 'নতুন OAuth অ্যাপ',
|
|
63
|
+
newHint: 'অনুমতির পর ব্যবহারকারীরা কোথায় ফিরবেন, আর এটি কী চাইতে পারে।',
|
|
64
|
+
name: 'নাম',
|
|
65
|
+
redirects: 'ফেরত ঠিকানা',
|
|
66
|
+
redirectsHint: 'প্রতি লাইনে একটি, https (localhost এর জন্য http)। ঠিকানা হুবহু মিলতে হবে।',
|
|
67
|
+
scopes: 'যে স্কোপ চাইতে পারে',
|
|
68
|
+
public: 'পাবলিক অ্যাপ (ফোন বা ব্রাউজার: সিক্রেট নেই, শুধু PKCE)',
|
|
69
|
+
publicHint: 'এটি সিক্রেট রাখতে পারে না, তাই প্রতিটি সাইন-ইন PKCE দিয়ে প্রমাণ করে।',
|
|
70
|
+
create: 'তৈরি করুন',
|
|
71
|
+
cancel: 'বাতিল',
|
|
72
|
+
done: 'শেষ',
|
|
73
|
+
clientId: 'ক্লায়েন্ট আইডি',
|
|
74
|
+
clientSecret: 'ক্লায়েন্ট সিক্রেট',
|
|
75
|
+
secretOnce: 'এখনই সিক্রেট কপি করুন: এটি একবারই দেখানো হয়।',
|
|
76
|
+
publicMade: 'পাবলিক অ্যাপের সিক্রেট নেই: ডেভেলপারকে ক্লায়েন্ট আইডি দিন।',
|
|
77
|
+
newSecret: '{{app}}-এর নতুন সিক্রেট: এখনই কপি করুন। পুরনোটি আর কাজ করবে না।',
|
|
78
|
+
copy: '{{what}} কপি করুন',
|
|
79
|
+
none: 'এখনো কোনো OAuth অ্যাপ নেই।',
|
|
80
|
+
confidential: 'গোপনীয়',
|
|
81
|
+
publicBadge: 'পাবলিক',
|
|
82
|
+
inactive: 'বন্ধ',
|
|
83
|
+
rotate: 'নতুন সিক্রেট',
|
|
84
|
+
deactivate: 'বন্ধ করুন',
|
|
85
|
+
activate: 'চালু করুন',
|
|
86
|
+
},
|
|
29
87
|
tools: {
|
|
30
88
|
title: 'ওয়েবহুক সরঞ্জাম',
|
|
31
89
|
ping: 'পরীক্ষামূলক ইভেন্ট পাঠান',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: d28665dceee41886
|
|
2
2
|
// Bindings of module `l10n_bd`: 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:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: d28665dceee41886
|
|
2
2
|
// Schema view of module `l10n_bd` (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
|
|
|
@@ -28,6 +28,7 @@ export interface SchemaView {
|
|
|
28
28
|
readonly 'auth.session': AuthSession;
|
|
29
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
30
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
31
|
+
readonly 'kosh.image': KoshImage;
|
|
31
32
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
32
33
|
readonly 'mail.activity': MailActivity;
|
|
33
34
|
readonly 'mail.activity.type': MailActivityType;
|
|
@@ -36,6 +37,10 @@ export interface SchemaView {
|
|
|
36
37
|
readonly 'mail.follower': MailFollower;
|
|
37
38
|
readonly 'mail.message': MailMessage;
|
|
38
39
|
readonly 'mail.message.reaction': MailMessageReaction;
|
|
40
|
+
readonly 'oauth.app': OauthApp;
|
|
41
|
+
readonly 'oauth.code': OauthCode;
|
|
42
|
+
readonly 'oauth.grant': OauthGrant;
|
|
43
|
+
readonly 'oauth.token': OauthToken;
|
|
39
44
|
readonly 'product.category': ProductCategory;
|
|
40
45
|
readonly 'product.product': ProductProduct;
|
|
41
46
|
readonly 'report.dashboard': ReportDashboard;
|
|
@@ -728,6 +733,29 @@ export interface AuthUserGroup {
|
|
|
728
733
|
export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
|
|
729
734
|
}
|
|
730
735
|
|
|
736
|
+
/** `kosh.image` (owner: base). */
|
|
737
|
+
export interface KoshImage {
|
|
738
|
+
readonly name: 'kosh.image';
|
|
739
|
+
readonly fields: {
|
|
740
|
+
readonly id: F.Id<'kosh.image'>;
|
|
741
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
742
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
743
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
744
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
745
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
746
|
+
readonly ownerModel: F.Char<{ readonly required: true }>;
|
|
747
|
+
readonly ownerId: F.Integer<{ readonly required: true }>;
|
|
748
|
+
readonly mime: F.Char<{ readonly required: true }>;
|
|
749
|
+
readonly data: F.Text<{ readonly required: true }>;
|
|
750
|
+
readonly hash: F.Char<{ readonly required: true }>;
|
|
751
|
+
};
|
|
752
|
+
readonly methods: KoshImageMethods;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
/** Methods of `kosh.image`: declared ones and transitions. */
|
|
756
|
+
export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
|
|
757
|
+
}
|
|
758
|
+
|
|
731
759
|
/** `kosh.saved_view` (owner: base). */
|
|
732
760
|
export interface KoshSavedView {
|
|
733
761
|
readonly name: 'kosh.saved_view';
|
|
@@ -930,6 +958,105 @@ export interface MailMessageReaction {
|
|
|
930
958
|
export interface MailMessageReactionMethods extends F.Methods<typeof import('../../messaging/index.js').messagingShutro, 'mail.message.reaction'> {
|
|
931
959
|
}
|
|
932
960
|
|
|
961
|
+
/** `oauth.app` (owner: base). */
|
|
962
|
+
export interface OauthApp {
|
|
963
|
+
readonly name: 'oauth.app';
|
|
964
|
+
readonly fields: {
|
|
965
|
+
readonly id: F.Id<'oauth.app'>;
|
|
966
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
967
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
968
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
969
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
970
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
971
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
972
|
+
readonly clientId: F.Char<{ readonly required: true }>;
|
|
973
|
+
readonly secretHash: F.Char;
|
|
974
|
+
readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
975
|
+
readonly redirectUris: F.Text<{ readonly required: true }>;
|
|
976
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
977
|
+
readonly homepage: F.Char;
|
|
978
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
979
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
980
|
+
};
|
|
981
|
+
readonly methods: OauthAppMethods;
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
/** Methods of `oauth.app`: declared ones and transitions. */
|
|
985
|
+
export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
/** `oauth.code` (owner: base). */
|
|
989
|
+
export interface OauthCode {
|
|
990
|
+
readonly name: 'oauth.code';
|
|
991
|
+
readonly fields: {
|
|
992
|
+
readonly id: F.Id<'oauth.code'>;
|
|
993
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
994
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
995
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
996
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
997
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
998
|
+
readonly codeHash: F.Char<{ readonly required: true }>;
|
|
999
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1000
|
+
readonly redirectUri: F.Char<{ readonly required: true }>;
|
|
1001
|
+
readonly challenge: F.Char;
|
|
1002
|
+
readonly expiresAt: F.Datetime<{ readonly required: true }>;
|
|
1003
|
+
readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1004
|
+
};
|
|
1005
|
+
readonly methods: OauthCodeMethods;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
/** Methods of `oauth.code`: declared ones and transitions. */
|
|
1009
|
+
export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
/** `oauth.grant` (owner: base). */
|
|
1013
|
+
export interface OauthGrant {
|
|
1014
|
+
readonly name: 'oauth.grant';
|
|
1015
|
+
readonly fields: {
|
|
1016
|
+
readonly id: F.Id<'oauth.grant'>;
|
|
1017
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1018
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1019
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1020
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1021
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1022
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
1023
|
+
readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
|
|
1024
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1025
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1026
|
+
readonly lastUsedAt: F.Datetime;
|
|
1027
|
+
};
|
|
1028
|
+
readonly methods: OauthGrantMethods;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
/** Methods of `oauth.grant`: declared ones and transitions. */
|
|
1032
|
+
export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
/** `oauth.token` (owner: base). */
|
|
1036
|
+
export interface OauthToken {
|
|
1037
|
+
readonly name: 'oauth.token';
|
|
1038
|
+
readonly fields: {
|
|
1039
|
+
readonly id: F.Id<'oauth.token'>;
|
|
1040
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1041
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1042
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1043
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1044
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1045
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1046
|
+
readonly accessHash: F.Char<{ readonly required: true }>;
|
|
1047
|
+
readonly refreshHash: F.Char<{ readonly required: true }>;
|
|
1048
|
+
readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1049
|
+
readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1050
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1051
|
+
readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1052
|
+
};
|
|
1053
|
+
readonly methods: OauthTokenMethods;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
/** Methods of `oauth.token`: declared ones and transitions. */
|
|
1057
|
+
export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
|
|
1058
|
+
}
|
|
1059
|
+
|
|
933
1060
|
/** `product.category` (owner: product). */
|
|
934
1061
|
export interface ProductCategory {
|
|
935
1062
|
readonly name: 'product.category';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c1be73bb58451058
|
|
2
2
|
// Bindings of module `l10n_in`: 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:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: c1be73bb58451058
|
|
2
2
|
// Schema view of module `l10n_in` (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
|
|
|
@@ -28,6 +28,7 @@ export interface SchemaView {
|
|
|
28
28
|
readonly 'auth.session': AuthSession;
|
|
29
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
30
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
31
|
+
readonly 'kosh.image': KoshImage;
|
|
31
32
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
32
33
|
readonly 'l10n_in.einvoice': L10nInEinvoice;
|
|
33
34
|
readonly 'mail.activity': MailActivity;
|
|
@@ -37,6 +38,10 @@ export interface SchemaView {
|
|
|
37
38
|
readonly 'mail.follower': MailFollower;
|
|
38
39
|
readonly 'mail.message': MailMessage;
|
|
39
40
|
readonly 'mail.message.reaction': MailMessageReaction;
|
|
41
|
+
readonly 'oauth.app': OauthApp;
|
|
42
|
+
readonly 'oauth.code': OauthCode;
|
|
43
|
+
readonly 'oauth.grant': OauthGrant;
|
|
44
|
+
readonly 'oauth.token': OauthToken;
|
|
40
45
|
readonly 'product.category': ProductCategory;
|
|
41
46
|
readonly 'product.product': ProductProduct;
|
|
42
47
|
readonly 'report.dashboard': ReportDashboard;
|
|
@@ -750,6 +755,29 @@ export interface AuthUserGroup {
|
|
|
750
755
|
export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
|
|
751
756
|
}
|
|
752
757
|
|
|
758
|
+
/** `kosh.image` (owner: base). */
|
|
759
|
+
export interface KoshImage {
|
|
760
|
+
readonly name: 'kosh.image';
|
|
761
|
+
readonly fields: {
|
|
762
|
+
readonly id: F.Id<'kosh.image'>;
|
|
763
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
764
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
765
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
766
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
767
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
768
|
+
readonly ownerModel: F.Char<{ readonly required: true }>;
|
|
769
|
+
readonly ownerId: F.Integer<{ readonly required: true }>;
|
|
770
|
+
readonly mime: F.Char<{ readonly required: true }>;
|
|
771
|
+
readonly data: F.Text<{ readonly required: true }>;
|
|
772
|
+
readonly hash: F.Char<{ readonly required: true }>;
|
|
773
|
+
};
|
|
774
|
+
readonly methods: KoshImageMethods;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
/** Methods of `kosh.image`: declared ones and transitions. */
|
|
778
|
+
export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
|
|
779
|
+
}
|
|
780
|
+
|
|
753
781
|
/** `kosh.saved_view` (owner: base). */
|
|
754
782
|
export interface KoshSavedView {
|
|
755
783
|
readonly name: 'kosh.saved_view';
|
|
@@ -987,6 +1015,105 @@ export interface MailMessageReaction {
|
|
|
987
1015
|
export interface MailMessageReactionMethods extends F.Methods<typeof import('../../messaging/index.js').messagingShutro, 'mail.message.reaction'> {
|
|
988
1016
|
}
|
|
989
1017
|
|
|
1018
|
+
/** `oauth.app` (owner: base). */
|
|
1019
|
+
export interface OauthApp {
|
|
1020
|
+
readonly name: 'oauth.app';
|
|
1021
|
+
readonly fields: {
|
|
1022
|
+
readonly id: F.Id<'oauth.app'>;
|
|
1023
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1024
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1025
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1026
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1027
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1028
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1029
|
+
readonly clientId: F.Char<{ readonly required: true }>;
|
|
1030
|
+
readonly secretHash: F.Char;
|
|
1031
|
+
readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1032
|
+
readonly redirectUris: F.Text<{ readonly required: true }>;
|
|
1033
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1034
|
+
readonly homepage: F.Char;
|
|
1035
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1036
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
1037
|
+
};
|
|
1038
|
+
readonly methods: OauthAppMethods;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
/** Methods of `oauth.app`: declared ones and transitions. */
|
|
1042
|
+
export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
/** `oauth.code` (owner: base). */
|
|
1046
|
+
export interface OauthCode {
|
|
1047
|
+
readonly name: 'oauth.code';
|
|
1048
|
+
readonly fields: {
|
|
1049
|
+
readonly id: F.Id<'oauth.code'>;
|
|
1050
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1051
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1052
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1053
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1054
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1055
|
+
readonly codeHash: F.Char<{ readonly required: true }>;
|
|
1056
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1057
|
+
readonly redirectUri: F.Char<{ readonly required: true }>;
|
|
1058
|
+
readonly challenge: F.Char;
|
|
1059
|
+
readonly expiresAt: F.Datetime<{ readonly required: true }>;
|
|
1060
|
+
readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1061
|
+
};
|
|
1062
|
+
readonly methods: OauthCodeMethods;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/** Methods of `oauth.code`: declared ones and transitions. */
|
|
1066
|
+
export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
/** `oauth.grant` (owner: base). */
|
|
1070
|
+
export interface OauthGrant {
|
|
1071
|
+
readonly name: 'oauth.grant';
|
|
1072
|
+
readonly fields: {
|
|
1073
|
+
readonly id: F.Id<'oauth.grant'>;
|
|
1074
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1075
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1076
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1077
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1078
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1079
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
1080
|
+
readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
|
|
1081
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1082
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1083
|
+
readonly lastUsedAt: F.Datetime;
|
|
1084
|
+
};
|
|
1085
|
+
readonly methods: OauthGrantMethods;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
/** Methods of `oauth.grant`: declared ones and transitions. */
|
|
1089
|
+
export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
/** `oauth.token` (owner: base). */
|
|
1093
|
+
export interface OauthToken {
|
|
1094
|
+
readonly name: 'oauth.token';
|
|
1095
|
+
readonly fields: {
|
|
1096
|
+
readonly id: F.Id<'oauth.token'>;
|
|
1097
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1098
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1099
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1100
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1101
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1102
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1103
|
+
readonly accessHash: F.Char<{ readonly required: true }>;
|
|
1104
|
+
readonly refreshHash: F.Char<{ readonly required: true }>;
|
|
1105
|
+
readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1106
|
+
readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1107
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1108
|
+
readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1109
|
+
};
|
|
1110
|
+
readonly methods: OauthTokenMethods;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
/** Methods of `oauth.token`: declared ones and transitions. */
|
|
1114
|
+
export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
|
|
1115
|
+
}
|
|
1116
|
+
|
|
990
1117
|
/** `product.category` (owner: product). */
|
|
991
1118
|
export interface ProductCategory {
|
|
992
1119
|
readonly name: 'product.category';
|
|
@@ -16,7 +16,7 @@ export { Chatter } from './Chatter.js';
|
|
|
16
16
|
export function registerMessagingWeb(registry, i18n) {
|
|
17
17
|
registry.registerComponent('chatter', Chatter);
|
|
18
18
|
registry.registerPage('messaging.Chat', ChatPage);
|
|
19
|
-
registry.registerHeaderItem('messaging.Dock', ChatDock);
|
|
19
|
+
registry.registerHeaderItem('messaging.Dock', ChatDock, { home: true });
|
|
20
20
|
if (i18n !== undefined)
|
|
21
21
|
addMessages(i18n, 'messaging', messages);
|
|
22
22
|
return registry;
|
package/dist/notify/web/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export { NotificationSettings } from './NotificationSettings.js';
|
|
|
10
10
|
export { usePush } from './push.js';
|
|
11
11
|
/** Registers the bell (and its messages in `i18n`, when given). */
|
|
12
12
|
export function registerNotifyWeb(registry, i18n) {
|
|
13
|
-
registry.registerHeaderItem('notify.Bell', NotificationBell);
|
|
13
|
+
registry.registerHeaderItem('notify.Bell', NotificationBell, { home: true });
|
|
14
14
|
if (i18n !== undefined)
|
|
15
15
|
addMessages(i18n, 'notify', messages);
|
|
16
16
|
return registry;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 7de15337289f5e89
|
|
2
2
|
// Bindings of module `payment`: 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:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 7de15337289f5e89
|
|
2
2
|
// Schema view of module `payment` (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
|
|
|
@@ -28,6 +28,7 @@ export interface SchemaView {
|
|
|
28
28
|
readonly 'auth.session': AuthSession;
|
|
29
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
30
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
31
|
+
readonly 'kosh.image': KoshImage;
|
|
31
32
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
32
33
|
readonly 'mail.activity': MailActivity;
|
|
33
34
|
readonly 'mail.activity.type': MailActivityType;
|
|
@@ -36,6 +37,10 @@ export interface SchemaView {
|
|
|
36
37
|
readonly 'mail.follower': MailFollower;
|
|
37
38
|
readonly 'mail.message': MailMessage;
|
|
38
39
|
readonly 'mail.message.reaction': MailMessageReaction;
|
|
40
|
+
readonly 'oauth.app': OauthApp;
|
|
41
|
+
readonly 'oauth.code': OauthCode;
|
|
42
|
+
readonly 'oauth.grant': OauthGrant;
|
|
43
|
+
readonly 'oauth.token': OauthToken;
|
|
39
44
|
readonly 'payment.provider': PaymentProvider;
|
|
40
45
|
readonly 'payment.transaction': PaymentTransaction;
|
|
41
46
|
readonly 'portal.announcement': PortalAnnouncement;
|
|
@@ -733,6 +738,29 @@ export interface AuthUserGroup {
|
|
|
733
738
|
export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
|
|
734
739
|
}
|
|
735
740
|
|
|
741
|
+
/** `kosh.image` (owner: base). */
|
|
742
|
+
export interface KoshImage {
|
|
743
|
+
readonly name: 'kosh.image';
|
|
744
|
+
readonly fields: {
|
|
745
|
+
readonly id: F.Id<'kosh.image'>;
|
|
746
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
747
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
748
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
749
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
750
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
751
|
+
readonly ownerModel: F.Char<{ readonly required: true }>;
|
|
752
|
+
readonly ownerId: F.Integer<{ readonly required: true }>;
|
|
753
|
+
readonly mime: F.Char<{ readonly required: true }>;
|
|
754
|
+
readonly data: F.Text<{ readonly required: true }>;
|
|
755
|
+
readonly hash: F.Char<{ readonly required: true }>;
|
|
756
|
+
};
|
|
757
|
+
readonly methods: KoshImageMethods;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
/** Methods of `kosh.image`: declared ones and transitions. */
|
|
761
|
+
export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
|
|
762
|
+
}
|
|
763
|
+
|
|
736
764
|
/** `kosh.saved_view` (owner: base). */
|
|
737
765
|
export interface KoshSavedView {
|
|
738
766
|
readonly name: 'kosh.saved_view';
|
|
@@ -935,6 +963,105 @@ export interface MailMessageReaction {
|
|
|
935
963
|
export interface MailMessageReactionMethods extends F.Methods<typeof import('../../messaging/index.js').messagingShutro, 'mail.message.reaction'> {
|
|
936
964
|
}
|
|
937
965
|
|
|
966
|
+
/** `oauth.app` (owner: base). */
|
|
967
|
+
export interface OauthApp {
|
|
968
|
+
readonly name: 'oauth.app';
|
|
969
|
+
readonly fields: {
|
|
970
|
+
readonly id: F.Id<'oauth.app'>;
|
|
971
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
972
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
973
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
974
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
975
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
976
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
977
|
+
readonly clientId: F.Char<{ readonly required: true }>;
|
|
978
|
+
readonly secretHash: F.Char;
|
|
979
|
+
readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
980
|
+
readonly redirectUris: F.Text<{ readonly required: true }>;
|
|
981
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
982
|
+
readonly homepage: F.Char;
|
|
983
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
984
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
985
|
+
};
|
|
986
|
+
readonly methods: OauthAppMethods;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
/** Methods of `oauth.app`: declared ones and transitions. */
|
|
990
|
+
export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
/** `oauth.code` (owner: base). */
|
|
994
|
+
export interface OauthCode {
|
|
995
|
+
readonly name: 'oauth.code';
|
|
996
|
+
readonly fields: {
|
|
997
|
+
readonly id: F.Id<'oauth.code'>;
|
|
998
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
999
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1000
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1001
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1002
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1003
|
+
readonly codeHash: F.Char<{ readonly required: true }>;
|
|
1004
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1005
|
+
readonly redirectUri: F.Char<{ readonly required: true }>;
|
|
1006
|
+
readonly challenge: F.Char;
|
|
1007
|
+
readonly expiresAt: F.Datetime<{ readonly required: true }>;
|
|
1008
|
+
readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1009
|
+
};
|
|
1010
|
+
readonly methods: OauthCodeMethods;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
/** Methods of `oauth.code`: declared ones and transitions. */
|
|
1014
|
+
export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
/** `oauth.grant` (owner: base). */
|
|
1018
|
+
export interface OauthGrant {
|
|
1019
|
+
readonly name: 'oauth.grant';
|
|
1020
|
+
readonly fields: {
|
|
1021
|
+
readonly id: F.Id<'oauth.grant'>;
|
|
1022
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1023
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1024
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1025
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1026
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1027
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
1028
|
+
readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
|
|
1029
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1030
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1031
|
+
readonly lastUsedAt: F.Datetime;
|
|
1032
|
+
};
|
|
1033
|
+
readonly methods: OauthGrantMethods;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/** Methods of `oauth.grant`: declared ones and transitions. */
|
|
1037
|
+
export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
/** `oauth.token` (owner: base). */
|
|
1041
|
+
export interface OauthToken {
|
|
1042
|
+
readonly name: 'oauth.token';
|
|
1043
|
+
readonly fields: {
|
|
1044
|
+
readonly id: F.Id<'oauth.token'>;
|
|
1045
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1046
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1047
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1048
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1049
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1050
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1051
|
+
readonly accessHash: F.Char<{ readonly required: true }>;
|
|
1052
|
+
readonly refreshHash: F.Char<{ readonly required: true }>;
|
|
1053
|
+
readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1054
|
+
readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1055
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1056
|
+
readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1057
|
+
};
|
|
1058
|
+
readonly methods: OauthTokenMethods;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
/** Methods of `oauth.token`: declared ones and transitions. */
|
|
1062
|
+
export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
|
|
1063
|
+
}
|
|
1064
|
+
|
|
938
1065
|
/** `payment.provider` (owner: payment). */
|
|
939
1066
|
export interface PaymentProvider {
|
|
940
1067
|
readonly name: 'payment.provider';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: a4d290319c174316
|
|
2
2
|
// Bindings of module `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';
|