@better-giving/endowment 4.0.33 → 4.0.35

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 CHANGED
@@ -1,4 +1,4 @@
1
- import { Db, type TxType, type UpdateComps } from "@better-giving/db";
1
+ import { Db, type TxItems, type TxType, type UpdateComps } from "@better-giving/db";
2
2
  import type { IMedia, IMediaPage, INpoReferredBy, INpoWithRegNum, INpoWithRid, TBinFlag, TNpoDbKeys, TNpoDbProjectedTo } from "./interfaces.mjs";
3
3
  import type { IMediaSearchObj, IMediaUpdate, IMilestone, IMilestoneNew, IMilestoneUpdate, INpo, INpoUpdate, IProgram, IProgramDb, IProgramNew, IProgramUpdate, TMediaType } from "./schema.mjs";
4
4
  export declare class NpoDb extends Db {
@@ -144,6 +144,7 @@ export declare class NpoDb extends Db {
144
144
  npo_program(id: string, npo_id: number): Promise<IProgram | undefined>;
145
145
  npo_programs(id: number): Promise<IProgramDb[]>;
146
146
  npo_program_put(npo: number, content: IProgramNew): Promise<string>;
147
+ npo_prog_del_txis(npo: number, prog: string): Promise<TxItems>;
147
148
  npo_prog_del(npo: number, prog: string): Promise<import("@aws-sdk/lib-dynamodb").TransactWriteCommandOutput>;
148
149
  npo_prog_update(npo: number, prog: string, update: IProgramUpdate): Promise<Record<string, any> | undefined>;
149
150
  }
package/dist/db.mjs CHANGED
@@ -387,7 +387,7 @@ export class NpoDb extends Db {
387
387
  await this.client.send(cmd);
388
388
  return pid;
389
389
  }
390
- async npo_prog_del(npo, prog) {
390
+ async npo_prog_del_txis(npo, prog) {
391
391
  const milestones = await this.prog_milestones(prog);
392
392
  const txs = new Txs();
393
393
  txs.del({
@@ -400,8 +400,12 @@ export class NpoDb extends Db {
400
400
  Key: this.key_prog_milestone(m.id, prog),
401
401
  });
402
402
  }
403
+ return txs.all;
404
+ }
405
+ async npo_prog_del(npo, prog) {
406
+ const txs = await this.npo_prog_del_txis(npo, prog);
403
407
  const cmd = new TransactWriteCommand({
404
- TransactItems: txs.all,
408
+ TransactItems: txs,
405
409
  });
406
410
  return this.client.send(cmd);
407
411
  }
package/dist/schema.d.mts CHANGED
@@ -848,6 +848,7 @@ export declare const npos_search: v.ObjectSchema<{
848
848
  readonly kyc_only: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.MapItemsAction<string[], boolean>, v.ArraySchema<v.BooleanSchema<undefined>, undefined>]>, never>;
849
849
  readonly fund_opt_in: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.MapItemsAction<string[], boolean>, v.ArraySchema<v.BooleanSchema<undefined>, undefined>]>, never>;
850
850
  readonly claimed: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.MapItemsAction<string[], boolean>, v.ArraySchema<v.BooleanSchema<undefined>, undefined>]>, never>;
851
+ readonly published: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.MapItemsAction<string[], boolean>, v.ArraySchema<v.BooleanSchema<undefined>, undefined>]>, never>;
851
852
  readonly countries: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, undefined>]>, never>;
852
853
  readonly fields: v.OptionalSchema<v.SchemaWithPipe<[v.SchemaWithPipe<[v.LazySchema<v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]> | v.SchemaWithPipe<[v.SchemaWithPipe<[v.StringSchema<"required">, v.TrimAction]>, v.RegexAction<string, "invalid csv">]>>, v.TransformAction<string, string[]>, v.FilterItemsAction<string[]>]>, v.ArraySchema<v.PicklistSchema<["tagline", "card_img", "active_in_countries", "sdgs", "published", "fund_opt_in", "target", "id", "env", "registration_number", "name", "endow_designation", "hq_country", "claimed", "kyc_donors_only", "contributions_total", "contributions_count"], undefined>, undefined>]>, never>;
853
854
  }, undefined>;
package/dist/schema.mjs CHANGED
@@ -152,6 +152,7 @@ export const npos_search = v.object({
152
152
  kyc_only: v.optional(bool_csv),
153
153
  fund_opt_in: v.optional(bool_csv),
154
154
  claimed: v.optional(bool_csv),
155
+ published: v.optional(bool_csv),
155
156
  countries: v.optional(v.pipe(csv_strs, v.array($))),
156
157
  fields: v.optional(v.pipe(csv_strs, v.array(npo_item_fields))),
157
158
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-giving/endowment",
3
- "version": "4.0.33",
3
+ "version": "4.0.35",
4
4
  "dependencies": {
5
5
  "ksuid": "3.0.0"
6
6
  },
package/src/db.mts CHANGED
@@ -10,6 +10,7 @@ import {
10
10
  } from "@aws-sdk/lib-dynamodb";
11
11
  import {
12
12
  Db,
13
+ type TxItems,
13
14
  type TxType,
14
15
  Txs,
15
16
  UpdateBuilder,
@@ -496,7 +497,7 @@ export class NpoDb extends Db {
496
497
  return pid;
497
498
  }
498
499
 
499
- async npo_prog_del(npo: number, prog: string) {
500
+ async npo_prog_del_txis(npo: number, prog: string): Promise<TxItems> {
500
501
  const milestones = await this.prog_milestones(prog);
501
502
  const txs = new Txs();
502
503
  txs.del({
@@ -510,9 +511,13 @@ export class NpoDb extends Db {
510
511
  Key: this.key_prog_milestone(m.id, prog),
511
512
  });
512
513
  }
514
+ return txs.all;
515
+ }
513
516
 
517
+ async npo_prog_del(npo: number, prog: string) {
518
+ const txs = await this.npo_prog_del_txis(npo, prog);
514
519
  const cmd = new TransactWriteCommand({
515
- TransactItems: txs.all,
520
+ TransactItems: txs,
516
521
  });
517
522
  return this.client.send(cmd);
518
523
  }
package/src/schema.mts CHANGED
@@ -267,6 +267,7 @@ export const npos_search = v.object({
267
267
  kyc_only: v.optional(bool_csv),
268
268
  fund_opt_in: v.optional(bool_csv),
269
269
  claimed: v.optional(bool_csv),
270
+ published: v.optional(bool_csv),
270
271
  countries: v.optional(v.pipe(csv_strs, v.array($))),
271
272
  fields: v.optional(v.pipe(csv_strs, v.array(npo_item_fields))),
272
273
  });
@@ -1,55 +0,0 @@
1
- import type { ToDoc, ToHitFields, ToUpdate } from "@better-giving/types/cloudsearch";
2
- import type { Environment } from "@better-giving/types/list";
3
- import { type InferInput, type InferOutput } from "valibot";
4
- export declare const cloudsearchEndowFields: import("valibot").ObjectSchema<{
5
- readonly contributions_total: import("valibot").NumberSchema<undefined>;
6
- readonly contributions_count: import("valibot").NumberSchema<undefined>;
7
- }, undefined>;
8
- export declare const cloudsearchEndow: import("valibot").ObjectSchema<{
9
- readonly contributions_total: import("valibot").NumberSchema<undefined>;
10
- readonly contributions_count: import("valibot").NumberSchema<undefined>;
11
- readonly tagline: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").MaxLengthAction<string, 140, undefined>]>, never>;
12
- readonly card_img: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").UrlAction<string, undefined>]>, never>;
13
- readonly active_in_countries: import("valibot").SchemaWithPipe<[import("valibot").ArraySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, undefined>, import("valibot").NonEmptyAction<string[], "required">]>;
14
- 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 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17)[], 1, undefined>]>;
15
- readonly published: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, never>;
16
- readonly fund_opt_in: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, never>;
17
- readonly target: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"smart", undefined>, import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TransformAction<string, number>, import("valibot").NumberSchema<undefined>, import("valibot").MinValueAction<number, 0, undefined>, import("valibot").TransformAction<number, string>]>], undefined>, never>;
18
- readonly id: import("valibot").SchemaWithPipe<[import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>]>;
19
- readonly env: import("valibot").PicklistSchema<readonly ["staging", "production"], undefined>;
20
- readonly registration_number: import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").NonEmptyAction<string, "required">, import("valibot").RegexAction<string, "must only contain letters and numbers">]>;
21
- readonly name: import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").NonEmptyAction<string, "required">]>;
22
- readonly endow_designation: import("valibot").PicklistSchema<readonly ["Charity", "Religious Organization", "University", "Hospital", "Other"], "required">;
23
- readonly hq_country: import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").NonEmptyAction<string, "required">]>;
24
- readonly claimed: import("valibot").BooleanSchema<undefined>;
25
- readonly kyc_donors_only: import("valibot").BooleanSchema<undefined>;
26
- }, undefined>;
27
- export declare const cloudSearchEndowFields: import("valibot").PicklistSchema<["tagline", "card_img", "active_in_countries", "sdgs", "published", "fund_opt_in", "target", "id", "env", "registration_number", "name", "endow_designation", "hq_country", "claimed", "kyc_donors_only", "contributions_total", "contributions_count"], undefined>;
28
- export declare const endowsQueryParams: import("valibot").ObjectSchema<{
29
- readonly query: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, never>;
30
- readonly page: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").TransformAction<string, number>, import("valibot").SchemaWithPipe<[import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>]>]>, never>;
31
- readonly endow_designation: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").ArraySchema<import("valibot").PicklistSchema<readonly ["Charity", "Religious Organization", "University", "Hospital", "Other"], "required">, undefined>]>, never>;
32
- readonly sdgs: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").MapItemsAction<string[], number>, 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>]>, never>;
33
- readonly kyc_only: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").MapItemsAction<string[], boolean>, import("valibot").ArraySchema<import("valibot").BooleanSchema<undefined>, undefined>]>, never>;
34
- readonly fund_opt_in: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").MapItemsAction<string[], boolean>, import("valibot").ArraySchema<import("valibot").BooleanSchema<undefined>, undefined>]>, never>;
35
- readonly claimed: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").MapItemsAction<string[], boolean>, import("valibot").ArraySchema<import("valibot").BooleanSchema<undefined>, undefined>]>, never>;
36
- readonly countries: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").ArraySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, undefined>]>, never>;
37
- readonly fields: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").LazySchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]> | import("valibot").SchemaWithPipe<[import("valibot").SchemaWithPipe<[import("valibot").StringSchema<"required">, import("valibot").TrimAction]>, import("valibot").RegexAction<string, "invalid csv">]>>, import("valibot").TransformAction<string, string[]>, import("valibot").FilterItemsAction<string[]>]>, import("valibot").ArraySchema<import("valibot").PicklistSchema<["tagline", "card_img", "active_in_countries", "sdgs", "published", "fund_opt_in", "target", "id", "env", "registration_number", "name", "endow_designation", "hq_country", "claimed", "kyc_donors_only", "contributions_total", "contributions_count"], undefined>, undefined>]>, never>;
38
- }, undefined>;
39
- export interface CloudsearchEndowsQueryParamsObj extends InferInput<typeof endowsQueryParams> {
40
- }
41
- export interface CloudsearchEndowsQueryParams extends InferInput<typeof endowsQueryParams> {
42
- }
43
- export interface CloudsearchEndowsQueryParamsParsed extends InferOutput<typeof endowsQueryParams> {
44
- }
45
- export interface CloudsearchEndow extends InferOutput<typeof cloudsearchEndow> {
46
- }
47
- export type DocId = `${Environment}-${number}`;
48
- interface Doc extends ToDoc<CloudsearchEndow> {
49
- documentId: DocId;
50
- _score: number;
51
- }
52
- export interface HitFields extends ToHitFields<Omit<Doc, "documentId" | "_score">> {
53
- }
54
- export type Update = ToUpdate<DocId, CloudsearchEndow>;
55
- export {};
@@ -1,41 +0,0 @@
1
- import { $int_gte1, org_designation, unsdg_num } from "@better-giving/schemas";
2
- import { array, boolean, keyof, mapItems, number, object, optional, pick, pipe, } from "valibot";
3
- import { $, csv_strs, npo } from "./schema.mjs";
4
- const boolCsv = pipe(csv_strs, mapItems((x) => x === "true"), array(boolean()));
5
- export const cloudsearchEndowFields = object({
6
- contributions_total: number(),
7
- contributions_count: number(),
8
- });
9
- export const cloudsearchEndow = object({
10
- ...pick(npo, [
11
- "card_img",
12
- "name",
13
- "tagline",
14
- "hq_country",
15
- "sdgs",
16
- "active_in_countries",
17
- "endow_designation",
18
- "registration_number",
19
- "kyc_donors_only",
20
- "claimed",
21
- //filters
22
- "env",
23
- "id",
24
- "published",
25
- "fund_opt_in",
26
- "target",
27
- ]).entries,
28
- ...cloudsearchEndowFields.entries,
29
- });
30
- export const cloudSearchEndowFields = keyof(cloudsearchEndow);
31
- export const endowsQueryParams = object({
32
- query: optional($),
33
- page: optional($int_gte1),
34
- endow_designation: optional(pipe(csv_strs, array(org_designation))),
35
- sdgs: optional(pipe(csv_strs, mapItems((x) => +x), array(unsdg_num))),
36
- kyc_only: optional(boolCsv),
37
- fund_opt_in: optional(boolCsv),
38
- claimed: optional(boolCsv),
39
- countries: optional(pipe(csv_strs, array($))),
40
- fields: optional(pipe(csv_strs, array(cloudSearchEndowFields))),
41
- });
package/dist/db2.d.mts DELETED
@@ -1 +0,0 @@
1
- export {};
package/dist/db2.mjs DELETED
@@ -1 +0,0 @@
1
- export {};