shutro-erp 0.3.2 → 0.3.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.
- package/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +29 -1
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +29 -1
- package/dist/assistant/index.js +1 -1
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +29 -1
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +29 -1
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +29 -4
- package/dist/l10n_in/module.d.ts +0 -62
- package/dist/l10n_in/module.js +2 -4
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +30 -2
- package/dist/payment/bkash.d.ts +28 -0
- package/dist/payment/bkash.js +169 -0
- package/dist/payment/index.d.ts +4 -0
- package/dist/payment/index.js +80 -24
- package/dist/payment/module.d.ts +7 -4
- package/dist/payment/module.js +3 -0
- package/dist/payment/money.d.ts +7 -0
- package/dist/payment/money.js +37 -0
- package/dist/payment/providers.d.ts +13 -2
- package/dist/payment/razorpay.d.ts +12 -0
- package/dist/payment/razorpay.js +149 -0
- package/dist/payment/sslcommerz.js +1 -1
- package/dist/payment/stripe.d.ts +15 -0
- package/dist/payment/stripe.js +182 -0
- package/dist/permissions/admin.d.ts +3 -0
- package/dist/permissions/admin.js +108 -10
- package/dist/permissions/index.d.ts +1 -0
- package/dist/permissions/index.js +3 -0
- package/dist/permissions/roles.d.ts +2 -0
- package/dist/permissions/roles.js +236 -0
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +29 -1
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +29 -1
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +29 -1
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +29 -1
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +29 -1
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +29 -1
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +29 -1
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +29 -1
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +29 -1
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +29 -1
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +29 -1
- package/dist/server/auth/base.js +22 -0
- package/dist/server/auth/routes.d.ts +3 -0
- package/dist/server/auth/routes.js +29 -0
- package/dist/server/auth/service.d.ts +52 -0
- package/dist/server/auth/service.js +168 -3
- package/dist/server/identity.d.ts +2 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/server.js +11 -3
- package/dist/settings/company.d.ts +34 -0
- package/dist/settings/company.js +187 -0
- package/dist/settings/index.d.ts +10 -10
- package/dist/settings/index.js +159 -30
- package/dist/settings/people.d.ts +16 -0
- package/dist/settings/people.js +505 -0
- package/dist/settings/security.d.ts +13 -0
- package/dist/settings/security.js +158 -0
- package/dist/settings/web/AuditPage.d.ts +8 -0
- package/dist/settings/web/AuditPage.js +74 -0
- package/dist/settings/web/CompaniesPage.d.ts +8 -0
- package/dist/settings/web/CompaniesPage.js +52 -0
- package/dist/settings/web/CompanyPage.d.ts +9 -0
- package/dist/settings/web/CompanyPage.js +94 -0
- package/dist/settings/web/OverviewPage.d.ts +9 -0
- package/dist/settings/web/OverviewPage.js +66 -0
- package/dist/settings/web/PeoplePage.d.ts +9 -0
- package/dist/settings/web/PeoplePage.js +163 -0
- package/dist/settings/web/ProfilePage.d.ts +14 -0
- package/dist/settings/web/ProfilePage.js +194 -0
- package/dist/settings/web/RolesEditor.d.ts +35 -0
- package/dist/settings/web/RolesEditor.js +49 -0
- package/dist/settings/web/RolesPage.d.ts +9 -0
- package/dist/settings/web/RolesPage.js +296 -0
- package/dist/settings/web/SecurityPage.d.ts +8 -0
- package/dist/settings/web/SecurityPage.js +81 -0
- package/dist/settings/web/index.d.ts +9 -0
- package/dist/settings/web/index.js +26 -1
- package/dist/settings/web/messages.js +566 -0
- package/dist/ui/api.d.ts +4 -0
- package/dist/ui/app.d.ts +5 -0
- package/dist/ui/app.js +108 -31
- package/dist/ui/components/primitives.d.ts +9 -1
- package/dist/ui/components/primitives.js +12 -4
- package/dist/ui/context.d.ts +10 -1
- package/dist/ui/context.js +60 -2
- package/dist/ui/i18n/messages.d.ts +46 -0
- package/dist/ui/i18n/messages.js +92 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.js +2 -1
- package/dist/ui/lib/accent.d.ts +13 -0
- package/dist/ui/lib/accent.js +36 -0
- package/dist/ui/shell/Activate.d.ts +6 -0
- package/dist/ui/shell/Activate.js +39 -0
- package/dist/ui/shell/CommandPalette.d.ts +7 -1
- package/dist/ui/shell/CommandPalette.js +16 -2
- package/dist/ui/shell/Sidebar.d.ts +27 -0
- package/dist/ui/shell/Sidebar.js +84 -0
- package/dist/ui/shell/TwoFactorSetup.d.ts +5 -0
- package/dist/ui/shell/TwoFactorSetup.js +32 -0
- package/dist/ui/shell/shortcuts.d.ts +3 -0
- package/dist/ui/shell/shortcuts.js +13 -4
- package/dist/ui/styles.css +70 -28
- package/dist/ui/views/DateField.d.ts +10 -0
- package/dist/ui/views/DateField.js +129 -0
- package/dist/ui/views/FormView.js +161 -21
- package/dist/ui/views/ListView.d.ts +2 -0
- package/dist/ui/views/ListView.js +8 -3
- package/dist/ui/views/StatusChip.d.ts +10 -0
- package/dist/ui/views/StatusChip.js +22 -0
- package/dist/ui/views/widgets.d.ts +3 -0
- package/dist/ui/views/widgets.js +26 -8
- package/dist/views/types.d.ts +7 -0
- package/dist/views/validate.js +4 -0
- package/package.json +2 -2
|
@@ -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: 668898d9db81475e
|
|
2
2
|
// Bindings of module `account_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';
|
|
@@ -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: 668898d9db81475e
|
|
2
2
|
// Schema view of module `account_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
|
|
|
@@ -24,6 +24,7 @@ export interface SchemaView {
|
|
|
24
24
|
readonly 'audit.event': AuditEvent;
|
|
25
25
|
readonly 'auth.api_key': AuthApiKey;
|
|
26
26
|
readonly 'auth.credential': AuthCredential;
|
|
27
|
+
readonly 'auth.policy': AuthPolicy;
|
|
27
28
|
readonly 'auth.session': AuthSession;
|
|
28
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
29
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
@@ -634,6 +635,26 @@ export interface AuthCredential {
|
|
|
634
635
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
635
636
|
}
|
|
636
637
|
|
|
638
|
+
/** `auth.policy` (owner: base). */
|
|
639
|
+
export interface AuthPolicy {
|
|
640
|
+
readonly name: 'auth.policy';
|
|
641
|
+
readonly fields: {
|
|
642
|
+
readonly id: F.Id<'auth.policy'>;
|
|
643
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
644
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
645
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
646
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
647
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
648
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
649
|
+
readonly sessionDays: F.Integer;
|
|
650
|
+
};
|
|
651
|
+
readonly methods: AuthPolicyMethods;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
655
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
656
|
+
}
|
|
657
|
+
|
|
637
658
|
/** `auth.session` (owner: base). */
|
|
638
659
|
export interface AuthSession {
|
|
639
660
|
readonly name: 'auth.session';
|
|
@@ -1200,6 +1221,13 @@ export interface ResCompany {
|
|
|
1200
1221
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1201
1222
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
1202
1223
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
1224
|
+
readonly accentColor: F.Char;
|
|
1225
|
+
readonly street: F.Char;
|
|
1226
|
+
readonly city: F.Char;
|
|
1227
|
+
readonly zip: F.Char;
|
|
1228
|
+
readonly email: F.Char;
|
|
1229
|
+
readonly phone: F.Char;
|
|
1230
|
+
readonly website: F.Char;
|
|
1203
1231
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1204
1232
|
readonly chartTemplate: F.Char; // accounting
|
|
1205
1233
|
readonly country: F.Char; // accounting
|
|
@@ -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: e7d2cbddec9ade69
|
|
2
2
|
// Bindings of module `accounting`: 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: e7d2cbddec9ade69
|
|
2
2
|
// Schema view of module `accounting` (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
|
|
|
@@ -24,6 +24,7 @@ export interface SchemaView {
|
|
|
24
24
|
readonly 'audit.event': AuditEvent;
|
|
25
25
|
readonly 'auth.api_key': AuthApiKey;
|
|
26
26
|
readonly 'auth.credential': AuthCredential;
|
|
27
|
+
readonly 'auth.policy': AuthPolicy;
|
|
27
28
|
readonly 'auth.session': AuthSession;
|
|
28
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
29
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
@@ -631,6 +632,26 @@ export interface AuthCredential {
|
|
|
631
632
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
632
633
|
}
|
|
633
634
|
|
|
635
|
+
/** `auth.policy` (owner: base). */
|
|
636
|
+
export interface AuthPolicy {
|
|
637
|
+
readonly name: 'auth.policy';
|
|
638
|
+
readonly fields: {
|
|
639
|
+
readonly id: F.Id<'auth.policy'>;
|
|
640
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
641
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
642
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
643
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
644
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
645
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
646
|
+
readonly sessionDays: F.Integer;
|
|
647
|
+
};
|
|
648
|
+
readonly methods: AuthPolicyMethods;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
652
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
653
|
+
}
|
|
654
|
+
|
|
634
655
|
/** `auth.session` (owner: base). */
|
|
635
656
|
export interface AuthSession {
|
|
636
657
|
readonly name: 'auth.session';
|
|
@@ -1125,6 +1146,13 @@ export interface ResCompany {
|
|
|
1125
1146
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1126
1147
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
1127
1148
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
1149
|
+
readonly accentColor: F.Char;
|
|
1150
|
+
readonly street: F.Char;
|
|
1151
|
+
readonly city: F.Char;
|
|
1152
|
+
readonly zip: F.Char;
|
|
1153
|
+
readonly email: F.Char;
|
|
1154
|
+
readonly phone: F.Char;
|
|
1155
|
+
readonly website: F.Char;
|
|
1128
1156
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1129
1157
|
readonly chartTemplate: F.Char; // accounting
|
|
1130
1158
|
readonly country: F.Char; // accounting
|
package/dist/assistant/index.js
CHANGED
|
@@ -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: 31cf57953410c779
|
|
2
2
|
// Bindings of module `contacts`: 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: 31cf57953410c779
|
|
2
2
|
// Schema view of module `contacts` (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,6 +7,7 @@ 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;
|
|
@@ -94,6 +95,26 @@ export interface AuthCredential {
|
|
|
94
95
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
95
96
|
}
|
|
96
97
|
|
|
98
|
+
/** `auth.policy` (owner: base). */
|
|
99
|
+
export interface AuthPolicy {
|
|
100
|
+
readonly name: 'auth.policy';
|
|
101
|
+
readonly fields: {
|
|
102
|
+
readonly id: F.Id<'auth.policy'>;
|
|
103
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
104
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
105
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
106
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
107
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
108
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
109
|
+
readonly sessionDays: F.Integer;
|
|
110
|
+
};
|
|
111
|
+
readonly methods: AuthPolicyMethods;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
115
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
116
|
+
}
|
|
117
|
+
|
|
97
118
|
/** `auth.session` (owner: base). */
|
|
98
119
|
export interface AuthSession {
|
|
99
120
|
readonly name: 'auth.session';
|
|
@@ -203,6 +224,13 @@ export interface ResCompany {
|
|
|
203
224
|
readonly name: F.Char<{ readonly required: true }>;
|
|
204
225
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
205
226
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
227
|
+
readonly accentColor: F.Char;
|
|
228
|
+
readonly street: F.Char;
|
|
229
|
+
readonly city: F.Char;
|
|
230
|
+
readonly zip: F.Char;
|
|
231
|
+
readonly email: F.Char;
|
|
232
|
+
readonly phone: F.Char;
|
|
233
|
+
readonly website: F.Char;
|
|
206
234
|
};
|
|
207
235
|
readonly methods: ResCompanyMethods;
|
|
208
236
|
}
|
|
@@ -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: 679842f099351542
|
|
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: 679842f099351542
|
|
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
|
|
|
@@ -24,6 +24,7 @@ export interface SchemaView {
|
|
|
24
24
|
readonly 'audit.event': AuditEvent;
|
|
25
25
|
readonly 'auth.api_key': AuthApiKey;
|
|
26
26
|
readonly 'auth.credential': AuthCredential;
|
|
27
|
+
readonly 'auth.policy': AuthPolicy;
|
|
27
28
|
readonly 'auth.session': AuthSession;
|
|
28
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
29
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
@@ -635,6 +636,26 @@ export interface AuthCredential {
|
|
|
635
636
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
636
637
|
}
|
|
637
638
|
|
|
639
|
+
/** `auth.policy` (owner: base). */
|
|
640
|
+
export interface AuthPolicy {
|
|
641
|
+
readonly name: 'auth.policy';
|
|
642
|
+
readonly fields: {
|
|
643
|
+
readonly id: F.Id<'auth.policy'>;
|
|
644
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
645
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
646
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
647
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
648
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
649
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
650
|
+
readonly sessionDays: F.Integer;
|
|
651
|
+
};
|
|
652
|
+
readonly methods: AuthPolicyMethods;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
656
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
657
|
+
}
|
|
658
|
+
|
|
638
659
|
/** `auth.session` (owner: base). */
|
|
639
660
|
export interface AuthSession {
|
|
640
661
|
readonly name: 'auth.session';
|
|
@@ -1129,6 +1150,13 @@ export interface ResCompany {
|
|
|
1129
1150
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1130
1151
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
1131
1152
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
1153
|
+
readonly accentColor: F.Char;
|
|
1154
|
+
readonly street: F.Char;
|
|
1155
|
+
readonly city: F.Char;
|
|
1156
|
+
readonly zip: F.Char;
|
|
1157
|
+
readonly email: F.Char;
|
|
1158
|
+
readonly phone: F.Char;
|
|
1159
|
+
readonly website: F.Char;
|
|
1132
1160
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1133
1161
|
readonly chartTemplate: F.Char; // accounting
|
|
1134
1162
|
readonly country: F.Char; // accounting
|
|
@@ -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: 8a0fa1636d2ec016
|
|
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: 8a0fa1636d2ec016
|
|
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
|
|
|
@@ -24,6 +24,7 @@ export interface SchemaView {
|
|
|
24
24
|
readonly 'audit.event': AuditEvent;
|
|
25
25
|
readonly 'auth.api_key': AuthApiKey;
|
|
26
26
|
readonly 'auth.credential': AuthCredential;
|
|
27
|
+
readonly 'auth.policy': AuthPolicy;
|
|
27
28
|
readonly 'auth.session': AuthSession;
|
|
28
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
29
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
@@ -657,6 +658,26 @@ export interface AuthCredential {
|
|
|
657
658
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
658
659
|
}
|
|
659
660
|
|
|
661
|
+
/** `auth.policy` (owner: base). */
|
|
662
|
+
export interface AuthPolicy {
|
|
663
|
+
readonly name: 'auth.policy';
|
|
664
|
+
readonly fields: {
|
|
665
|
+
readonly id: F.Id<'auth.policy'>;
|
|
666
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
667
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
668
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
669
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
670
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
671
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
672
|
+
readonly sessionDays: F.Integer;
|
|
673
|
+
};
|
|
674
|
+
readonly methods: AuthPolicyMethods;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
678
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
679
|
+
}
|
|
680
|
+
|
|
660
681
|
/** `auth.session` (owner: base). */
|
|
661
682
|
export interface AuthSession {
|
|
662
683
|
readonly name: 'auth.session';
|
|
@@ -1187,6 +1208,13 @@ export interface ResCompany {
|
|
|
1187
1208
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1188
1209
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
1189
1210
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
1211
|
+
readonly accentColor: F.Char;
|
|
1212
|
+
readonly street: F.Char;
|
|
1213
|
+
readonly city: F.Char;
|
|
1214
|
+
readonly zip: F.Char;
|
|
1215
|
+
readonly email: F.Char;
|
|
1216
|
+
readonly phone: F.Char;
|
|
1217
|
+
readonly website: F.Char;
|
|
1190
1218
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1191
1219
|
readonly chartTemplate: F.Char; // accounting
|
|
1192
1220
|
readonly country: F.Char; // accounting
|
|
@@ -1200,9 +1228,6 @@ export interface ResCompany {
|
|
|
1200
1228
|
readonly accountRetainedEarnings: F.Many2one<'account.account'>; // accounting
|
|
1201
1229
|
readonly gstin: F.Char; // l10n_in
|
|
1202
1230
|
readonly pan: F.Char; // l10n_in
|
|
1203
|
-
readonly street: F.Char; // l10n_in
|
|
1204
|
-
readonly city: F.Char; // l10n_in
|
|
1205
|
-
readonly zip: F.Char; // l10n_in
|
|
1206
1231
|
readonly einvoiceEnabled: F.Bool<{ readonly required: true; readonly default: true }>; // l10n_in
|
|
1207
1232
|
};
|
|
1208
1233
|
readonly methods: ResCompanyMethods;
|
package/dist/l10n_in/module.d.ts
CHANGED
|
@@ -51,37 +51,6 @@ export declare const CompanyGst: import("../server/orm.js").Extension<"res.compa
|
|
|
51
51
|
readonly hasDefault: false;
|
|
52
52
|
readonly readonly: false;
|
|
53
53
|
}, string>;
|
|
54
|
-
/** Its principal place of business: the seller's address on e-invoices and e-way bills. */
|
|
55
|
-
readonly street: import("../server/orm.js").CharField<{
|
|
56
|
-
readonly required: false;
|
|
57
|
-
readonly computed: false;
|
|
58
|
-
readonly inverse: false;
|
|
59
|
-
readonly sequence: false;
|
|
60
|
-
readonly computeName: undefined;
|
|
61
|
-
readonly store: true;
|
|
62
|
-
readonly hasDefault: false;
|
|
63
|
-
readonly readonly: false;
|
|
64
|
-
}, string>;
|
|
65
|
-
readonly city: import("../server/orm.js").CharField<{
|
|
66
|
-
readonly required: false;
|
|
67
|
-
readonly computed: false;
|
|
68
|
-
readonly inverse: false;
|
|
69
|
-
readonly sequence: false;
|
|
70
|
-
readonly computeName: undefined;
|
|
71
|
-
readonly store: true;
|
|
72
|
-
readonly hasDefault: false;
|
|
73
|
-
readonly readonly: false;
|
|
74
|
-
}, string>;
|
|
75
|
-
readonly zip: import("../server/orm.js").CharField<{
|
|
76
|
-
readonly required: false;
|
|
77
|
-
readonly computed: false;
|
|
78
|
-
readonly inverse: false;
|
|
79
|
-
readonly sequence: false;
|
|
80
|
-
readonly computeName: undefined;
|
|
81
|
-
readonly store: true;
|
|
82
|
-
readonly hasDefault: false;
|
|
83
|
-
readonly readonly: false;
|
|
84
|
-
}, string>;
|
|
85
54
|
/** Customer invoices and notes are registered with the IRP when posted (turnover above the threshold). */
|
|
86
55
|
readonly einvoiceEnabled: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
|
|
87
56
|
readonly required: true;
|
|
@@ -7506,37 +7475,6 @@ export declare const l10nInShutro: import("../server/orm.js").Module<readonly [i
|
|
|
7506
7475
|
readonly hasDefault: false;
|
|
7507
7476
|
readonly readonly: false;
|
|
7508
7477
|
}, string>;
|
|
7509
|
-
/** Its principal place of business: the seller's address on e-invoices and e-way bills. */
|
|
7510
|
-
readonly street: import("../server/orm.js").CharField<{
|
|
7511
|
-
readonly required: false;
|
|
7512
|
-
readonly computed: false;
|
|
7513
|
-
readonly inverse: false;
|
|
7514
|
-
readonly sequence: false;
|
|
7515
|
-
readonly computeName: undefined;
|
|
7516
|
-
readonly store: true;
|
|
7517
|
-
readonly hasDefault: false;
|
|
7518
|
-
readonly readonly: false;
|
|
7519
|
-
}, string>;
|
|
7520
|
-
readonly city: import("../server/orm.js").CharField<{
|
|
7521
|
-
readonly required: false;
|
|
7522
|
-
readonly computed: false;
|
|
7523
|
-
readonly inverse: false;
|
|
7524
|
-
readonly sequence: false;
|
|
7525
|
-
readonly computeName: undefined;
|
|
7526
|
-
readonly store: true;
|
|
7527
|
-
readonly hasDefault: false;
|
|
7528
|
-
readonly readonly: false;
|
|
7529
|
-
}, string>;
|
|
7530
|
-
readonly zip: import("../server/orm.js").CharField<{
|
|
7531
|
-
readonly required: false;
|
|
7532
|
-
readonly computed: false;
|
|
7533
|
-
readonly inverse: false;
|
|
7534
|
-
readonly sequence: false;
|
|
7535
|
-
readonly computeName: undefined;
|
|
7536
|
-
readonly store: true;
|
|
7537
|
-
readonly hasDefault: false;
|
|
7538
|
-
readonly readonly: false;
|
|
7539
|
-
}, string>;
|
|
7540
7478
|
/** Customer invoices and notes are registered with the IRP when posted (turnover above the threshold). */
|
|
7541
7479
|
readonly einvoiceEnabled: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
|
|
7542
7480
|
readonly required: true;
|
package/dist/l10n_in/module.js
CHANGED
|
@@ -101,10 +101,8 @@ export const CompanyGst = extendModel('res.company', {
|
|
|
101
101
|
fields: {
|
|
102
102
|
gstin: f.char({ size: 15, label: 'GSTIN' }),
|
|
103
103
|
pan: f.char({ size: 10, label: 'PAN' }),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
city: f.char({ label: 'City' }),
|
|
107
|
-
zip: f.char({ size: 6, label: 'PIN code' }),
|
|
104
|
+
// Its principal place of business (`street`, `city`, `zip`: the base's company address) is the seller's
|
|
105
|
+
// address on e-invoices and e-way bills.
|
|
108
106
|
/** Customer invoices and notes are registered with the IRP when posted (turnover above the threshold). */
|
|
109
107
|
einvoiceEnabled: f.boolean({ required: true, default: false, label: 'E-invoicing' }),
|
|
110
108
|
},
|
|
@@ -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: 3191ec61b2e1ad7f
|
|
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: 3191ec61b2e1ad7f
|
|
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
|
|
|
@@ -24,6 +24,7 @@ export interface SchemaView {
|
|
|
24
24
|
readonly 'audit.event': AuditEvent;
|
|
25
25
|
readonly 'auth.api_key': AuthApiKey;
|
|
26
26
|
readonly 'auth.credential': AuthCredential;
|
|
27
|
+
readonly 'auth.policy': AuthPolicy;
|
|
27
28
|
readonly 'auth.session': AuthSession;
|
|
28
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
29
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
@@ -640,6 +641,26 @@ export interface AuthCredential {
|
|
|
640
641
|
export interface AuthCredentialMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.credential'> {
|
|
641
642
|
}
|
|
642
643
|
|
|
644
|
+
/** `auth.policy` (owner: base). */
|
|
645
|
+
export interface AuthPolicy {
|
|
646
|
+
readonly name: 'auth.policy';
|
|
647
|
+
readonly fields: {
|
|
648
|
+
readonly id: F.Id<'auth.policy'>;
|
|
649
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
650
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
651
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
652
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
653
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
654
|
+
readonly twoFactor: F.Selection<'administrators' | 'everyone', { readonly required: true; readonly default: true }>;
|
|
655
|
+
readonly sessionDays: F.Integer;
|
|
656
|
+
};
|
|
657
|
+
readonly methods: AuthPolicyMethods;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
/** Methods of `auth.policy`: declared ones and transitions. */
|
|
661
|
+
export interface AuthPolicyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.policy'> {
|
|
662
|
+
}
|
|
663
|
+
|
|
643
664
|
/** `auth.session` (owner: base). */
|
|
644
665
|
export interface AuthSession {
|
|
645
666
|
readonly name: 'auth.session';
|
|
@@ -926,7 +947,7 @@ export interface PaymentProvider {
|
|
|
926
947
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
927
948
|
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
928
949
|
readonly name: F.Char<{ readonly required: true }>;
|
|
929
|
-
readonly code: F.Selection<'fake' | 'sslcommerz', { readonly required: true; readonly default: true }>;
|
|
950
|
+
readonly code: F.Selection<'fake' | 'sslcommerz' | 'bkash' | 'razorpay' | 'stripe', { readonly required: true; readonly default: true }>;
|
|
930
951
|
readonly state: F.Selection<'disabled' | 'test' | 'live', { readonly required: true; readonly default: true }>;
|
|
931
952
|
readonly journal: F.Many2one<'account.journal', { readonly required: true }>;
|
|
932
953
|
readonly endpoint: F.Many2one<'webhook.endpoint'>;
|
|
@@ -1261,6 +1282,13 @@ export interface ResCompany {
|
|
|
1261
1282
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1262
1283
|
readonly currency: F.Many2one<'res.currency', { readonly required: true }>;
|
|
1263
1284
|
readonly numberGrouping: F.Selection<'international' | 'lakh', { readonly required: true; readonly default: true }>;
|
|
1285
|
+
readonly accentColor: F.Char;
|
|
1286
|
+
readonly street: F.Char;
|
|
1287
|
+
readonly city: F.Char;
|
|
1288
|
+
readonly zip: F.Char;
|
|
1289
|
+
readonly email: F.Char;
|
|
1290
|
+
readonly phone: F.Char;
|
|
1291
|
+
readonly website: F.Char;
|
|
1264
1292
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1265
1293
|
readonly chartTemplate: F.Char; // accounting
|
|
1266
1294
|
readonly country: F.Char; // accounting
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bKash adapter (Tokenized Checkout v2; RFC 0017 §5.5). Grant a token (cached for its hour), create a payment
|
|
3
|
+
* (its `paymentId` kept as the transaction's provider reference) and send the customer to `bkashURL`. bKash has no
|
|
4
|
+
* server-to-server callback here: it sends the customer back to the return URL with `paymentID` and
|
|
5
|
+
* `status=success|failure|cancel`, and the payment completes only when the merchant **executes** it. The browser's
|
|
6
|
+
* status is a hint, never proof: on any return the adapter executes the transaction's own `paymentId` (never the
|
|
7
|
+
* one in the URL) and believes only bKash's answer — `Completed`, for this invoice number, amount and currency — or,
|
|
8
|
+
* when execute refuses, bKash's query.
|
|
9
|
+
*
|
|
10
|
+
* Credentials come from the environment, never from records: `SHUTRO_ERP_BKASH_USERNAME`, `…_PASSWORD`,
|
|
11
|
+
* `…_APP_KEY`, `…_APP_SECRET`, `…_SANDBOX` (`true` unless `false`) and, optionally, `…_BASE_URL`.
|
|
12
|
+
*/
|
|
13
|
+
import type { PaymentAdapter } from './providers.js';
|
|
14
|
+
export interface BkashOptions {
|
|
15
|
+
readonly username?: string | undefined;
|
|
16
|
+
readonly password?: string | undefined;
|
|
17
|
+
readonly appKey?: string | undefined;
|
|
18
|
+
readonly appSecret?: string | undefined;
|
|
19
|
+
/** The sandbox (default) or the live system. */
|
|
20
|
+
readonly sandbox?: boolean;
|
|
21
|
+
/** The API's base, up to `/tokenized-checkout` (default: bKash's sandbox or live address). */
|
|
22
|
+
readonly baseUrl?: string | undefined;
|
|
23
|
+
/** The HTTP client (tests). */
|
|
24
|
+
readonly fetch?: typeof fetch;
|
|
25
|
+
}
|
|
26
|
+
export declare function bkashAdapter(options?: BkashOptions): PaymentAdapter;
|
|
27
|
+
/** bKash with its credentials from the environment, read on first use. */
|
|
28
|
+
export declare function bkashFromEnvironment(env?: NodeJS.ProcessEnv): PaymentAdapter;
|