@glissandoo/lib 1.108.11 → 1.108.13

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.
@@ -133,6 +133,12 @@ export declare enum FbFunctionName {
133
133
  PartnershipOnDelete = "partnership-onDelete",
134
134
  PartnershipAddConfirmedAdmin = "partnership-addConfirmedAdmin",
135
135
  PartnershipRemoveAdmin = "partnership-removeAdmin",
136
+ PartnershipUpdateBoardRole = "partnership-updateBoardRole",
137
+ PartnershipUpdateBoardRoles = "partnership-updateBoardRoles",
138
+ PartnershipAddPendingAdmin = "partnership-addPendingAdmin",
139
+ PartnershipConfirmAdmin = "partnership-confirmAdmin",
140
+ PartnershipGetStatusAdmin = "partnership-getStatusAdmin",
141
+ PartnershipGetPublicInfo = "partnership-getPublicInfo",
136
142
  PartnershipGroupAdd = "partnershipGroup-add",
137
143
  PartnershipGroupRemove = "partnershipGroup-remove",
138
144
  PartnershipPartnerCreate = "partnershipPartner-create",
@@ -137,6 +137,12 @@ var FbFunctionName;
137
137
  FbFunctionName["PartnershipOnDelete"] = "partnership-onDelete";
138
138
  FbFunctionName["PartnershipAddConfirmedAdmin"] = "partnership-addConfirmedAdmin";
139
139
  FbFunctionName["PartnershipRemoveAdmin"] = "partnership-removeAdmin";
140
+ FbFunctionName["PartnershipUpdateBoardRole"] = "partnership-updateBoardRole";
141
+ FbFunctionName["PartnershipUpdateBoardRoles"] = "partnership-updateBoardRoles";
142
+ FbFunctionName["PartnershipAddPendingAdmin"] = "partnership-addPendingAdmin";
143
+ FbFunctionName["PartnershipConfirmAdmin"] = "partnership-confirmAdmin";
144
+ FbFunctionName["PartnershipGetStatusAdmin"] = "partnership-getStatusAdmin";
145
+ FbFunctionName["PartnershipGetPublicInfo"] = "partnership-getPublicInfo";
140
146
  FbFunctionName["PartnershipGroupAdd"] = "partnershipGroup-add";
141
147
  FbFunctionName["PartnershipGroupRemove"] = "partnershipGroup-remove";
142
148
  FbFunctionName["PartnershipPartnerCreate"] = "partnershipPartner-create";
@@ -1,5 +1,6 @@
1
1
  import { BasicAddressData } from '../helpers/types';
2
- import { PartnershipSepaCreditorInfo } from '../models/Partnership/types';
2
+ import { GroupCustomFieldOption, GroupCustomFieldType } from '../models/Group/types';
3
+ import { PartnershipPaymentMethodsConfig, PartnershipSepaCreditorInfo } from '../models/Partnership/types';
3
4
  export declare namespace PartnershipFbFunctionsTypes {
4
5
  interface CreateData {
5
6
  displayName: string;
@@ -28,7 +29,7 @@ export declare namespace PartnershipFbFunctionsTypes {
28
29
  type RemoveResult = void;
29
30
  interface AddConfirmedAdminParams {
30
31
  partnershipId: string;
31
- email: string;
32
+ partnerId: string;
32
33
  }
33
34
  type AddConfirmedAdminResult = void;
34
35
  interface RemoveAdminParams {
@@ -36,4 +37,52 @@ export declare namespace PartnershipFbFunctionsTypes {
36
37
  email: string;
37
38
  }
38
39
  type RemoveAdminResult = void;
40
+ interface UpdateBoardRoleParams {
41
+ partnershipId: string;
42
+ partnerId: string | null;
43
+ role: string;
44
+ }
45
+ type UpdateBoardRoleResult = void;
46
+ interface UpdateBoardRolesParams {
47
+ partnershipId: string;
48
+ boardRoles: string[];
49
+ }
50
+ type UpdateBoardRolesResult = void;
51
+ interface AddPendingAdminParams {
52
+ partnershipId: string;
53
+ email: string;
54
+ lang?: string;
55
+ }
56
+ type AddPendingAdminResult = void;
57
+ interface ConfirmAdminParams {
58
+ partnershipId: string;
59
+ }
60
+ type ConfirmAdminResult = void;
61
+ interface GetStatusAdminParams {
62
+ partnershipId: string;
63
+ }
64
+ interface GetStatusAdminResult {
65
+ partnershipName: string;
66
+ photoURL: string;
67
+ }
68
+ interface GetPublicInfoParams {
69
+ partnershipId?: string;
70
+ username?: string;
71
+ }
72
+ interface GetPublicInfoCustomField {
73
+ id: string;
74
+ label: string;
75
+ type: GroupCustomFieldType;
76
+ required: boolean;
77
+ placeholder: string | null;
78
+ options: GroupCustomFieldOption[];
79
+ order: number;
80
+ }
81
+ interface GetPublicInfoResult {
82
+ partnershipId: string;
83
+ displayName: string;
84
+ photoURL: string;
85
+ paymentMethodsConfig: PartnershipPaymentMethodsConfig | null;
86
+ customFields: GetPublicInfoCustomField[];
87
+ }
39
88
  }
@@ -39,6 +39,7 @@ export declare namespace PartnershipPartnerFbFunctionsTypes {
39
39
  export type RemoveResult = void;
40
40
  export interface RequestParams extends CreateData {
41
41
  partnershipId: string;
42
+ customFieldValues?: Record<string, string | number | null>;
42
43
  }
43
44
  export type RequestResult = void;
44
45
  export interface AcceptParams {
@@ -142,6 +142,12 @@ const regionByFunctions = {
142
142
  [index_1.FbFunctionName.PartnershipOnDelete]: GCloudRegions.EuropeWest6,
143
143
  [index_1.FbFunctionName.PartnershipAddConfirmedAdmin]: GCloudRegions.EuropeWest6,
144
144
  [index_1.FbFunctionName.PartnershipRemoveAdmin]: GCloudRegions.EuropeWest6,
145
+ [index_1.FbFunctionName.PartnershipUpdateBoardRole]: GCloudRegions.EuropeWest6,
146
+ [index_1.FbFunctionName.PartnershipUpdateBoardRoles]: GCloudRegions.EuropeWest6,
147
+ [index_1.FbFunctionName.PartnershipAddPendingAdmin]: GCloudRegions.EuropeWest6,
148
+ [index_1.FbFunctionName.PartnershipConfirmAdmin]: GCloudRegions.EuropeWest6,
149
+ [index_1.FbFunctionName.PartnershipGetStatusAdmin]: GCloudRegions.EuropeWest6,
150
+ [index_1.FbFunctionName.PartnershipGetPublicInfo]: GCloudRegions.EuropeWest6,
145
151
  [index_1.FbFunctionName.PartnershipGroupAdd]: GCloudRegions.EuropeWest6,
146
152
  [index_1.FbFunctionName.PartnershipGroupRemove]: GCloudRegions.EuropeWest6,
147
153
  [index_1.FbFunctionName.PartnershipPartnerCreate]: GCloudRegions.EuropeWest6,
@@ -6,6 +6,7 @@ export declare enum CollectionNames {
6
6
  Notification = "notification",
7
7
  User = "user",
8
8
  UserGroups = "groups",
9
+ UserPartnerships = "partnerships",
9
10
  UserNotifications = "notifications",
10
11
  UserOfferAlarms = "offerAlarms",
11
12
  Counters = "database",
@@ -10,6 +10,7 @@ var CollectionNames;
10
10
  CollectionNames["Notification"] = "notification";
11
11
  CollectionNames["User"] = "user";
12
12
  CollectionNames["UserGroups"] = "groups";
13
+ CollectionNames["UserPartnerships"] = "partnerships";
13
14
  CollectionNames["UserNotifications"] = "notifications";
14
15
  CollectionNames["UserOfferAlarms"] = "offerAlarms";
15
16
  CollectionNames["Counters"] = "database";
@@ -28,6 +28,7 @@ export declare enum HttpsErrorMessages {
28
28
  InvalidOffer = "error.offer.noValid",
29
29
  InvalidPartnership = "error.partnership.noValid",
30
30
  InvalidAdminPartnership = "error.partnership.noAdmin",
31
+ InvalidPartnershipLastAdmin = "error.partnership.lastAdmin",
31
32
  PartnershipSepaCreditorInfoMissing = "error.partnership.sepaCreditorInfoMissing",
32
33
  InvalidPartnershipPartner = "error.partnershipPartner.noValid",
33
34
  PartnershipPartnerNotSelf = "error.partnershipPartner.notSelf",
package/helpers/errors.js CHANGED
@@ -29,6 +29,7 @@ var HttpsErrorMessages;
29
29
  HttpsErrorMessages["InvalidOffer"] = "error.offer.noValid";
30
30
  HttpsErrorMessages["InvalidPartnership"] = "error.partnership.noValid";
31
31
  HttpsErrorMessages["InvalidAdminPartnership"] = "error.partnership.noAdmin";
32
+ HttpsErrorMessages["InvalidPartnershipLastAdmin"] = "error.partnership.lastAdmin";
32
33
  HttpsErrorMessages["PartnershipSepaCreditorInfoMissing"] = "error.partnership.sepaCreditorInfoMissing";
33
34
  HttpsErrorMessages["InvalidPartnershipPartner"] = "error.partnershipPartner.noValid";
34
35
  HttpsErrorMessages["PartnershipPartnerNotSelf"] = "error.partnershipPartner.notSelf";
@@ -9,6 +9,20 @@ export interface AdminItem {
9
9
  photoURL: string | null;
10
10
  status: AdminItemStatus;
11
11
  }
12
+ export interface BoardMemberItem {
13
+ partnerId: string;
14
+ role: string;
15
+ name: string;
16
+ photoURL: string;
17
+ }
18
+ export interface BoardDocumentItem {
19
+ id: string;
20
+ name: string;
21
+ url: string;
22
+ type: string;
23
+ size: number;
24
+ uploadedAt: number;
25
+ }
12
26
  export declare enum CreatedOn {
13
27
  Auth = "auth",
14
28
  Web = "web",
@@ -21,5 +21,6 @@ export default class PartnershipPayment extends ModelWithLang<PartnershipPayment
21
21
  get createdBy(): string | null;
22
22
  get editedAt(): FirebaseFirestore.Timestamp | null;
23
23
  get editedBy(): string | null;
24
+ get receiptFilePath(): string | null;
24
25
  get isActive(): boolean;
25
26
  }
@@ -67,6 +67,9 @@ class PartnershipPayment extends lang_1.default {
67
67
  get editedBy() {
68
68
  return this.data.editedBy || null;
69
69
  }
70
+ get receiptFilePath() {
71
+ return this.data.receiptFilePath || null;
72
+ }
70
73
  get isActive() {
71
74
  return this.exists;
72
75
  }
@@ -28,4 +28,5 @@ export interface PartnershipPaymentData {
28
28
  createdBy: string | null;
29
29
  editedAt: Timestamp | null;
30
30
  editedBy: string | null;
31
+ receiptFilePath: string | null;
31
32
  }
@@ -3,6 +3,7 @@ import { PartnershipBasicData } from './types';
3
3
  export default class PartnershipBasic<D> extends Model<D & PartnershipBasicData> {
4
4
  get basicInfo(): PartnershipBasicData;
5
5
  get displayName(): string;
6
+ get username(): string;
6
7
  get photoURL(): string;
7
8
  get email(): string;
8
9
  get website(): string | null;
@@ -18,11 +18,15 @@ class PartnershipBasic extends Model_1.default {
18
18
  partnerCount: this.partnerCount,
19
19
  memberCount: this.memberCount,
20
20
  website: this.website,
21
+ username: this.username,
21
22
  };
22
23
  }
23
24
  get displayName() {
24
25
  return this.data.displayName;
25
26
  }
27
+ get username() {
28
+ return this.data.username || '';
29
+ }
26
30
  get photoURL() {
27
31
  return this.data.photoURL;
28
32
  }
@@ -20,6 +20,10 @@ export default class Partnership extends PartnershipBasic<PartnershipData> {
20
20
  get deletedBy(): string | null;
21
21
  get isDeleted(): boolean;
22
22
  get isActive(): boolean;
23
+ get boardRoles(): string[];
24
+ get boardMembers(): import("../../helpers/types").BoardMemberItem[];
25
+ get boardDocuments(): import("../../helpers/types").BoardDocumentItem[];
26
+ get language(): import("../../lang").LanguagesTypes;
23
27
  get customFields(): Record<string, import("../Group/types").GroupCustomField>;
24
28
  get customFieldsList(): APartnershipCustomField[];
25
29
  }
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const collections_1 = require("../../helpers/collections");
7
7
  const glissandooAdmin_1 = require("../../helpers/glissandooAdmin");
8
+ const lang_1 = require("../../lang");
8
9
  const basic_1 = __importDefault(require("./basic"));
9
10
  class Partnership extends basic_1.default {
10
11
  get description() {
@@ -61,6 +62,18 @@ class Partnership extends basic_1.default {
61
62
  get isActive() {
62
63
  return this.exists && !this.deletedAt;
63
64
  }
65
+ get boardRoles() {
66
+ return this.data.boardRoles || [];
67
+ }
68
+ get boardMembers() {
69
+ return this.data.boardMembers || [];
70
+ }
71
+ get boardDocuments() {
72
+ return this.data.boardDocuments || [];
73
+ }
74
+ get language() {
75
+ return this.data.language || lang_1.defaultLocale;
76
+ }
64
77
  get customFields() {
65
78
  return this.data.customFields || {};
66
79
  }
@@ -1,10 +1,12 @@
1
1
  import { DocumentReference, Timestamp } from '@google-cloud/firestore';
2
- import { AdminItem, BasicAddressData } from '../../helpers/types';
2
+ import { AdminItem, BasicAddressData, BoardDocumentItem, BoardMemberItem } from '../../helpers/types';
3
+ import { LanguagesTypes } from '../../lang';
3
4
  import { AGroupCustomField, GroupCustomField } from '../Group/types';
4
5
  export type PartnershipCustomField = GroupCustomField;
5
6
  export type APartnershipCustomField = AGroupCustomField;
6
7
  export declare enum PartnershipRoles {
7
- Admin = "admin"
8
+ Admin = "admin",
9
+ Partner = "partner"
8
10
  }
9
11
  export interface PartnershipAlgoliaData extends Pick<PartnershipData, 'displayName' | 'photoURL' | 'partnerCount'> {
10
12
  createdAt: number;
@@ -13,6 +15,8 @@ export interface PartnershipSepaCreditorInfo {
13
15
  creditorId: string;
14
16
  iban: string;
15
17
  swiftbic: string;
18
+ accountName?: string;
19
+ cif?: string;
16
20
  }
17
21
  export interface PartnershipTransferInfo {
18
22
  iban: string;
@@ -34,6 +38,7 @@ export interface PartnershipBasicData {
34
38
  partnerCount: number;
35
39
  memberCount: number;
36
40
  website: string | null;
41
+ username: string;
37
42
  }
38
43
  export interface PartnershipData extends PartnershipBasicData {
39
44
  sepaCreditorInfo: PartnershipSepaCreditorInfo | null;
@@ -43,6 +48,10 @@ export interface PartnershipData extends PartnershipBasicData {
43
48
  administratorsList: AdminItem[];
44
49
  federationIds: string[];
45
50
  customFields: Record<string, PartnershipCustomField>;
51
+ boardRoles: string[];
52
+ boardMembers: BoardMemberItem[];
53
+ boardDocuments: BoardDocumentItem[];
54
+ language: LanguagesTypes;
46
55
  createdAt: Timestamp;
47
56
  createdBy: DocumentReference;
48
57
  editedAt: Timestamp | null;
@@ -4,4 +4,5 @@ exports.PartnershipRoles = void 0;
4
4
  var PartnershipRoles;
5
5
  (function (PartnershipRoles) {
6
6
  PartnershipRoles["Admin"] = "admin";
7
+ PartnershipRoles["Partner"] = "partner";
7
8
  })(PartnershipRoles = exports.PartnershipRoles || (exports.PartnershipRoles = {}));
@@ -0,0 +1,9 @@
1
+ import { DocumentModel } from '../../Model';
2
+ import PartnershipBasic from '../../Partnership/basic';
3
+ import { PartnershipRoles } from '../../Partnership/types';
4
+ import { UserPartnershipData } from './types';
5
+ export default class UserPartnership extends PartnershipBasic<UserPartnershipData> {
6
+ constructor(doc: DocumentModel);
7
+ get role(): PartnershipRoles;
8
+ get isAdmin(): boolean;
9
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const basic_1 = __importDefault(require("../../Partnership/basic"));
7
+ const types_1 = require("../../Partnership/types");
8
+ class UserPartnership extends basic_1.default {
9
+ constructor(doc) {
10
+ super(doc);
11
+ }
12
+ get role() {
13
+ return this.data.role;
14
+ }
15
+ get isAdmin() {
16
+ return this.data.role === types_1.PartnershipRoles.Admin;
17
+ }
18
+ }
19
+ exports.default = UserPartnership;
@@ -0,0 +1,4 @@
1
+ import { PartnershipBasicData, PartnershipRoles } from '../../Partnership/types';
2
+ export interface UserPartnershipData extends PartnershipBasicData {
3
+ role: PartnershipRoles;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.108.11",
3
+ "version": "1.108.13",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",