Skip to content

Commit

Permalink
Merge pull request #23 from datocms/c4/feature/allow-2fa-reset
Browse files Browse the repository at this point in the history
Add account/request-tfa-reset to schema
  • Loading branch information
souljuse committed Apr 22, 2024
2 parents ad11f15 + ce063b8 commit 2d71151
Show file tree
Hide file tree
Showing 6 changed files with 416 additions and 0 deletions.
73 changes: 73 additions & 0 deletions packages/dashboard-client/resources.json
Original file line number Diff line number Diff line change
Expand Up @@ -1717,5 +1717,78 @@
],
"namespace": "organizationMandates",
"resourceClassName": "OrganizationMandate"
},
{
"jsonApiType": "tfa_deactivate_request",
"endpoints": [
{
"returnsCollection": false,
"rel": "create",
"urlTemplate": "/tfa-deactivate-requests",
"method": "POST",
"comment": "Request the belonging organization to deactivate two-factor authentication",
"requestBodyType": "TfaDeactivateRequestCreateSchema",
"optionalRequestBody": false,
"requestStructure": {
"type": "tfa_deactivate_request",
"attributes": ["email", "password"],
"relationships": []
},
"queryParamsRequired": false,
"responseType": "TfaDeactivateRequestCreateTargetSchema",
"deprecated": "This API call is to be considered private and might change without notice",
"name": "create",
"rawName": "rawCreate"
},
{
"returnsCollection": true,
"rel": "instances",
"urlTemplate": "/tfa-deactivate-requests",
"method": "GET",
"comment": "List all two-factor authentication deactivate requests",
"optionalRequestBody": false,
"queryParamsRequired": false,
"responseType": "TfaDeactivateRequestInstancesTargetSchema",
"deprecated": "This API call is to be considered private and might change without notice",
"name": "list",
"rawName": "rawList"
},
{
"returnsCollection": false,
"rel": "approve",
"urlTemplate": "/tfa-deactivate-requests/${tfaDeactivateRequestId}/approve",
"method": "PUT",
"comment": "Approve a two-factor authentication deactivate request",
"urlPlaceholder": {
"variableName": "tfaDeactivateRequestId",
"isEntityId": true,
"relType": "TfaDeactivateRequestData"
},
"optionalRequestBody": false,
"queryParamsRequired": false,
"deprecated": "This API call is to be considered private and might change without notice",
"name": "approve",
"rawName": "rawApprove"
},
{
"returnsCollection": false,
"rel": "reject",
"urlTemplate": "/tfa-deactivate-requests/${tfaDeactivateRequestId}/reject",
"method": "PUT",
"comment": "Reject a two-factor authentication deactivate request",
"urlPlaceholder": {
"variableName": "tfaDeactivateRequestId",
"isEntityId": true,
"relType": "TfaDeactivateRequestData"
},
"optionalRequestBody": false,
"queryParamsRequired": false,
"deprecated": "This API call is to be considered private and might change without notice",
"name": "reject",
"rawName": "rawReject"
}
],
"namespace": "tfaDeactivateRequests",
"resourceClassName": "TfaDeactivateRequest"
}
]
2 changes: 2 additions & 0 deletions packages/dashboard-client/src/generated/Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ export class Client {
organizationMemberships: Resources.OrganizationMembership;
organizationMandateRequests: Resources.OrganizationMandateRequest;
organizationMandates: Resources.OrganizationMandate;
tfaDeactivateRequests: Resources.TfaDeactivateRequest;

config: ClientConfigOptions;
jobResultsFetcher?: (jobId: string) => Promise<JobResult>;
Expand Down Expand Up @@ -99,6 +100,7 @@ export class Client {
this,
);
this.organizationMandates = new Resources.OrganizationMandate(this);
this.tfaDeactivateRequests = new Resources.TfaDeactivateRequest(this);
}

get baseUrl() {
Expand Down
110 changes: 110 additions & 0 deletions packages/dashboard-client/src/generated/SchemaTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,21 @@ export type OrganizationMandateGivenInstancesHrefSchema = {
include?: string;
[k: string]: unknown;
};
/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "type".
*/
export type TfaDeactivateRequestType = 'tfa_deactivate_request';
/**
* ID of 2FA deactivate request
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "identity".
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "id".
*/
export type TfaDeactivateRequestIdentity = string;

export type DatoApi = {
session?: Session;
Expand Down Expand Up @@ -618,6 +633,7 @@ export type DatoApi = {
organization_membership?: OrganizationMembership;
organization_mandate_request?: OrganizationMandateRequest;
organization_mandate?: OrganizationMandate;
tfa_deactivate_request?: TfaDeactivateRequest;
[k: string]: unknown;
};

Expand Down Expand Up @@ -4265,3 +4281,97 @@ export type OrganizationMandateGivenInstancesTargetSchema = {
export type OrganizationMandateDestroyTargetSchema = {
data: OrganizationMandate;
};

/**
* Accounts that belong to a single organization can ask owners to deactivate their two-factor authentication
*
* This interface was referenced by `DatoApi`'s JSON-Schema
* via the `definition` "tfa_deactivate_request".
*/
export type TfaDeactivateRequest = {
type: TfaDeactivateRequestType;
id: TfaDeactivateRequestIdentity;
relationships: TfaDeactivateRequestRelationships;
meta: TfaDeactivateRequestMeta;
};

/**
* JSON API links
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "relationships".
*/
export type TfaDeactivateRequestRelationships = {
/**
* Organization approving the 2FA deactivate request
*/
organization: {
data: OrganizationData;
};
/**
* Account making the 2FA deactivate request
*/
account: {
data: AccountData;
};
};

/**
* JSON API meta
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "meta".
*/
export type TfaDeactivateRequestMeta = {
/**
* Email
*/
email: string;
};

/**
* JSON API data
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "data".
*/
export type TfaDeactivateRequestData = {
type: TfaDeactivateRequestType;
id: TfaDeactivateRequestIdentity;
};

/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `create.schema` link.
*/
export type TfaDeactivateRequestCreateSchema = {
data: {
type: 'tfa_deactivate_request';
attributes: {
/**
* Email
*/
email: string;
/**
* Current password
*/
password: string;
};
};
};

/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `create.targetSchema` link.
*/
export type TfaDeactivateRequestCreateTargetSchema = {
data: TfaDeactivateRequest;
};

/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `instances.targetSchema` link.
*/
export type TfaDeactivateRequestInstancesTargetSchema = {
data: TfaDeactivateRequest[];
};
86 changes: 86 additions & 0 deletions packages/dashboard-client/src/generated/SimpleSchemaTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -767,6 +767,26 @@ export type OrganizationMandateGivenInstancesHrefSchema = {
include?: string;
[k: string]: unknown;
};
/**
* ID of 2FA deactivate request
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "identity".
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "id".
*/
export type TfaDeactivateRequestIdentity = string;
/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "type".
*/
export type TfaDeactivateRequestType = 'tfa_deactivate_request';
/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `instances.targetSchema` link.
*/
export type TfaDeactivateRequestInstancesTargetSchema = TfaDeactivateRequest[];

export type DatoApi = {
session?: Session;
Expand Down Expand Up @@ -797,6 +817,7 @@ export type DatoApi = {
organization_membership?: OrganizationMembership;
organization_mandate_request?: OrganizationMandateRequest;
organization_mandate?: OrganizationMandate;
tfa_deactivate_request?: TfaDeactivateRequest;
[k: string]: unknown;
};

Expand Down Expand Up @@ -4031,3 +4052,68 @@ export type OrganizationMandateUpdateSchema = {
type?: OrganizationMandateType;
additional_enabled_plans?: PerOwnerPricingPlanData[];
};

/**
* Accounts that belong to a single organization can ask owners to deactivate their two-factor authentication
*
* This interface was referenced by `DatoApi`'s JSON-Schema
* via the `definition` "tfa_deactivate_request".
*/
export type TfaDeactivateRequest = {
id: TfaDeactivateRequestIdentity;
type: TfaDeactivateRequestType;
organization: OrganizationData;
account: AccountData;
meta: TfaDeactivateRequestMeta;
};
export type TfaDeactivateRequestCreateTargetSchema = TfaDeactivateRequest;
/**
* JSON API meta
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "meta".
*/
export type TfaDeactivateRequestMeta = {
/**
* Email
*/
email: string;
};

/**
* JSON API data
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "data".
*/
export type TfaDeactivateRequestData = {
type: TfaDeactivateRequestType;
id: TfaDeactivateRequestIdentity;
};

/**
* JSON API links
*
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `definition` "relationships".
*/
export type TfaDeactivateRequestRelationships = {
organization: OrganizationData;
account: AccountData;
};

/**
* This interface was referenced by `TfaDeactivateRequest`'s JSON-Schema
* via the `create.schema` link.
*/
export type TfaDeactivateRequestCreateSchema = {
type?: 'tfa_deactivate_request';
/**
* Email
*/
email: string;
/**
* Current password
*/
password: string;
};
Loading

0 comments on commit 2d71151

Please sign in to comment.