summaryrefslogtreecommitdiffstats
path: root/src/models
diff options
context:
space:
mode:
authorRichard Steinmetz <richard@steinmetz.cloud>2023-08-21 10:08:10 +0200
committerRichard Steinmetz <richard@steinmetz.cloud>2023-08-21 10:22:13 +0200
commit2bfec2eb9708f25af5839923b03e85d0e8757347 (patch)
tree0be377cf94f48de4110455935a1107fea1f9bd7f /src/models
parent07a06fb40103718e22891d2c6535dad2dda61b0c (diff)
chore(eslint): fix all linter issues
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Diffstat (limited to 'src/models')
-rw-r--r--src/models/circle.d.ts289
-rw-r--r--src/models/circle.ts10
-rw-r--r--src/models/constants.d.ts39
-rw-r--r--src/models/constants.ts35
-rw-r--r--src/models/contact.js2
-rw-r--r--src/models/member.d.ts134
-rw-r--r--src/models/member.ts23
7 files changed, 275 insertions, 257 deletions
diff --git a/src/models/circle.d.ts b/src/models/circle.d.ts
index d5f8248e..326d2a50 100644
--- a/src/models/circle.d.ts
+++ b/src/models/circle.d.ts
@@ -19,154 +19,157 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-import Member from './member';
+import Member from './member'
type MemberList = Record<string, Member>;
export default class Circle {
- _data: any;
- _members: MemberList;
- _owner: Member;
- _initiator: Member;
- /**
- * Creates an instance of Circle
- */
- constructor(data: Object);
- /**
- * Update inner circle data, owner and initiator
- */
- updateData(data: any): void;
- /**
- * Circle id
- */
- get id(): string;
- /**
- * Formatted display name
- */
- get displayName(): string;
- /**
- * Set the display name
- */
- set displayName(text: string);
- /**
- * Circle creation date
- */
- get creation(): number;
- /**
- * Circle description
- */
- get description(): string;
- /**
- * Circle description
- */
- set description(text: string);
- /**
- * Circle member count
- */
- get population(): any;
- /**
- * Circle ini_initiator the current
- * user info for this circle
- * null if not a member
- */
- get initiator(): Member | null;
- /**
- * Set new circle initiator
- * null if not a member
- */
- set initiator(initiator: Member | null);
- /**
- * Circle ownership
- */
- get owner(): Member;
- /**
- * Set new circle owner
- */
- set owner(owner: Member);
- /**
- * Circle members
- */
- get members(): MemberList;
- /**
- * Define members circle
- */
- set members(members: MemberList);
- /**
- * Add a member to this circle
- */
- addMember(member: Member): void;
- /**
- * Remove a member from this circle
- */
- deleteMember(member: Member): void;
- get settings(): any;
- /**
- * Circle config
- */
- get config(): number;
- /**
- * Define circle config
- */
- set config(config: number);
- /**
- * Circle is personal
- */
- get isPersonal(): boolean;
- /**
- * Circle requires invite to be confirmed by moderator or above
- */
- get requireJoinAccept(): boolean;
- /**
- * Circle can be requested to join
- */
- get canJoin(): boolean;
- /**
- * Circle is visible to others
- */
- get isVisible(): boolean;
- /**
- * Circle requires invite to be accepted by the member
- */
- get requireInviteAccept(): boolean;
- /**
- * Can the initiator add members to this circle?
- */
- get isOwner(): boolean;
- /**
- * Is the initiator an admin of this circle?
- */
- get isAdmin(): boolean;
- /**
- * Is the initiator a member of this circle?
- */
- get isMember(): boolean | 0 | undefined;
- /**
- * Is the initiator a pending member of this circle?
- */
- get isPendingMember(): boolean;
- /**
- * Can the initiator delete this circle?
- */
- get canDelete(): boolean;
- /**
- * Can the initiator leave this circle?
- */
- get canLeave(): boolean | 0 | undefined;
- /**
- * Can the initiator add/remove members to this circle?
- */
- get canManageMembers(): boolean;
- /**
- * Vue router param
- */
- get router(): {
+
+ _data: any
+ _members: MemberList
+ _owner: Member
+ _initiator: Member
+ /**
+ * Creates an instance of Circle
+ */
+ constructor(data: object);
+ /**
+ * Update inner circle data, owner and initiator
+ */
+ updateData(data: any): void;
+ /**
+ * Circle id
+ */
+ get id(): string;
+ /**
+ * Formatted display name
+ */
+ get displayName(): string;
+ /**
+ * Set the display name
+ */
+ set displayName(text: string);
+ /**
+ * Circle creation date
+ */
+ get creation(): number;
+ /**
+ * Circle description
+ */
+ get description(): string;
+ /**
+ * Circle description
+ */
+ set description(text: string);
+ /**
+ * Circle member count
+ */
+ get population(): any;
+ /**
+ * Circle ini_initiator the current
+ * user info for this circle
+ * null if not a member
+ */
+ get initiator(): Member | null;
+ /**
+ * Set new circle initiator
+ * null if not a member
+ */
+ set initiator(initiator: Member | null);
+ /**
+ * Circle ownership
+ */
+ get owner(): Member;
+ /**
+ * Set new circle owner
+ */
+ set owner(owner: Member);
+ /**
+ * Circle members
+ */
+ get members(): MemberList;
+ /**
+ * Define members circle
+ */
+ set members(members: MemberList);
+ /**
+ * Add a member to this circle
+ */
+ addMember(member: Member): void;
+ /**
+ * Remove a member from this circle
+ */
+ deleteMember(member: Member): void;
+ get settings(): any;
+ /**
+ * Circle config
+ */
+ get config(): number;
+ /**
+ * Define circle config
+ */
+ set config(config: number);
+ /**
+ * Circle is personal
+ */
+ get isPersonal(): boolean;
+ /**
+ * Circle requires invite to be confirmed by moderator or above
+ */
+ get requireJoinAccept(): boolean;
+ /**
+ * Circle can be requested to join
+ */
+ get canJoin(): boolean;
+ /**
+ * Circle is visible to others
+ */
+ get isVisible(): boolean;
+ /**
+ * Circle requires invite to be accepted by the member
+ */
+ get requireInviteAccept(): boolean;
+ /**
+ * Can the initiator add members to this circle?
+ */
+ get isOwner(): boolean;
+ /**
+ * Is the initiator an admin of this circle?
+ */
+ get isAdmin(): boolean;
+ /**
+ * Is the initiator a member of this circle?
+ */
+ get isMember(): boolean | 0 | undefined;
+ /**
+ * Is the initiator a pending member of this circle?
+ */
+ get isPendingMember(): boolean;
+ /**
+ * Can the initiator delete this circle?
+ */
+ get canDelete(): boolean;
+ /**
+ * Can the initiator leave this circle?
+ */
+ get canLeave(): boolean | 0 | undefined;
+ /**
+ * Can the initiator add/remove members to this circle?
+ */
+ get canManageMembers(): boolean;
+ /**
+ * Vue router param
+ */
+ get router(): {
name: string;
params: {
selectedCircle: string;
};
};
- /**
- * Default javascript fallback
- * Used for sorting as well
- */
- toString(): string;
+
+ /**
+ * Default javascript fallback
+ * Used for sorting as well
+ */
+ toString(): string;
+
}
-export {};
+export {}
diff --git a/src/models/circle.ts b/src/models/circle.ts
index 4b71f960..97c9465b 100644
--- a/src/models/circle.ts
+++ b/src/models/circle.ts
@@ -36,13 +36,17 @@ export default class Circle {
/**
* Creates an instance of Circle
+ *
+ * @param data
*/
- constructor(data: Object) {
+ constructor(data: object) {
this.updateData(data)
}
/**
* Update inner circle data, owner and initiator
+ *
+ * @param data
*/
updateData(data: any) {
if (typeof data !== 'object') {
@@ -166,6 +170,8 @@ export default class Circle {
/**
* Add a member to this circle
+ *
+ * @param member
*/
addMember(member: Member) {
if (member.constructor.name !== Member.name) {
@@ -181,6 +187,8 @@ export default class Circle {
/**
* Remove a member from this circle
+ *
+ * @param member
*/
deleteMember(member: Member) {
if (member.constructor.name !== Member.name) {
diff --git a/src/models/constants.d.ts b/src/models/constants.d.ts
index 5fc1c9c5..8d28b2da 100644
--- a/src/models/constants.d.ts
+++ b/src/models/constants.d.ts
@@ -19,40 +19,41 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-import { Type } from '@nextcloud/sharing';
+import { Type } from '@nextcloud/sharing'
export type DefaultGroup = string;
export type DefaultChart = string;
export type CircleConfig = number;
export type MemberLevel = number;
export type MemberType = number;
-export declare const LIST_SIZE = 60;
-export declare const GROUP_ALL_CONTACTS: DefaultGroup;
-export declare const GROUP_NO_GROUP_CONTACTS: DefaultGroup;
-export declare const GROUP_RECENTLY_CONTACTED: DefaultGroup;
-export declare const CHART_ALL_CONTACTS: DefaultChart;
-export declare const ROUTE_CIRCLE = "circle";
-export declare const ROUTE_CHART = "chart";
-export declare const CONTACTS_SETTINGS: DefaultGroup;
-export declare const ELLIPSIS_COUNT = 5;
-export declare const CIRCLE_DESC: string;
+export declare const LIST_SIZE = 60
+export declare const GROUP_ALL_CONTACTS: DefaultGroup
+export declare const GROUP_NO_GROUP_CONTACTS: DefaultGroup
+export declare const GROUP_RECENTLY_CONTACTED: DefaultGroup
+export declare const CHART_ALL_CONTACTS: DefaultChart
+export declare const ROUTE_CIRCLE = 'circle'
+export declare const ROUTE_CHART = 'chart'
+export declare const CONTACTS_SETTINGS: DefaultGroup
+export declare const ELLIPSIS_COUNT = 5
+export declare const CIRCLE_DESC: string
export declare const CIRCLES_MEMBER_TYPES: {
[x: number]: string;
-};
+}
export declare const CIRCLES_MEMBER_LEVELS: {
[x: number]: string;
-};
+}
export declare const PUBLIC_CIRCLE_CONFIG: {
[x: string]: {
[x: number]: string;
};
-};
+}
export declare const CIRCLES_MEMBER_GROUPING: {
id: string;
label: string;
share: Type;
type: number;
-}[];
-export declare const SHARES_TYPES_MEMBER_MAP: {};
+}[]
+// eslint-disable-next-line @typescript-eslint/ban-types
+export declare const SHARES_TYPES_MEMBER_MAP: {}
export declare enum MemberLevels {
NONE,
MEMBER,
@@ -85,7 +86,7 @@ export declare enum CircleConfigs {
FEDERATED
}
export declare enum MemberStatus {
- INVITED = "Invited",
- MEMBER = "Member",
- REQUESTING = "Requesting"
+ INVITED = 'Invited',
+ MEMBER = 'Member',
+ REQUESTING = 'Requesting'
}
diff --git a/src/models/constants.ts b/src/models/constants.ts
index 56fc8db0..2b621976 100644
--- a/src/models/constants.ts
+++ b/src/models/constants.ts
@@ -45,7 +45,7 @@ export const CHART_ALL_CONTACTS: DefaultChart = t('contacts', 'Organization char
export const ROUTE_CIRCLE = 'circle'
export const ROUTE_CHART = 'chart'
-//Contact settings
+// Contact settings
export const CONTACTS_SETTINGS: DefaultGroup = t('contacts', 'Contacts settings')
// Default max number of items to show in the navigation
@@ -61,7 +61,7 @@ const MEMBER_LEVEL_OWNER: MemberLevel = 9
// Circles member types
const MEMBER_TYPE_SINGLEID: MemberType = 0
const MEMBER_TYPE_USER: MemberType = 1
-const MEMBER_TYPE_GROUP : MemberType= 2
+const MEMBER_TYPE_GROUP : MemberType = 2
const MEMBER_TYPE_MAIL: MemberType = 4
const MEMBER_TYPE_CONTACT: MemberType = 8
const MEMBER_TYPE_CIRCLE: MemberType = 16
@@ -69,6 +69,7 @@ const MEMBER_TYPE_CIRCLE: MemberType = 16
export const CIRCLE_DESC = t('contacts', 'Circles are groups of people that you can create yourself and with whom you can share data. They can be made up of other accounts or groups of accounts of the Nextcloud instance, but also of contacts from your address book or even external people by simply entering their e-mail addresses.')
// Circles config flags
+/* eslint-disable no-tabs */
const CIRCLE_CONFIG_PERSONAL: CircleConfig = 2 // Personal circle, only the owner can see it.
const CIRCLE_CONFIG_SYSTEM: CircleConfig = 4 // System Circle (not managed by the official front-end). Meaning some config are limited
const CIRCLE_CONFIG_VISIBLE: CircleConfig = 8 // Visible to everyone, if not visible, people have to know its name to be able to find it
@@ -84,6 +85,7 @@ const CIRCLE_CONFIG_LOCAL: CircleConfig = 4096 // Circle is not shared to oth
const CIRCLE_CONFIG_ROOT: CircleConfig = 8192 // Circle cannot be a member of another Circle
const CIRCLE_CONFIG_CIRCLE_INVITE: CircleConfig = 16384 // Circle must confirm when invited in another circle
const CIRCLE_CONFIG_FEDERATED: CircleConfig = 32768 // Federated
+/* eslint-enable no-tabs */
// Existing members types
export const CIRCLES_MEMBER_TYPES = {
@@ -125,7 +127,6 @@ export const PUBLIC_CIRCLE_CONFIG = {
},
}
-
// Represents the picker options but also the
// sorting of the members list
export const CIRCLES_MEMBER_GROUPING = [
@@ -133,45 +134,45 @@ export const CIRCLES_MEMBER_GROUPING = [
id: `picker-${Type.SHARE_TYPE_USER}`,
label: t('contacts', 'Users'),
share: Type.SHARE_TYPE_USER,
- type: MEMBER_TYPE_USER
+ type: MEMBER_TYPE_USER,
},
{
id: `picker-${Type.SHARE_TYPE_GROUP}`,
label: t('contacts', 'Contact groups'),
share: Type.SHARE_TYPE_GROUP,
- type: MEMBER_TYPE_GROUP
+ type: MEMBER_TYPE_GROUP,
},
// TODO: implement federated
// {
- // id: `picker-${Type.SHARE_TYPE_REMOTE}`,
- // label: t('contacts', 'Federated users'),
- // share: Type.SHARE_TYPE_REMOTE,
- // type: MEMBER_TYPE_USER
+ // id: `picker-${Type.SHARE_TYPE_REMOTE}`,
+ // label: t('contacts', 'Federated users'),
+ // share: Type.SHARE_TYPE_REMOTE,
+ // type: MEMBER_TYPE_USER
// },
// {
- // id: `picker-${Type.SHARE_TYPE_REMOTE_GROUP}`,
- // label: t('contacts', 'Federated groups'),
- // share: Type.SHARE_TYPE_REMOTE_GROUP,
- // type: MEMBER_TYPE_GROUP
+ // id: `picker-${Type.SHARE_TYPE_REMOTE_GROUP}`,
+ // label: t('contacts', 'Federated groups'),
+ // share: Type.SHARE_TYPE_REMOTE_GROUP,
+ // type: MEMBER_TYPE_GROUP
// },
{
id: `picker-${Type.SHARE_TYPE_CIRCLE}`,
label: t('contacts', 'Circles'),
share: Type.SHARE_TYPE_CIRCLE,
- type: MEMBER_TYPE_CIRCLE
+ type: MEMBER_TYPE_CIRCLE,
},
{
id: `picker-${Type.SHARE_TYPE_EMAIL}`,
label: t('contacts', 'Email addresses'),
share: Type.SHARE_TYPE_EMAIL,
- type: MEMBER_TYPE_MAIL
+ type: MEMBER_TYPE_MAIL,
},
// TODO: implement SHARE_TYPE_CONTACT
{
- id: `picker-contact`,
+ id: 'picker-contact',
label: t('contacts', 'Contacts'),
share: Type.SHARE_TYPE_EMAIL,
- type: MEMBER_TYPE_CONTACT
+ type: MEMBER_TYPE_CONTACT,
},
]
diff --git a/src/models/contact.js b/src/models/contact.js
index 6e04f103..69fa61ec 100644
--- a/src/models/contact.js
+++ b/src/models/contact.js
@@ -325,7 +325,7 @@ export default class Contact {
.map(s => s.toLowerCase())
.map(s => this.vCard.getFirstPropertyValue(s))
.flat()
- .filter(k => k)
+ .filter(k => k),
)
}
diff --git a/src/models/member.d.ts b/src/models/member.d.ts
index 988bb0d9..a49ee186 100644
--- a/src/models/member.d.ts
+++ b/src/models/member.d.ts
@@ -19,71 +19,73 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-import { MemberLevel, MemberType } from './constants';
-import Circle from './circle';
+import { MemberLevel, MemberType } from './constants'
+import Circle from './circle'
export default class Member {
- _data: any;
- _circle: Circle;
- /**
- * Creates an instance of Member
- */
- constructor(data: any, circle: Circle);
- /**
- * Get the circle of this member
- */
- get circle(): Circle;
- /**
- * Set the circle of this member
- */
- set circle(circle: Circle);
- /**
- * Member id
- */
- get id(): string;
- /**
- * Single uid
- */
- get singleId(): string;
- /**
- * Formatted display name
- */
- get displayName(): string;
- /**
- * Member userId
- */
- get userId(): string;
- /**
- * Member type
- */
- get userType(): MemberType;
- /**
- * Member based on source
- */
- get basedOn(): any;
- /**
- * Member level
- *
- */
- get level(): MemberLevel;
- /**
- * Member request status
- *
- */
- get status(): string;
- /**
- * Set member level
- */
- set level(level: MemberLevel);
- /**
- * Is the current member a user?
- */
- get isUser(): boolean;
- /**
- * Is the current member without a circle?
- */
- get isOrphan(): boolean;
- /**
- * Delete this member and any reference from its circle
- */
- delete(): void;
+
+ _data: any
+ _circle: Circle
+ /**
+ * Creates an instance of Member
+ */
+ constructor(data: any, circle: Circle);
+ /**
+ * Get the circle of this member
+ */
+ get circle(): Circle;
+ /**
+ * Set the circle of this member
+ */
+ set circle(circle: Circle);
+ /**
+ * Member id
+ */
+ get id(): string;
+ /**
+ * Single uid
+ */
+ get singleId(): string;
+ /**
+ * Formatted display name
+ */
+ get displayName(): string;
+ /**
+ * Member userId
+ */
+ get userId(): string;
+ /**
+ * Member type
+ */
+ get userType(): MemberType;
+ /**
+ * Member based on source
+ */
+ get basedOn(): any;
+ /**
+ * Member level
+ *
+ */
+ get level(): MemberLevel;
+ /**
+ * Set member level
+ */
+ set level(level: MemberLevel);
+ /**
+ * Member request status
+ *
+ */
+ get status(): string;
+ /**
+ * Is the current member a user?
+ */
+ get isUser(): boolean;
+ /**
+ * Is the current member without a circle?
+ */
+ get isOrphan(): boolean;
+ /**
+ * Delete this member and any reference from its circle
+ */
+ delete(): void;
+
}
diff --git a/src/models/member.ts b/src/models/member.ts
index c217cffd..3713cbcd 100644
--- a/src/models/member.ts
+++ b/src/models/member.ts
@@ -30,6 +30,9 @@ export default class Member {
/**
* Creates an instance of Member
+ *
+ * @param data
+ * @param circle
*/
constructor(data: any, circle: Circle) {
if (typeof data !== 'object') {
@@ -97,8 +100,8 @@ export default class Member {
get userType(): MemberType {
// If the user type is a circle, this could originate from multiple sources
return this._data.userType !== MemberTypes.CIRCLE
- ? this._data.userType
- : this.basedOn.source
+ ? this._data.userType
+ : this.basedOn.source
}
/**
@@ -117,14 +120,6 @@ export default class Member {
}
/**
- * Member request status
- *
- */
- get status(): string {
- return this._data.status
- }
-
- /**
* Set member level
*/
set level(level: MemberLevel) {
@@ -135,6 +130,14 @@ export default class Member {
}
/**
+ * Member request status
+ *
+ */
+ get status(): string {
+ return this._data.status
+ }
+
+ /**
* Is the current member a user?
*/
get isUser() {