Skip to content

Commit

Permalink
fix(hub-common): restructure interfaces for discussions settings
Browse files Browse the repository at this point in the history
affects: @esri/hub-common
  • Loading branch information
velveetachef committed Oct 6, 2023
1 parent 96ec555 commit d17c769
Showing 1 changed file with 41 additions and 39 deletions.
80 changes: 41 additions & 39 deletions packages/common/src/discussions/api/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1022,111 +1022,113 @@ export interface IRemoveChannelActivityParams
}

/**
* representation of a discussion setting record from the service
* representation of a setting record from the service
*
* @export
* @interface IDiscussionSetting
* @interface ISetting
* @extends {IWithAuthor}
* @extends {IWithEditor}
* @extends {IWithTimestamps}
*/
export interface IDiscussionSetting
extends IWithAuthor,
IWithEditor,
IWithTimestamps {
export interface ISetting extends IWithAuthor, IWithEditor, IWithTimestamps {
id: string;
type: DiscussionSettingType;
settings: ISettings;
type: SettingType;
settings: IContentSettings;
}

/**
* @export
* @enum {string}
*/
export enum DiscussionSettingType {
export enum SettingType {
CONTENT = "content",
}

/**
* @export
* @interface ISettings
* @interface IContentSettings
*/
export interface ISettings {
allowedChannelIds: string[] | null;
export interface IContentSettings {
discussions?: IDiscussionsSettings;
}

/**
* @export
* @interface IRemoveDiscussionSettingResponse
* @interface IDiscussionsSettings
*/
export interface IRemoveDiscussionSettingResponse {
export interface IDiscussionsSettings {
allowedChannelIds?: string[] | null;
allowedLocations?: Geometry[] | null;
}

/**
* @export
* @interface IRemoveSettingResponse
*/
export interface IRemoveSettingResponse {
id: string;
success: boolean;
}

/**
* @export
* @interface ICreateDiscussionSetting
* @interface ICreateSetting
*/
export interface ICreateDiscussionSetting {
export interface ICreateSetting {
id: string;
type: DiscussionSettingType;
settings: ISettings;
type: SettingType;
settings: IContentSettings;
}

/**
* @export
* @interface IUpdateDiscussionSetting
* @interface IUpdateSetting
*/
export interface IUpdateDiscussionSetting {
settings: Partial<ISettings>;
export interface IUpdateSetting {
settings: Partial<IContentSettings>;
}

/**
* parameters for creating a discussionSetting
* parameters for creating a setting
*
* @export
* @interface ICreateDiscussionSettingParams
* @interface ICreateSettingParams
* @extends {IDiscussionsRequestOptions}
*/
export interface ICreateDiscussionSettingParams
extends IDiscussionsRequestOptions {
data: ICreateDiscussionSetting;
export interface ICreateSettingParams extends IDiscussionsRequestOptions {
data: ICreateSetting;
}

/**
* parameters for fetching a discussionSetting
* parameters for fetching a setting
*
* @export
* @interface IFetchDiscussionSettingParams
* @interface IFetchSettingParams
* @extends {IDiscussionsRequestOptions}
*/
export interface IFetchDiscussionSettingParams
extends IDiscussionsRequestOptions {
export interface IFetchSettingParams extends IDiscussionsRequestOptions {
id: string;
}

/**
* parameters for updating a discussionSetting
* parameters for updating a setting
*
* @export
* @interface IUpdateDiscussionSettingParams
* @interface IUpdateSettingParams
* @extends {IDiscussionsRequestOptions}
*/
export interface IUpdateDiscussionSettingParams
extends IDiscussionsRequestOptions {
export interface IUpdateSettingParams extends IDiscussionsRequestOptions {
id: string;
data: IUpdateDiscussionSetting;
data: IUpdateSetting;
}

/**
* parameters for removing a discussionSetting
* parameters for removing a setting
*
* @export
* @interface IRemoveDiscussionSettingParams
* @interface IRemoveSettingParams
* @extends {IDiscussionsRequestOptions}
*/
export interface IRemoveDiscussionSettingParams
extends IDiscussionsRequestOptions {
export interface IRemoveSettingParams extends IDiscussionsRequestOptions {
id: string;
}

0 comments on commit d17c769

Please sign in to comment.