You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-09 10:22:46 +03:00
Fix types around Terms (#4674)
This commit is contained in:
committed by
GitHub
parent
c93128ed39
commit
5be104a35c
@@ -65,3 +65,39 @@ export interface IUsageLimit {
|
|||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
admin_contact?: string;
|
admin_contact?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A policy name & url in a specific internationalisation
|
||||||
|
* @see https://spec.matrix.org/v1.13/identity-service-api/#get_matrixidentityv2terms_response-200_internationalised-policy
|
||||||
|
*/
|
||||||
|
export interface InternationalisedPolicy {
|
||||||
|
name: string;
|
||||||
|
url: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A versioned policy with internationalised variants
|
||||||
|
* @see https://spec.matrix.org/v1.13/identity-service-api/#get_matrixidentityv2terms_response-200_policy-object
|
||||||
|
*/
|
||||||
|
export interface Policy {
|
||||||
|
/**
|
||||||
|
* The version for the policy.
|
||||||
|
* There are no requirements on what this might be and could be “alpha”, semantically versioned, or arbitrary.
|
||||||
|
*/
|
||||||
|
version: string;
|
||||||
|
/**
|
||||||
|
* The policy information for the specified language.
|
||||||
|
* @remarks the type has to include a union with string due to limitations in the type system.
|
||||||
|
*/
|
||||||
|
[lang: string]: InternationalisedPolicy | string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Response from the Terms API for Identity servers
|
||||||
|
* @see https://spec.matrix.org/v1.13/identity-service-api/#get_matrixidentityv2terms
|
||||||
|
*/
|
||||||
|
export interface Terms {
|
||||||
|
policies: {
|
||||||
|
[policyName: string]: Policy;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@@ -157,6 +157,7 @@ import {
|
|||||||
IdServerUnbindResult,
|
IdServerUnbindResult,
|
||||||
JoinRule,
|
JoinRule,
|
||||||
Preset,
|
Preset,
|
||||||
|
Terms,
|
||||||
Visibility,
|
Visibility,
|
||||||
} from "./@types/partials.ts";
|
} from "./@types/partials.ts";
|
||||||
import { EventMapper, eventMapperFor, MapperOpts } from "./event-mapper.ts";
|
import { EventMapper, eventMapperFor, MapperOpts } from "./event-mapper.ts";
|
||||||
@@ -10036,8 +10037,7 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
|
|||||||
return this.http.authedRequest(Method.Get, path, params);
|
return this.http.authedRequest(Method.Get, path, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getTerms(serviceType: SERVICE_TYPES, baseUrl: string): Promise<any> {
|
public getTerms(serviceType: SERVICE_TYPES, baseUrl: string): Promise<Terms> {
|
||||||
// TODO: Types
|
|
||||||
const url = this.termsUrlForService(serviceType, baseUrl);
|
const url = this.termsUrlForService(serviceType, baseUrl);
|
||||||
return this.http.requestOtherUrl(Method.Get, url);
|
return this.http.requestOtherUrl(Method.Get, url);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user