@better-giving/endowment 1.0.7 → 1.0.9
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/db.d.mts +7 -2
- package/dist/db.mjs +4 -1
- package/dist/schema.d.mts +49 -46
- package/dist/schema.mjs +17 -12
- package/package.json +1 -1
- package/src/db.mts +49 -7
- package/src/index.mts +3 -1
- package/src/schema.mts +61 -11
package/dist/db.d.mts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { EndowId, Endowment as EndowmentShape, Environment, Milestone as MilestoneShape, MilestoneId, Program as ProgramShape, ProgramId } from "./schema.mjs";
|
|
2
2
|
export type { EndowId, SocialMediaURLs, Allocation, Increment, EndowDesignation, Environment, ProgramId, } from "./schema.mjs";
|
|
3
|
+
export declare const gsi: {
|
|
4
|
+
readonly regnumEnv: "regnum-env-gsi";
|
|
5
|
+
readonly slugEnv: "slug-env-gsi";
|
|
6
|
+
};
|
|
3
7
|
export declare namespace EndowCount {
|
|
4
8
|
interface Keys {
|
|
5
9
|
PK: "Count";
|
|
@@ -25,17 +29,18 @@ export declare namespace Endow {
|
|
|
25
29
|
splitLiqPct?: number;
|
|
26
30
|
/** @deprecated */
|
|
27
31
|
splitFixed?: boolean;
|
|
32
|
+
/** @deprecated */
|
|
28
33
|
sfCompounded?: boolean;
|
|
29
34
|
};
|
|
30
35
|
type DBRecord = Keys & NonKeyAttributes;
|
|
31
36
|
}
|
|
32
37
|
export declare namespace RegNumEnvGsi {
|
|
33
|
-
type Name =
|
|
38
|
+
type Name = typeof gsi.regnumEnv;
|
|
34
39
|
type Keys = Pick<Endow.NonKeyAttributes, "registration_number" | "env">;
|
|
35
40
|
type DBRecord = Keys & Endow.Keys & Pick<Endow.NonKeyAttributes, "claimed" | "name" | "hq_country" | "id">;
|
|
36
41
|
}
|
|
37
42
|
export declare namespace SlugEnvGsi {
|
|
38
|
-
type Name =
|
|
43
|
+
type Name = typeof gsi.slugEnv;
|
|
39
44
|
type Keys = Pick<Endow.NonKeyAttributes, "slug" | "env">;
|
|
40
45
|
type DBRecord = Endow.DBRecord;
|
|
41
46
|
}
|
package/dist/db.mjs
CHANGED
package/dist/schema.d.mts
CHANGED
|
@@ -2,6 +2,7 @@ import { env, orgDesignation, unSdgNum } from "@better-giving/schemas";
|
|
|
2
2
|
export type { OrgDesignation as EndowDesignation, Environment, UnSdgNum, } from "@better-giving/schemas";
|
|
3
3
|
export { orgDesignation as endowDesignation, env, unSdgNum };
|
|
4
4
|
import { type InferInput, type InferOutput } from "valibot";
|
|
5
|
+
export declare const str: import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>;
|
|
5
6
|
export declare const allocation: import("valibot").SchemaWithPipe<[import("valibot").ObjectSchema<{
|
|
6
7
|
readonly cash: import("valibot").SchemaWithPipe<[import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 0, undefined>, import("valibot").MaxValueAction<number, 100, undefined>]>;
|
|
7
8
|
readonly liq: import("valibot").SchemaWithPipe<[import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 0, undefined>, import("valibot").MaxValueAction<number, 100, undefined>]>;
|
|
@@ -21,14 +22,16 @@ export declare const reg_number: import("valibot").SchemaWithPipe<[import("valib
|
|
|
21
22
|
export declare const donateMethodIds: readonly ["stripe", "crypto", "daf", "stocks"];
|
|
22
23
|
export declare const donateMethodId: import("valibot").PicklistSchema<readonly ["stripe", "crypto", "daf", "stocks"], undefined>;
|
|
23
24
|
export type DonateMethodId = InferOutput<typeof donateMethodId>;
|
|
24
|
-
declare const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
readonly
|
|
28
|
-
readonly
|
|
29
|
-
readonly
|
|
30
|
-
readonly
|
|
31
|
-
readonly
|
|
25
|
+
export declare const _url: import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string, undefined>]>;
|
|
26
|
+
export declare const userInputUrl: import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>;
|
|
27
|
+
export declare const social_media_urls: import("valibot").ObjectSchema<{
|
|
28
|
+
readonly facebook: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
29
|
+
readonly twitter: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
30
|
+
readonly linkedin: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
31
|
+
readonly discord: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
32
|
+
readonly instagram: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
33
|
+
readonly youtube: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
34
|
+
readonly tiktok: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
32
35
|
}, undefined>;
|
|
33
36
|
export type SocialMediaURLs = InferOutput<typeof social_media_urls>;
|
|
34
37
|
export declare const MAX_RECEIPT_MSG_CHAR = 500;
|
|
@@ -57,16 +60,16 @@ export declare const endowment: import("valibot").ObjectSchema<{
|
|
|
57
60
|
readonly active_in_countries: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, undefined>, import("valibot").NonEmptyAction<string[], "required">]>;
|
|
58
61
|
readonly street_address: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, never>;
|
|
59
62
|
readonly social_media_urls: import("valibot").ObjectSchema<{
|
|
60
|
-
readonly facebook: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
61
|
-
readonly twitter: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
62
|
-
readonly linkedin: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
63
|
-
readonly discord: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
64
|
-
readonly instagram: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
65
|
-
readonly youtube: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
66
|
-
readonly tiktok: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
63
|
+
readonly facebook: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
64
|
+
readonly twitter: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
65
|
+
readonly linkedin: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
66
|
+
readonly discord: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
67
|
+
readonly instagram: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
68
|
+
readonly youtube: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
69
|
+
readonly tiktok: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
67
70
|
}, undefined>;
|
|
68
71
|
/** website */
|
|
69
|
-
readonly url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
72
|
+
readonly url: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
70
73
|
readonly sdgs: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").PicklistSchema<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], undefined>, undefined>, import("valibot").MinLengthAction<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1, undefined>]>;
|
|
71
74
|
readonly receiptMsg: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").MaxLengthAction<string, 500, undefined>]>, never>;
|
|
72
75
|
readonly hide_bg_tip: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, never>;
|
|
@@ -107,16 +110,16 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
107
110
|
readonly active_in_countries: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, undefined>, import("valibot").NonEmptyAction<string[], "required">]>;
|
|
108
111
|
readonly street_address: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, never>;
|
|
109
112
|
readonly social_media_urls: import("valibot").ObjectSchema<{
|
|
110
|
-
readonly facebook: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
111
|
-
readonly twitter: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
112
|
-
readonly linkedin: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
113
|
-
readonly discord: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
114
|
-
readonly instagram: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
115
|
-
readonly youtube: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
116
|
-
readonly tiktok: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
113
|
+
readonly facebook: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
114
|
+
readonly twitter: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
115
|
+
readonly linkedin: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
116
|
+
readonly discord: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
117
|
+
readonly instagram: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
118
|
+
readonly youtube: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
119
|
+
readonly tiktok: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
117
120
|
}, undefined>;
|
|
118
121
|
/** website */
|
|
119
|
-
readonly url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
122
|
+
readonly url: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
120
123
|
readonly sdgs: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").PicklistSchema<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], undefined>, undefined>, import("valibot").MinLengthAction<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1, undefined>]>;
|
|
121
124
|
readonly receiptMsg: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").MaxLengthAction<string, 500, undefined>]>, never>;
|
|
122
125
|
readonly hide_bg_tip: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, never>;
|
|
@@ -157,16 +160,16 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
157
160
|
readonly active_in_countries: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, undefined>, import("valibot").NonEmptyAction<string[], "required">]>;
|
|
158
161
|
readonly street_address: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, never>;
|
|
159
162
|
readonly social_media_urls: import("valibot").ObjectSchema<{
|
|
160
|
-
readonly facebook: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
161
|
-
readonly twitter: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
162
|
-
readonly linkedin: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
163
|
-
readonly discord: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
164
|
-
readonly instagram: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
165
|
-
readonly youtube: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
166
|
-
readonly tiktok: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
163
|
+
readonly facebook: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
164
|
+
readonly twitter: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
165
|
+
readonly linkedin: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
166
|
+
readonly discord: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
167
|
+
readonly instagram: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
168
|
+
readonly youtube: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
169
|
+
readonly tiktok: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
167
170
|
}, undefined>;
|
|
168
171
|
/** website */
|
|
169
|
-
readonly url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
172
|
+
readonly url: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
170
173
|
readonly sdgs: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").PicklistSchema<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], undefined>, undefined>, import("valibot").MinLengthAction<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1, undefined>]>;
|
|
171
174
|
readonly receiptMsg: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").MaxLengthAction<string, 500, undefined>]>, never>;
|
|
172
175
|
readonly hide_bg_tip: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, never>;
|
|
@@ -196,7 +199,7 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
196
199
|
cash: number;
|
|
197
200
|
liq: number;
|
|
198
201
|
lock: number;
|
|
199
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
202
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
200
203
|
value: string;
|
|
201
204
|
label: string;
|
|
202
205
|
}[], 4>>): import("valibot").Dataset<{
|
|
@@ -242,7 +245,7 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
242
245
|
cash: number;
|
|
243
246
|
liq: number;
|
|
244
247
|
lock: number;
|
|
245
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
248
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
246
249
|
value: string;
|
|
247
250
|
label: string;
|
|
248
251
|
}[], 4>>;
|
|
@@ -331,14 +334,14 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
331
334
|
cash: number;
|
|
332
335
|
liq: number;
|
|
333
336
|
lock: number;
|
|
334
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
337
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
335
338
|
value: string;
|
|
336
339
|
label: string;
|
|
337
340
|
}[], 4>;
|
|
338
341
|
} | undefined;
|
|
339
342
|
}, "_types" | "_run" | "entries"> & {
|
|
340
343
|
readonly entries: {
|
|
341
|
-
readonly url: import("valibot").OptionalSchema<import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
344
|
+
readonly url: import("valibot").OptionalSchema<import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>, never>;
|
|
342
345
|
readonly slug: import("valibot").OptionalSchema<import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").MaxLengthAction<string, 30, ({ requirement: r }: import("valibot").MaxLengthIssue<string, 30>) => string>, import("valibot").RegexAction<string, "should not be an id">, import("valibot").RegexAction<string, "allowed: numbers | letters | - | . | _ | ~">, import("valibot").ExcludesAction<string, "..", "should not contain double periods">, import("valibot").CustomSchema<string, "should not start with dot">, import("valibot").CustomSchema<string, "should not end with dot">]>>, never>, never>;
|
|
343
346
|
readonly name: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").NonEmptyAction<string, "required">]>, never>;
|
|
344
347
|
readonly overview: import("valibot").OptionalSchema<import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, never>, never>;
|
|
@@ -375,20 +378,20 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
375
378
|
readonly registration_number: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").NonEmptyAction<string, "required">, import("valibot").RegexAction<string, "must only contain letters and numbers">]>, never>;
|
|
376
379
|
readonly endow_designation: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["Charity", "Religious Organization", "University", "Hospital", "Other"], undefined>, never>;
|
|
377
380
|
readonly social_media_urls: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
|
|
378
|
-
readonly facebook: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
379
|
-
readonly twitter: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
380
|
-
readonly linkedin: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
381
|
-
readonly discord: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
382
|
-
readonly instagram: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
383
|
-
readonly youtube: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
384
|
-
readonly tiktok: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").UrlAction<string,
|
|
381
|
+
readonly facebook: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
382
|
+
readonly twitter: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
383
|
+
readonly linkedin: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
384
|
+
readonly discord: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
385
|
+
readonly instagram: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
386
|
+
readonly youtube: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
387
|
+
readonly tiktok: import("valibot").OptionalSchema<import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TrimAction]>, import("valibot").StartsWithAction<string, "https://", "should start with https://">, import("valibot").CustomSchema<string, "incomplete url">, import("valibot").UrlAction<string, "invalid url">]>>, never>;
|
|
385
388
|
}, undefined>, never>;
|
|
386
389
|
};
|
|
387
390
|
_run(dataset: import("valibot").Dataset<unknown, never>, config: import("valibot").Config<import("valibot").StringIssue | import("valibot").NumberIssue | import("valibot").IntegerIssue<number> | import("valibot").MinValueIssue<number, 0> | import("valibot").MaxValueIssue<number, 100> | import("valibot").ObjectIssue | import("valibot").CheckIssue<{
|
|
388
391
|
cash: number;
|
|
389
392
|
liq: number;
|
|
390
393
|
lock: number;
|
|
391
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
394
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
392
395
|
value: string;
|
|
393
396
|
label: string;
|
|
394
397
|
}[], 4>>): import("valibot").Dataset<{
|
|
@@ -434,7 +437,7 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
434
437
|
cash: number;
|
|
435
438
|
liq: number;
|
|
436
439
|
lock: number;
|
|
437
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
440
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
438
441
|
value: string;
|
|
439
442
|
label: string;
|
|
440
443
|
}[], 4>>;
|
|
@@ -523,7 +526,7 @@ export declare const endowUpdate: Omit<Omit<import("valibot").ObjectSchema<{
|
|
|
523
526
|
cash: number;
|
|
524
527
|
liq: number;
|
|
525
528
|
lock: number;
|
|
526
|
-
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
529
|
+
}> | import("valibot").MaxLengthIssue<string, 30> | import("valibot").RegexIssue<string> | import("valibot").ExcludesIssue<string, ".."> | import("valibot").CustomIssue | import("valibot").NonEmptyIssue<string> | import("valibot").PicklistIssue | import("valibot").UrlIssue<string> | import("valibot").StartsWithIssue<string, "https://"> | import("valibot").MaxLengthIssue<string, 140> | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string[]> | import("valibot").MinLengthIssue<(2 | 1 | 4 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1> | import("valibot").MaxLengthIssue<string, 500> | import("valibot").BooleanIssue | import("valibot").MaxLengthIssue<{
|
|
527
530
|
value: string;
|
|
528
531
|
label: string;
|
|
529
532
|
}[], 4>;
|
package/dist/schema.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { env, orgDesignation, unSdgNum } from "@better-giving/schemas";
|
|
2
2
|
export { orgDesignation as endowDesignation, env, unSdgNum };
|
|
3
|
-
import { url, array, boolean, check, custom, excludes, integer, isoDate, keyof, lazy, maxLength, maxValue, minLength, minValue, nonEmpty, nullish, number, object, omit, optional, partial, picklist, pipe, regex, string, transform, trim, uuid, } from "valibot";
|
|
4
|
-
const str = pipe(string(), trim());
|
|
3
|
+
import { url, array, boolean, check, custom, excludes, integer, isoDate, keyof, lazy, maxLength, maxValue, minLength, minValue, nonEmpty, nullish, number, object, omit, optional, partial, picklist, pipe, regex, startsWith, string, transform, trim, uuid, } from "valibot";
|
|
4
|
+
export const str = pipe(string(), trim());
|
|
5
5
|
const pct = pipe(number(), integer(), minValue(0), maxValue(100));
|
|
6
6
|
export const allocation = pipe(object({
|
|
7
7
|
cash: pct,
|
|
@@ -23,15 +23,20 @@ export const segment = lazy((x) => {
|
|
|
23
23
|
export const reg_number = pipe(str, nonEmpty("required"), regex(/^[a-zA-Z0-9]+$/, "must only contain letters and numbers"));
|
|
24
24
|
export const donateMethodIds = ["stripe", "crypto", "daf", "stocks"];
|
|
25
25
|
export const donateMethodId = picklist(donateMethodIds);
|
|
26
|
-
const _url = pipe(str, url());
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
export const _url = pipe(str, url());
|
|
27
|
+
export const userInputUrl = lazy((x) => {
|
|
28
|
+
if (!x)
|
|
29
|
+
return str;
|
|
30
|
+
return pipe(str, startsWith("https://", "should start with https://"), custom((x) => x !== "https://", "incomplete url"), url("invalid url"));
|
|
31
|
+
});
|
|
32
|
+
export const social_media_urls = object({
|
|
33
|
+
facebook: optional(userInputUrl),
|
|
34
|
+
twitter: optional(userInputUrl),
|
|
35
|
+
linkedin: optional(userInputUrl),
|
|
36
|
+
discord: optional(userInputUrl),
|
|
37
|
+
instagram: optional(userInputUrl),
|
|
38
|
+
youtube: optional(userInputUrl),
|
|
39
|
+
tiktok: optional(userInputUrl),
|
|
35
40
|
});
|
|
36
41
|
export const MAX_RECEIPT_MSG_CHAR = 500;
|
|
37
42
|
export const incrementVal = pipe(str, nonEmpty("required"), transform((x) => +x), number("must be a number"), minValue(0, "must be greater than 0"),
|
|
@@ -61,7 +66,7 @@ export const endowment = object({
|
|
|
61
66
|
street_address: optional(str),
|
|
62
67
|
social_media_urls,
|
|
63
68
|
/** website */
|
|
64
|
-
url: optional(
|
|
69
|
+
url: optional(userInputUrl),
|
|
65
70
|
sdgs: pipe(array(unSdgNum), minLength(1)),
|
|
66
71
|
receiptMsg: optional(pipe(str, maxLength(MAX_RECEIPT_MSG_CHAR))),
|
|
67
72
|
//can be optional, default false and need not be explicit
|
package/package.json
CHANGED
package/src/db.mts
CHANGED
|
@@ -2,6 +2,8 @@ import type {
|
|
|
2
2
|
EndowId,
|
|
3
3
|
Endowment as EndowmentShape,
|
|
4
4
|
Environment,
|
|
5
|
+
MediaId,
|
|
6
|
+
MediaType,
|
|
5
7
|
Milestone as MilestoneShape,
|
|
6
8
|
MilestoneId,
|
|
7
9
|
Program as ProgramShape,
|
|
@@ -17,6 +19,11 @@ export type {
|
|
|
17
19
|
ProgramId,
|
|
18
20
|
} from "./schema.mjs";
|
|
19
21
|
|
|
22
|
+
export const endowGsi = {
|
|
23
|
+
regnumEnv: "regnum-env-gsi",
|
|
24
|
+
slugEnv: "slug-env-gsi",
|
|
25
|
+
} as const;
|
|
26
|
+
|
|
20
27
|
export namespace EndowCount {
|
|
21
28
|
export interface Keys {
|
|
22
29
|
PK: "Count";
|
|
@@ -45,27 +52,28 @@ export namespace Endow {
|
|
|
45
52
|
splitLiqPct?: number;
|
|
46
53
|
/** @deprecated */
|
|
47
54
|
splitFixed?: boolean;
|
|
55
|
+
/** @deprecated */
|
|
48
56
|
sfCompounded?: boolean;
|
|
49
57
|
};
|
|
50
58
|
|
|
51
|
-
export type
|
|
59
|
+
export type DbRecord = Keys & NonKeyAttributes;
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
export namespace RegNumEnvGsi {
|
|
55
|
-
export type Name =
|
|
63
|
+
export type Name = typeof endowGsi.regnumEnv;
|
|
56
64
|
export type Keys = Pick<
|
|
57
65
|
Endow.NonKeyAttributes,
|
|
58
66
|
"registration_number" | "env"
|
|
59
67
|
>;
|
|
60
|
-
export type
|
|
68
|
+
export type DbRecord = Keys &
|
|
61
69
|
Endow.Keys &
|
|
62
70
|
Pick<Endow.NonKeyAttributes, "claimed" | "name" | "hq_country" | "id">;
|
|
63
71
|
}
|
|
64
72
|
|
|
65
73
|
export namespace SlugEnvGsi {
|
|
66
|
-
export type Name =
|
|
74
|
+
export type Name = typeof endowGsi.slugEnv;
|
|
67
75
|
export type Keys = Pick<Endow.NonKeyAttributes, "slug" | "env">;
|
|
68
|
-
export type
|
|
76
|
+
export type DbRecord = Endow.DbRecord; //all attributes are copied to this index
|
|
69
77
|
}
|
|
70
78
|
|
|
71
79
|
export namespace Program {
|
|
@@ -78,7 +86,7 @@ export namespace Program {
|
|
|
78
86
|
/** in USD */
|
|
79
87
|
totalDonations?: number;
|
|
80
88
|
};
|
|
81
|
-
export type
|
|
89
|
+
export type DbRecord = Keys & NonKeyAttributes;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
export namespace Milestone {
|
|
@@ -86,5 +94,39 @@ export namespace Milestone {
|
|
|
86
94
|
PK: `Prog#${string}#${Environment}`;
|
|
87
95
|
SK: `Mile#${MilestoneId}`;
|
|
88
96
|
};
|
|
89
|
-
export type
|
|
97
|
+
export type DbRecord = Keys & MilestoneShape;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export const mediaGsi = {
|
|
101
|
+
1: "gsi1",
|
|
102
|
+
} as const;
|
|
103
|
+
export namespace Media {
|
|
104
|
+
export type Keys = {
|
|
105
|
+
PK: `Endow#${EndowId}#${Environment}`;
|
|
106
|
+
SK: `Media#${MediaId}`;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/** "0" - featured (goes before 1), "1" - not-featured */
|
|
110
|
+
export type FeaturedFlag = "0" | "1";
|
|
111
|
+
export type NonKeyAttributes = {
|
|
112
|
+
id: MediaId;
|
|
113
|
+
gsi1PK: Keys["PK"];
|
|
114
|
+
gsi1SK: `MediaList#${FeaturedFlag}#${MediaId}#${MediaType}`;
|
|
115
|
+
/** iso string */
|
|
116
|
+
dateCreated: string;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export type VideoAttributes = NonKeyAttributes & {
|
|
120
|
+
type: Extract<MediaType, "video">;
|
|
121
|
+
url: string;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export type VideoDbRecord = Keys & VideoAttributes;
|
|
125
|
+
export type DbRecord = VideoDbRecord; // | album | article
|
|
126
|
+
|
|
127
|
+
export namespace Gsi1 {
|
|
128
|
+
export type Name = (typeof mediaGsi)[1];
|
|
129
|
+
export type Keys = Pick<NonKeyAttributes, "gsi1PK" | "gsi1SK">;
|
|
130
|
+
export type DbRecord = Keys & NonKeyAttributes;
|
|
131
|
+
}
|
|
90
132
|
}
|
package/src/index.mts
CHANGED
|
@@ -18,11 +18,13 @@ export type {
|
|
|
18
18
|
ProgramUpdate,
|
|
19
19
|
SocialMediaURLs,
|
|
20
20
|
UnSdgNum,
|
|
21
|
+
MediaQueryParams,
|
|
22
|
+
MediaType,
|
|
21
23
|
} from "./schema.mjs";
|
|
22
24
|
export type { FundItem };
|
|
23
25
|
|
|
24
26
|
export type Endow = Pick<
|
|
25
|
-
NEndow.
|
|
27
|
+
NEndow.DbRecord,
|
|
26
28
|
| "id"
|
|
27
29
|
| "slug"
|
|
28
30
|
| "active_in_countries"
|
package/src/schema.mts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
type InferInput,
|
|
11
11
|
type InferOutput,
|
|
12
12
|
array,
|
|
13
|
+
base64,
|
|
13
14
|
boolean,
|
|
14
15
|
check,
|
|
15
16
|
custom,
|
|
@@ -32,13 +33,14 @@ import {
|
|
|
32
33
|
picklist,
|
|
33
34
|
pipe,
|
|
34
35
|
regex,
|
|
36
|
+
startsWith,
|
|
35
37
|
string,
|
|
36
38
|
transform,
|
|
37
39
|
trim,
|
|
38
40
|
uuid,
|
|
39
41
|
} from "valibot";
|
|
40
42
|
|
|
41
|
-
const str = pipe(string(), trim());
|
|
43
|
+
export const str = pipe(string(), trim());
|
|
42
44
|
|
|
43
45
|
const pct = pipe(number(), integer(), minValue(0), maxValue(100));
|
|
44
46
|
export const allocation = pipe(
|
|
@@ -89,16 +91,25 @@ export const donateMethodIds = ["stripe", "crypto", "daf", "stocks"] as const;
|
|
|
89
91
|
export const donateMethodId = picklist(donateMethodIds);
|
|
90
92
|
export type DonateMethodId = InferOutput<typeof donateMethodId>;
|
|
91
93
|
|
|
92
|
-
const _url = pipe(str, url());
|
|
94
|
+
export const _url = pipe(str, url());
|
|
95
|
+
export const userInputUrl = lazy((x) => {
|
|
96
|
+
if (!x) return str;
|
|
97
|
+
return pipe(
|
|
98
|
+
str,
|
|
99
|
+
startsWith("https://", "should start with https://"),
|
|
100
|
+
custom((x) => x !== "https://", "incomplete url"),
|
|
101
|
+
url("invalid url")
|
|
102
|
+
);
|
|
103
|
+
});
|
|
93
104
|
|
|
94
|
-
const social_media_urls = object({
|
|
95
|
-
facebook: optional(
|
|
96
|
-
twitter: optional(
|
|
97
|
-
linkedin: optional(
|
|
98
|
-
discord: optional(
|
|
99
|
-
instagram: optional(
|
|
100
|
-
youtube: optional(
|
|
101
|
-
tiktok: optional(
|
|
105
|
+
export const social_media_urls = object({
|
|
106
|
+
facebook: optional(userInputUrl),
|
|
107
|
+
twitter: optional(userInputUrl),
|
|
108
|
+
linkedin: optional(userInputUrl),
|
|
109
|
+
discord: optional(userInputUrl),
|
|
110
|
+
instagram: optional(userInputUrl),
|
|
111
|
+
youtube: optional(userInputUrl),
|
|
112
|
+
tiktok: optional(userInputUrl),
|
|
102
113
|
});
|
|
103
114
|
|
|
104
115
|
export type SocialMediaURLs = InferOutput<typeof social_media_urls>;
|
|
@@ -150,7 +161,7 @@ export const endowment = object({
|
|
|
150
161
|
street_address: optional(str),
|
|
151
162
|
social_media_urls,
|
|
152
163
|
/** website */
|
|
153
|
-
url: optional(
|
|
164
|
+
url: optional(userInputUrl),
|
|
154
165
|
sdgs: pipe(array(unSdgNum), minLength(1)),
|
|
155
166
|
receiptMsg: optional(pipe(str, maxLength(MAX_RECEIPT_MSG_CHAR))),
|
|
156
167
|
//can be optional, default false and need not be explicit
|
|
@@ -280,3 +291,42 @@ export const programUpdate = partial(omit(newProgram, ["milestones"]));
|
|
|
280
291
|
export type NewProgram = InferOutput<typeof newProgram>;
|
|
281
292
|
export type Program = InferOutput<typeof program>;
|
|
282
293
|
export type ProgramUpdate = InferOutput<typeof programUpdate>;
|
|
294
|
+
|
|
295
|
+
export const mediaUrl = pipe(str, url());
|
|
296
|
+
/**
|
|
297
|
+
* so that media is automatically sorted by date
|
|
298
|
+
* @see https://github.com/segmentio/ksuid
|
|
299
|
+
* */
|
|
300
|
+
export const mediaKsuid = pipe(str, nonEmpty() /** base62? */);
|
|
301
|
+
export const mediaTypes = ["album", "article", "video"] as const;
|
|
302
|
+
export const mediaType = picklist(mediaTypes);
|
|
303
|
+
export type MediaType = InferOutput<typeof mediaType>;
|
|
304
|
+
|
|
305
|
+
export const mediaUpdate = object({
|
|
306
|
+
url: optional(mediaUrl),
|
|
307
|
+
featured: optional(boolean()),
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
export type MediaId = InferOutput<typeof mediaKsuid>;
|
|
311
|
+
|
|
312
|
+
export const mediaQueryParams = object({
|
|
313
|
+
type: mediaType,
|
|
314
|
+
nextPageKey: optional(pipe(str, base64())),
|
|
315
|
+
featured: optional(
|
|
316
|
+
pipe(
|
|
317
|
+
str,
|
|
318
|
+
transform((x) => Boolean(x)),
|
|
319
|
+
boolean()
|
|
320
|
+
)
|
|
321
|
+
),
|
|
322
|
+
limit: optional(
|
|
323
|
+
pipe(
|
|
324
|
+
string(),
|
|
325
|
+
transform((x) => +x),
|
|
326
|
+
number(),
|
|
327
|
+
integer(),
|
|
328
|
+
minValue(1)
|
|
329
|
+
)
|
|
330
|
+
),
|
|
331
|
+
});
|
|
332
|
+
export type MediaQueryParams = InferInput<typeof mediaQueryParams>;
|