Merge pull request #21953 from cjthompson/azure-sb

[azure-sb] Complete rewrite to match stand-alone npm module
This commit is contained in:
Mine Starks 2017-12-11 15:51:22 -08:00 committed by GitHub
commit f21d7975be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 1687 additions and 165 deletions

View File

@ -1,16 +1,82 @@
import { Azure } from 'azure-sb';
import AzureSB = require('azure-sb');
import Models = Azure.ServiceBus.Results.Models;
var nh = new Azure.ServiceBus.NotificationHubService();
nh.send('tag', '<payload></payload>', function (error, result) {});
nh.send('tag', '<payload></payload>', { headers: {} }, function (error, result) {});
function createResultCallback<T>() {
return (err: Error | null, result: T, response: Azure.ServiceBus.Response) => {
};
}
nh.apns.send('tag', { payload: { } }, function (error, result) {});
nh.apns.send(['tag'], { payload: { } }, function (error, result) {});
nh.gcm.send('tag', { }, function (error, result) {});
nh.gcm.send(['tag'], { }, function (error, result) {});
nh.wns.send('tag', '<payload></payload>', 'wns/toast', function (error, result) {});
nh.wns.send(['tag'], '<payload></payload>', 'wns/toast', function (error, result) {});
nh.wns.send('tag', '<payload></payload>', 'wns/toast', { headers: {} }, function (error, result) {});
nh.wns.sendToastText01('tag', '<payload></payload>', function (error, result) {});
nh.wns.sendToastText01(['tag'], '<payload></payload>', function (error, result) {});
nh.wns.sendToastText01('tag', '<payload></payload>', { headers: {} }, function (error, result) {});
function ResponseCallback(err: Error | null, response: Azure.ServiceBus.Response) {
}
const ServiceBus = AzureSB.createServiceBusService('connectionstring');
// Queues
ServiceBus.listQueues('', createResultCallback<Models.Queue[]>());
ServiceBus.createQueue('test', createResultCallback<Models.Queue>());
ServiceBus.createQueueIfNotExists('test', createResultCallback<boolean>());
ServiceBus.getQueue('test', createResultCallback<Models.Queue>());
ServiceBus.deleteQueue('test', ResponseCallback);
// Topics
ServiceBus.listTopics('', createResultCallback<Models.Topic[]>());
ServiceBus.createTopic('test', createResultCallback<Models.Topic>());
ServiceBus.createTopicIfNotExists('test', createResultCallback<boolean>());
ServiceBus.getTopic('test', createResultCallback<Models.Topic>());
ServiceBus.deleteTopic('test', ResponseCallback);
// Subscriptions
ServiceBus.listSubscriptions('test', createResultCallback<Models.Subscription[]>());
ServiceBus.createSubscription('test', 'test', createResultCallback<Models.Subscription>());
ServiceBus.createSubscription('test', 'test', {
DefaultMessageTimeToLive: 'PT10M'
}, createResultCallback<Models.Subscription>());
ServiceBus.getSubscription('test', 'test', createResultCallback<Models.Subscription>());
ServiceBus.deleteSubscription('test', 'test', ResponseCallback);
ServiceBus.listRules('testTopic', 'testSub', createResultCallback<Models.Rule[]>());
ServiceBus.createRule('testTopic', 'testSub', 'testRule', createResultCallback<Models.Rule>());
ServiceBus.getRule('testTopic', 'testSub', 'testRule', createResultCallback<Models.Rule>());
ServiceBus.deleteRule('testTopic', 'testSub', 'testRule', ResponseCallback);
// Messages
ServiceBus.sendQueueMessage('testTopic', 'My data', ResponseCallback);
ServiceBus.sendQueueMessage('testTopic', {
body: '{"data":"MyData"}',
contentType: 'application/json',
brokerProperties: {
CorrelationId: '123'
}
}, ResponseCallback);
ServiceBus.receiveQueueMessage('testQueue', createResultCallback<Azure.ServiceBus.Message>());
ServiceBus.sendTopicMessage('testTopic', 'My data', ResponseCallback);
ServiceBus.sendTopicMessage('testTopic', {
body: '{"data":"MyData"}',
contentType: 'application/json',
brokerProperties: {
CorrelationId: '123'
}
}, ResponseCallback);
ServiceBus.receiveSubscriptionMessage('testTopic', 'testSub', createResultCallback<Azure.ServiceBus.Message>());
ServiceBus.renewLockForMessage('test', ResponseCallback);
ServiceBus.unlockMessage('test', ResponseCallback);
ServiceBus.deleteMessage('test', ResponseCallback);
// NotificationHub
const nh = AzureSB.createNotificationHubService('test');
nh.send('tag', '<payload></payload>', ResponseCallback);
nh.send('tag', '<payload></payload>', { headers: {} }, ResponseCallback);
nh.apns.send('tag', { payload: {} }, ResponseCallback);
nh.apns.send(['tag'], { payload: {} }, ResponseCallback);
nh.gcm.send('tag', {}, ResponseCallback);
nh.gcm.send(['tag'], {}, ResponseCallback);
nh.wns.send('tag', '<payload></payload>', 'wns/toast', ResponseCallback);
nh.wns.send(['tag'], '<payload></payload>', 'wns/toast', ResponseCallback);
nh.wns.send('tag', '<payload></payload>', 'wns/toast', { headers: {} }, ResponseCallback);
nh.wns.sendToastText01('tag', '<payload></payload>', ResponseCallback);
nh.wns.sendToastText01(['tag'], '<payload></payload>', ResponseCallback);
nh.wns.sendToastText01('tag', '<payload></payload>', { headers: {} }, ResponseCallback);

View File

@ -2,172 +2,322 @@
// Project: https://github.com/Azure/azure-sdk-for-node/tree/master/lib/services/serviceBus
// Definitions by: Microsoft Azure <https://github.com/Azure>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.4
declare namespace Azure.ServiceBus {
interface Callback {
(error: any, response: any): void;
export import ServiceBusService = require('./lib/servicebusservice');
export import NotificationHubService = require('./lib/notificationhubservice');
export import WrapService = require('./lib/wrapservice');
export function createServiceBusService(namespaceOrConnectionString?: string,
accessKey?: string,
issuer?: string,
acsNamespace?: string,
host?: string,
authenticationProvider?: object): ServiceBusService;
export function createNotificationHubService(hubName: string,
endpointOrConnectionString?: string,
sharedAccessKeyName?: string,
sharedAccessKeyValue?: string): NotificationHubService;
export function createWrapService(acsHost: string,
issuer?: string,
accessKey?: string): WrapService;
export namespace Azure.ServiceBus {
export type Duration = string;
export type DateString = string;
export interface Dictionary<T> {
[k: string]: T;
}
interface NotificationHubRegistration {
RegistrationId: string;
export interface ReceiveQueueMessageOptions {
timeoutIntervalInS?: number;
}
export interface ReceiveSubscriptionMessageOptions extends ReceiveQueueMessageOptions {
isPeekLock?: boolean;
}
interface IBrokerPropertiesResponse {
readonly DeliveryCount: number;
readonly LockedUntil: DateString;
readonly LockToken: string;
readonly SequenceNumber: number;
}
interface IBrokerProperties {
CorrelationId: string;
Label: string;
MessageId: string;
PartitionKey: string;
ReplyTo: string;
ReplyToSessionId: string;
ScheduledEnqueueTimeUtc: string;
SessionId: string;
TimeToLive: string;
To: string;
}
export interface Message {
body: string;
brokerProperties?: BrokerProperties;
contentType?: string;
customProperties?: Dictionary<any>;
}
/*
* Options interfaces
*/
interface CreateOptions {
DefaultMessageTimeToLive: string;
DuplicateDetectionHistoryTimeWindow: string;
EnablePartitioning: boolean;
MaxSizeInMegaBytes: number;
RequiresDuplicateDetection: boolean;
}
interface IQueueOptions extends CreateOptions {
AutoDeleteOnIdle: string;
DeadLetteringOnMessageExpiration: boolean;
LockDuration: string;
RequiresSession: boolean;
}
interface ICreateTopicOptions extends CreateOptions {
EnableBatchedOperations: boolean;
SizeInBytes: boolean;
SupportOrdering: boolean;
}
interface ICreateTopicIfNotExistsOptions extends ICreateTopicOptions {
EnableDeadLetteringOnFilterEvaluationExceptions: boolean;
EnableDeadLetteringOnMessageExpiration: boolean;
MaxCorrelationFiltersPerTopic: number;
MaxSqlFiltersPerTopic: number;
MaxSubscriptionsPerTopic: number;
}
interface ICreateSubscriptionOptions {
DefaultMessageTimeToLive: string;
EnableDeadLetteringOnFilterEvaluationExceptions: boolean;
EnableDeadLetteringOnMessageExpiration: boolean;
LockDuration: string;
RequiresSession: boolean;
}
interface PaginationOptions {
top: number;
skip: number;
}
interface ICreateRuleOptions {
trueFilter: string;
falseFilter: string;
sqlExpressionFilter: string;
correlationIdFilter: string;
sqlRuleAction: string;
}
interface ICreateNotificationHubOptions {
apns: Dictionary<string>;
gcm: Dictionary<string>;
mpns: Dictionary<string>;
wns: Dictionary<string>;
}
export interface NotificationHubRegistration {
BodyTemplate?: any;
ChannelUri?: string;
DeviceToken?: string;
gcmRegistrationId?: string;
Tags?: string;
BodyTemplate?: any;
WnsHeaders?: any;
MpnsHeaders?: any;
Expiry?: Date;
gcmRegistrationId?: string;
MpnsHeaders?: any;
RegistrationId: string;
Tags?: string;
WnsHeaders?: any;
}
export class NotificationHubService {
new(hubName: string, endpointOrConnectionString: string, sharedAccessKeyName?: string, sharedAccessKeyValue?: string): NotificationHubService;
hubName: string;
wns: Wns.Service;
apns: Apns.Service;
gcm: Gcm.Service;
mpns: Mpns.Service;
send(tags: string, payload: Object | string, optionsOrCallback?: { headers: Object } | Callback, callback?: Callback): void;
createOrUpdateInstallation(installation: string, options: any, callback?: Callback): void;
patchInstallation(installationId: string, partialUpdateOperations: any[], options: any, callback?: Callback): void;
deleteInstallation(installationId: string, options: any, callback?: Callback): void;
getInstallation(installationId: string, options: any, callback?: Callback): void;
/*
// old school?
createRegistrationId(callback?: Callback): void;
getRegistration(registrationId: string, options: any, callback?: Callback): void;
deleteRegistration(registrationId: string, options?: { etag: any }, callback?: Callback): void;
updateRegistration(registration: NotificationHubRegistration, options?: { etag: any }, callback?: Callback): void;
createOrUpdateRegistration(registration: NotificationHubRegistration, options?: { etag: any }, callback?: Callback): void;
listRegistrations(options?: { top: number, skip: number }, callback?: Callback): void;
listRegistrationsByTag(tag: string, options?: { top: number, skip: number }, callback?: Callback): void;
*/
export interface Response {
body: Dictionary<string | object>;
headers: Dictionary<string>;
isSuccessful: boolean;
md5?: string;
statusCode: number;
}
export module Apns {
interface Payload {
expiry?: Date;
aps?: Object;
badge?: number;
alert?: string;
sound?: string;
payload: Object;
export interface ErrorResponse extends Response {
body: {
Error: {
Code: string;
Detail: string;
};
};
}
export namespace Results.Models {
export enum EntityStatus {
Active = 'Active',
Creating = 'Creating',
Deleting = 'Deleting',
Disabled = 'Disabled',
ReceiveDisabled = 'ReceiveDisabled',
Renaming = 'Renaming',
Restoring = 'Restoring',
SendDisabled = 'SendDisabled',
Unknown = 'Unknown'
}
interface Service {
new(service: NotificationHubService): Service;
send(tags: string | string[], payload: Apns.Payload, callback?: Callback): void;
createNativeRegistration(token: string, tags: string | string[], optionsOrCallback?: Object | Callback, callback?: Callback): void;
createOrUpdateNativeRegistration(registrationId: string, token: string, tags: string | string[], optionsOrCallback?: Object | Callback, callback?: Callback): void;
createTemplateRegistration(token: string, tags: string | string[], template: Apns.Payload, optionsOrCallback?: Object | Callback, callback?: Callback): void;
createOrUpdateTemplateRegistration(registrationId: string, token: string, tags: string | string[], template: Apns.Payload, optionsOrCallback?: Object | Callback, callback?: Callback): void;
updateTemplateRegistration(registrationId: string, token: string, tags: string | string[], template: Apns.Payload, optionsOrCallback?: Object | Callback, callback?: Callback): void;
listRegistrationsByToken(token: string, optionsOrCallback?: { top: number, skip: number } | Callback, callback?: Callback): void;
export enum EntityAvailabilityStatus {
Available = 'Available',
Limited = 'Limited',
Renaming = 'Renaming',
Restoring = 'Restoring',
Unknown = 'Unknown'
}
}
export module Gcm {
interface Service {
new(service: NotificationHubService): Service;
send(tags: string | string[], payload: any, callback?: Callback): void;
createNativeRegistration(gcmRegistrationId: string, tags: string | string[], optionsOrCallback?: Object | Callback, callback?: Callback): void;
createOrUpdateNativeRegistration(registrationId: string, gcmRegistrationId: string, tags: string | string[], optionsOrCallback?: Object | Callback, callback?: Callback): void;
createTemplateRegistration(gcmRegistrationId: string, tags: string | string[], template: any, optionsOrCallback?: Object | Callback, callback?: Callback): void;
createOrUpdateTemplateRegistration(registrationId: string, gcmRegistrationId: string, tags: string | string[], template: any, optionsOrCallback?: Object | Callback, callback?: Callback): void;
updateTemplateRegistration(registrationId: string, gcmRegistrationId: string, tags: string | string[], template: any, optionsOrCallback?: Object | Callback, callback?: Callback): void;
listRegistrationsByGcmRegistrationId(gcmRegistrationId: string, optionsOrCallback?: { top: number, skip: number } | Callback, callback?: Callback): void;
interface Base {
_: {
ContentRootElement: string;
id: string;
title: string;
published: DateString;
updated: DateString;
author?: {
name: string;
};
link: string;
};
CreatedAt: DateString;
}
interface ExtendedBase extends Base {
AuthorizationRules: string;
AutoDeleteOnIdle: string;
DefaultMessageTimeToLive: string;
DuplicateDetectionHistoryTimeWindow: Duration;
EnableBatchedOperations: string;
EnableExpress: string;
EnablePartitioning: string;
EntityAvailabilityStatus: string;
IsAnonymousAccessible: string;
MaxSizeInMegabytes: string;
RequiresDuplicateDetection: string;
SizeInBytes: string;
Status: EntityStatus;
UpdatedAt: DateString;
}
// export interface Generic extends Base {
// [x: string]: string | Dictionary<string | object>;
// }
export interface Topic extends ExtendedBase {
AccessedAt: DateString;
CountDetails: {
'd2p1:ActiveMessageCount': string;
'd2p1:DeadLetterMessageCount': string;
'd2p1:ScheduledMessageCount': string;
'd2p1:TransferMessageCount': string;
'd2p1:TransferDeadLetterMessageCount': string;
};
EnableSubscriptionPartitioning: string;
FilteringMessagesBeforePublishing: string;
IsExpress: string;
SubscriptionCount: string;
SupportOrdering: string;
TopicName: string;
}
export interface Queue extends ExtendedBase {
DeadLetteringOnMessageExpiration: string;
LockDuration: Duration;
MaxDeliveryCount: string;
MessageCount: string;
QueueName: string;
RequiresSession: string;
SupportOrdering: string;
}
export interface Subscription extends ExtendedBase {
CountDetails: {
'd3p1:ActiveMessageCount': string;
'd3p1:DeadLetterMessageCount': string;
'd3p1:ScheduledMessageCount': string;
'd3p1:TransferMessageCount': string;
'd3p1:TransferDeadLetterMessageCount': string;
};
DeadLetteringOnFilterEvaluationExceptions: string;
DeadLetteringOnMessageExpiration: string;
LockDuration: string;
MaxDeliveryCount: string;
MessageCount: string;
RequiresSession: string;
SubscriptionName: string;
TopicName: string;
}
/**
* @see https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter
*/
interface SqlFilter {
readonly CompatibilityLevel: string;
Parameters?: Dictionary<any>;
RequiresPreprocessing?: string;
SqlExpression: string;
}
type CorrelationFilter = Partial<{
ContentType: string;
CorrelationId: string;
Label: string;
Properties: string;
ReplyTo: string;
ReplyToSessionId: string;
RequiresPreprocessing: string;
SessionId: string;
To: string;
}>;
export interface Rule extends Base {
Action: string | SqlFilter;
Filter: SqlFilter | CorrelationFilter;
Name: string;
TopicName: string;
SubscriptionName: string;
RuleName: string;
}
}
export module Mpns { interface Service { } }
/*
* Callbacks
*/
export type ResponseCallback = (error: Error | null, response: Response) => void;
export module Wns {
interface Payload {
text1?: string;
text2?: string;
text3?: string;
text4?: string;
image1src?: string;
image1alt?: string;
image2src?: string;
image2alt?: string;
image3src?: string;
image3alt?: string;
image4src?: string;
image4alt?: string;
lang?: string;
type?: string;
}
export type ResultAndResponseCallback = (error: Error | null,
result: boolean | Results.Models.Base | Results.Models.Base[],
response: Response) => void;
interface Options {
headers: Object;
}
export type TypedResultAndResponseCallback<T> = (error: Error | null,
result: T,
response: Response) => void;
interface Service {
new(service: NotificationHubService): Service;
sendTileSquareBlock(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquareText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquareText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquareText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquareText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText05(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText06(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText07(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText08(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText09(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText10(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideText11(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquareImage(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquarePeekImageAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquarePeekImageAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquarePeekImageAndText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileSquarePeekImageAndText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideImage(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideImageCollection(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideImageAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideImageAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideBlockAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideBlockAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideSmallImageAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideSmallImageAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideSmallImageAndText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideSmallImageAndText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWideSmallImageAndText05(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection05(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageCollection06(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImageAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage05(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendTileWidePeekImage06(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastImageAndText01(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastImageAndText02(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastImageAndText03(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendToastImageAndText04(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
// badges = ['none','activity','alert','available','away','busy','newMessage','paused','playing','unavailable','error', 'attention']
sendBadge(tags: string | string[], value: string | number, optionsOrCallback?: Options | Callback, callback?: Callback): void;
sendRaw(tags: string | string[], payload: any, optionsOrCallback?: Options | Callback, callback?: Callback): void;
// types = ['wns/toast', 'wns/badge', 'wns/tile', 'wns/raw']
send(tags: string | string[], payload: string, type: string, optionsOrCallback?: Options | Callback, callback?: Callback): void;
createNativeRegistration(channel: string, tags: string | string[], optionsOrCallback?: Options | Callback, callback?: Callback): void;
createOrUpdateNativeRegistration(registrationId: string, channel: string, tags: string | string[], optionsOrCallback?: Options | Callback, callback?: Callback): void;
listRegistrationsByChannel(channel: string, optionsOrCallback?: { top: number, skip: number } | Callback, callback?: Callback): void;
}
}
/*
* Options interfaces with all properties as optional
*/
export type BrokerProperties = Partial<IBrokerProperties>;
export type BrokerPropertiesResponse = IBrokerPropertiesResponse & Partial<IBrokerProperties>;
export type CreateQueueOptions = Partial<IQueueOptions>;
export type CreateTopicOptions = Partial<ICreateTopicOptions>;
export type CreateTopicIfNotExistsOptions = Partial<ICreateTopicIfNotExistsOptions>;
export type CreateSubscriptionOptions = Partial<ICreateSubscriptionOptions>;
export type ListSubscriptionsOptions = Partial<PaginationOptions>;
export type ListRulesOptions = Partial<PaginationOptions>;
export type CreateRuleOptions = Partial<ICreateRuleOptions>;
export type CreateNotificationHubOptions = Partial<ICreateNotificationHubOptions>;
export type ListNotificationHubsOptions = Partial<PaginationOptions>;
export type MessageOrName = Message | string;
}

83
types/azure-sb/lib/apnsservice.d.ts vendored Normal file
View File

@ -0,0 +1,83 @@
import { Azure } from '../index';
import NotificationHubService = require('azure-sb/lib/notificationhubservice');
import ResponseCallback = Azure.ServiceBus.ResponseCallback;
import NotificationHubRegistration = Azure.ServiceBus.NotificationHubRegistration;
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import Dictionary = Azure.ServiceBus.Dictionary;
type Template = Partial<{
expiry: Date;
aps: object;
badge: number;
alert: string;
sound: string;
payload: object;
}>;
declare class ApnsService {
constructor(notificationHubService: NotificationHubService);
public notificationHubService: NotificationHubService;
public send(tags: string | string[],
payload: object | string,
callback: ResponseCallback): void;
public send(tags: string | string[],
payload: object | string,
options: { headers: Dictionary<string> },
callback: ResponseCallback): void;
public createNativeRegistration(token: string,
tags: string | string[],
callback: ResponseCallback): void;
public createNativeRegistration(token: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
token: string,
tags: string | string[],
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
token: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createTemplateRegistration(token: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public createTemplateRegistration(token: string,
tags: string | string[],
template: Template | string,
options: object,
callback: ResponseCallback): void;
public updateTemplateRegistration(registrationId: string,
token: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public updateTemplateRegistration(registrationId: string,
token: string,
tags: string | string[],
template: Template | string,
options: { headers: Dictionary<string> },
callback: ResponseCallback): void;
public listRegistrationsByToken(token: string,
callback: ResponseCallback): void;
public listRegistrationsByToken(token: string,
options: ListNotificationHubsOptions,
callback: ResponseCallback): void;
}
export = ApnsService;

71
types/azure-sb/lib/gcmservice.d.ts vendored Normal file
View File

@ -0,0 +1,71 @@
import { Azure } from '../index';
import NotificationHubService = require('azure-sb/lib/notificationhubservice');
import ResponseCallback = Azure.ServiceBus.ResponseCallback;
import NotificationHubRegistration = Azure.ServiceBus.NotificationHubRegistration;
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import Dictionary = Azure.ServiceBus.Dictionary;
type Template = Partial<{}>;
declare class GcmService {
constructor(notificationHubService: NotificationHubService);
public notificationHubService: NotificationHubService;
public send(tags: string | string[],
payload: object | string,
callback: ResponseCallback): void;
public createNativeRegistration(gcmRegistrationId: string,
tags: string | string[],
callback: ResponseCallback): void;
public createNativeRegistration(token: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
gcmRegistrationId: string,
tags: string | string[],
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
gcmRegistrationId: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createTemplateRegistration(gcmRegistrationId: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public createTemplateRegistration(gcmRegistrationId: string,
tags: string | string[],
template: Template | string,
options: object,
callback: ResponseCallback): void;
public updateTemplateRegistration(registrationId: string,
gcmRegistrationId: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public updateTemplateRegistration(registrationId: string,
gcmRegistrationId: string,
tags: string | string[],
template: Template | string,
options: { headers: Dictionary<string> },
callback: ResponseCallback): void;
public listRegistrationsByGcmRegistrationId(gcmRegistrationId: string,
callback: ResponseCallback): void;
public listRegistrationsByGcmRegistrationId(gcmRegistrationId: string,
options: ListNotificationHubsOptions,
callback: ResponseCallback): void;
}
export = GcmService;

View File

@ -0,0 +1,29 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface AcsTokenResponse extends Dictionary<string | Dictionary<string>> {
WrapAccessToken: Dictionary<string>;
WrapAccessTokenExpiresIn: Dictionary<string>;
}
export interface AcsTokenResult {
parse(acsTokenQueryString: string): AcsTokenResponse;
}
}

View File

@ -0,0 +1,26 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface NotificationHubResult {
serialize(resource: Azure.ServiceBus.CreateNotificationHubOptions): string;
parse(xml: object): object | object[];
}
}

View File

@ -0,0 +1,40 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Module dependencies.
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface QueueResponse {
body: any;
headers: Dictionary<string>
}
export interface QueueMessageResponse {
body: any;
brokerProperties?: Azure.ServiceBus.BrokerProperties;
customProperties?: Dictionary<any>;
contentType?: string;
location?: string;
}
export interface QueueMessageResult {
parse(responseObject: object): QueueMessageResponse;
isRFC1123(value: string | any): boolean;
}
}

View File

@ -0,0 +1,41 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface QueueProperties {
DeadLetteringOnMessageExpiration: string;
DefaultMessageTimeToLive: string;
DuplicateDetectionHistoryTimeWindow: string;
EnableBatchedOperations: boolean;
EnablePartitioning: boolean;
LockDuration: string;
MaxDeliveryCount: number;
MaxSizeInMegabytes: number;
MessageCount: number;
RequiresDuplicateDetection: boolean;
RequiresSession: boolean;
SizeInBytes: number;
}
export interface QueueResult {
serialize(resource: QueueProperties): string;
parse(xml: object): object | object[];
}
}

View File

@ -0,0 +1,26 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface RegistrationResult {
serialize(type: string, resource: object, properties: string[]): string;
parse(xml: object): object | object[];
}
}

View File

@ -0,0 +1,28 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
import Dictionary = Azure.ServiceBus.Dictionary;
export namespace Azure.ServiceBus.Results {
export interface ResourceResult {
setName(entry: Dictionary<any> | { _: { id: string } }, nameProperty: string): void;
serialize(resourceName: string, resource: object, properties: string[]): string;
parse(resourceName: string, nameProperty: string, xml: object): object | object[];
}
}

View File

@ -0,0 +1,26 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Module dependencies.
import { Azure } from 'azure-sb';
export namespace Azure.ServiceBus.Results {
export interface RuleResult {
serialize(rule: Azure.ServiceBus.CreateRuleOptions): string;
parse(xml: object): object | object[];
}
}

View File

@ -0,0 +1,37 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { Azure } from 'azure-sb';
export namespace Azure.ServiceBus.Results {
export interface SubscriptionProperties {
LockDuration: string;
RequiresSession: boolean;
DefaultMessageTimeToLive: string;
DeadLetteringOnMessageExpiration: string;
DeadLetteringOnFilterEvaluationExceptions: string;
MessageCount: number;
MaxDeliveryCount: number;
EnableBatchedOperations: boolean;
AutoDeleteOnIdle: boolean;
}
export interface SubscriptionResult {
serialize(resource: SubscriptionProperties): string;
parse(xml: object): object | object[];
}
}

View File

@ -0,0 +1,32 @@
//
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
export namespace Azure.ServiceBus.Results {
export interface TopicProperties {
DefaultMessageTimeToLive: string;
MaxSizeInMegabytes: number;
RequiresDuplicateDetection: boolean;
DuplicateDetectionHistoryTimeWindow: string;
EnableBatchedOperations: boolean;
SizeInBytes: number;
SupportOrdering: boolean;
EnablePartitioning: boolean;
}
}
export function serialize(resource: Azure.ServiceBus.Results.TopicProperties): string;
export function parse(xml: object): object | object[];

116
types/azure-sb/lib/mpnservice.d.ts vendored Normal file
View File

@ -0,0 +1,116 @@
import { Azure } from '../index';
import NotificationHubService = require('azure-sb/lib/notificationhubservice');
import ResponseCallback = Azure.ServiceBus.ResponseCallback;
import NotificationHubRegistration = Azure.ServiceBus.NotificationHubRegistration;
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import Dictionary = Azure.ServiceBus.Dictionary;
type Template = TileTemplate | FlipTileTemplate | ToastTemplate;
interface TileTemplate {
backgroundImage: string;
count: string;
title: string;
backBackgroundImage: string;
backTitle: string;
backContent: string;
id: string;
}
interface FlipTileTemplate extends TileTemplate {
smallBackgroundImage: string;
wideBackgroundImage: string;
wideBackContent: string;
wideBackBackgroundImage: string;
}
interface ToastTemplate {
text1: string;
text2: string;
param?: string;
}
declare class MpnsService {
constructor(notificationHubService: NotificationHubService);
public notificationHubService: NotificationHubService;
public send(tags: string | string[],
payload: object | string,
targetName: string,
notificationClass: string,
callback: ResponseCallback): void;
public send(tags: string | string[],
payload: object | string,
targetName: string,
notificationClass: string,
options: { headers: Dictionary<string> },
callback: ResponseCallback): void;
public createNativeRegistration(channel: string,
tags: string | string[],
callback: ResponseCallback): void;
public createNativeRegistration(channel: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
channel: string,
tags: string | string[],
callback: ResponseCallback): void;
public createOrUpdateNativeRegistration(registrationId: string,
channel: string,
tags: string | string[],
options: object,
callback: ResponseCallback): void;
public createRawTemplateRegistration(channel: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public createRawTemplateRegistration(channel: string,
tags: string | string[],
template: Template | string,
options: object,
callback: ResponseCallback): void;
public createOrUpdateRawTemplateRegistration(registrationId: string,
channel: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public createOrUpdateRawTemplateRegistration(registrationId: string,
channel: string,
tags: string | string[],
template: Template | string,
options: object,
callback: ResponseCallback): void;
public updatesRawTemplateRegistration(registrationId: string,
channel: string,
tags: string | string[],
template: Template | string,
callback: ResponseCallback): void;
public updatesRawTemplateRegistration(registrationId: string,
channel: string,
tags: string | string[],
template: Template | string,
options: object,
callback: ResponseCallback): void;
public listRegistrationsByChannel(channel: string,
callback: ResponseCallback): void;
public listRegistrationsByChannel(channel: string,
options: ListNotificationHubsOptions,
callback: ResponseCallback): void;
}
export = MpnsService;

View File

@ -0,0 +1,102 @@
import { Azure } from 'azure-sb';
import Callback = Azure.ServiceBus.ResponseCallback;
import NotificationHubRegistration = Azure.ServiceBus.NotificationHubRegistration;
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import ApnsService = require('./apnsservice');
import GcmService = require('./gcmservice');
import MpnsService = require('./mpnservice');
import WnsService = require('./wnsservice');
declare class NotificationHubService {
constructor(hubName: string,
endpointOrConnectionString: string,
sharedAccessKeyName: string,
sharedAccessKeyValue: string);
public hubName: string;
public wns: WnsService;
public apns: ApnsService;
public gcm: GcmService;
public mpns: MpnsService;
public send(tags: string,
payload: object | string,
callback: Callback): void;
public send(tags: string,
payload: object | string,
options: { headers: object },
callback: Callback): void;
public createOrUpdateInstallation(installation: string,
callback: Callback): void;
public createOrUpdateInstallation(installation: string,
options: any,
callback: Callback): void;
public patchInstallation(installationId: string,
partialUpdateOperations: any[],
callback: Callback): void;
public patchInstallation(installationId: string,
partialUpdateOperations: any[],
options: any,
callback: Callback): void;
public deleteInstallation(installationId: string,
callback: Callback): void;
public deleteInstallation(installationId: string,
options: any,
callback: Callback): void;
public getInstallation(installationId: string,
callback: Callback): void;
public getInstallation(installationId: string,
options: any,
callback: Callback): void;
public createRegistrationId(callback: Callback): void;
public getRegistration(registrationId: string,
callback: Callback): void;
public getRegistration(registrationId: string,
options: any,
callback: Callback): void;
public deleteRegistration(registrationId: string,
callback: Callback): void;
public deleteRegistration(registrationId: string,
options: { etag: any },
callback: Callback): void;
public updateRegistration(registration: NotificationHubRegistration,
callback: Callback): void;
public updateRegistration(registration: NotificationHubRegistration,
options: { etag: any },
callback: Callback): void;
public createOrUpdateRegistration(registration: NotificationHubRegistration,
options: { etag: any },
callback: Callback): void;
public listRegistrations(callback: Callback): void;
public listRegistrations(options: ListNotificationHubsOptions,
callback: Callback): void;
public listRegistrationsByTag(tag: string,
callback: Callback): void;
public listRegistrationsByTag(tag: string,
options: ListNotificationHubsOptions,
callback: Callback): void;
}
export = NotificationHubService;

View File

@ -0,0 +1,206 @@
import { Azure } from '../index';
import ServiceBusServiceBase = require('./servicebusservicebase');
import CreateNotificationHubOptions = Azure.ServiceBus.CreateNotificationHubOptions;
import CreateQueueOptions = Azure.ServiceBus.CreateQueueOptions;
import CreateRuleOptions = Azure.ServiceBus.CreateRuleOptions;
import CreateSubscriptionOptions = Azure.ServiceBus.CreateSubscriptionOptions;
import CreateTopicIfNotExistsOptions = Azure.ServiceBus.CreateTopicIfNotExistsOptions;
import CreateTopicOptions = Azure.ServiceBus.CreateTopicOptions;
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import ListRulesOptions = Azure.ServiceBus.ListRulesOptions;
import ListSubscriptionsOptions = Azure.ServiceBus.ListSubscriptionsOptions;
import MessageOrName = Azure.ServiceBus.MessageOrName;
import Queue = Azure.ServiceBus.Results.Models.Queue;
import ReceiveQueueMessageOptions = Azure.ServiceBus.ReceiveQueueMessageOptions;
import ReceiveSubscriptionMessageOptions = Azure.ServiceBus.ReceiveSubscriptionMessageOptions;
import ResponseCallback = Azure.ServiceBus.ResponseCallback;
import ResultAndResponseCallback = Azure.ServiceBus.ResultAndResponseCallback;
import Rule = Azure.ServiceBus.Results.Models.Rule;
import Subscription = Azure.ServiceBus.Results.Models.Subscription;
import Topic = Azure.ServiceBus.Results.Models.Topic;
import TypedResultAndResponseCallback = Azure.ServiceBus.TypedResultAndResponseCallback;
import Message = Azure.ServiceBus.Message;
declare class ServiceBusService extends ServiceBusServiceBase {
constructor(configOrNamespaceOrConnectionString?: string,
accessKey?: string,
issuer?: string,
acsNamespace?: string,
host?: string,
authenticationProvider?: object);
public receiveQueueMessage(queuePath: string,
callback: TypedResultAndResponseCallback<Message>): void;
public receiveQueueMessage(queuePath: string,
options: ReceiveQueueMessageOptions,
callback: TypedResultAndResponseCallback<Message>): void;
public receiveSubscriptionMessage(topicPath: string,
subscriptionPath: string,
callback: TypedResultAndResponseCallback<Message>): void;
public receiveSubscriptionMessage(topicPath: string,
subscriptionPath: string,
options: ReceiveSubscriptionMessageOptions,
callback: TypedResultAndResponseCallback<Message>): void;
public deleteMessage(message: MessageOrName,
callback: ResponseCallback): void;
public unlockMessage(message: MessageOrName,
callback: ResponseCallback): void;
public renewLockForMessage(message: MessageOrName,
callback: ResponseCallback): void;
public sendQueueMessage(queuePath: string,
message: MessageOrName,
callback: ResponseCallback): void;
public sendTopicMessage(topicPath: string,
message: MessageOrName,
callback: ResponseCallback): void;
/*
* Queue Management functions
*/
public createQueue(queuePath: string,
callback: TypedResultAndResponseCallback<Queue>): void;
public createQueue(queuePath: string,
options: CreateQueueOptions,
callback: TypedResultAndResponseCallback<Queue>): void;
public createQueueIfNotExists(queuePath: string,
callback: TypedResultAndResponseCallback<boolean>): void;
public createQueueIfNotExists(queuePath: string,
options: CreateQueueOptions,
callback: TypedResultAndResponseCallback<boolean>): void;
public deleteQueue(queuePath: string,
callback: ResponseCallback): void;
public getQueue(queuePath: string,
callback: TypedResultAndResponseCallback<Queue>): void;
public listQueues(queuePath: string,
callback: TypedResultAndResponseCallback<Queue[]>): void;
/*
* Topic Management functions
*/
public createTopic(topicPath: string,
callback: TypedResultAndResponseCallback<Topic>): void;
public createTopic(topicPath: string,
options: CreateTopicOptions,
callback: TypedResultAndResponseCallback<Topic>): void;
public createTopicIfNotExists(topicPath: string,
callback: TypedResultAndResponseCallback<boolean>): void;
public createTopicIfNotExists(topicPath: string,
options: CreateTopicIfNotExistsOptions,
callback: TypedResultAndResponseCallback<boolean>): void;
public deleteTopic(topicPath: string,
callback: ResponseCallback): void;
public getTopic(topicPath: string,
callback: TypedResultAndResponseCallback<Topic>): void;
public listTopics(topicPath: string,
callback: TypedResultAndResponseCallback<Topic[]>): void;
/*
* Subscription functions
*/
public createSubscription(topicPath: string,
subscriptionPath: string,
callback: TypedResultAndResponseCallback<Subscription>): void;
public createSubscription(topicPath: string,
subscriptionPath: string,
options: CreateSubscriptionOptions,
callback: TypedResultAndResponseCallback<Subscription>): void;
public deleteSubscription(topicPath: string,
subscriptionPath: string,
callback: ResponseCallback): void;
public getSubscription(topicPath: string,
subscriptionPath: string,
callback: TypedResultAndResponseCallback<Subscription>): void;
public listSubscriptions(topicPath: string,
callback: TypedResultAndResponseCallback<Subscription[]>): void;
public listSubscriptions(topicPath: string,
options: ListSubscriptionsOptions,
callback: TypedResultAndResponseCallback<Subscription[]>): void;
/*
* Rule functions
*/
public createRule(topicPath: string,
subscriptionPath: string,
rulePath: string,
callback: TypedResultAndResponseCallback<Rule>): void;
public createRule(topicPath: string,
subscriptionPath: string,
rulePath: string,
options: CreateRuleOptions,
callback: TypedResultAndResponseCallback<Rule>): void;
public deleteRule(topicPath: string,
subscriptionPath: string,
rulePath: string,
callback: ResponseCallback): void;
public getRule(topicPath: string,
subscriptionPath: string,
rulePath: string,
callback: TypedResultAndResponseCallback<Rule>): void;
public listRules(topicPath: string,
subscriptionPath: string,
callback: TypedResultAndResponseCallback<Rule[]>): void;
public listRules(topicPath: string,
subscriptionPath: string,
options: ListRulesOptions,
callback: TypedResultAndResponseCallback<Rule[]>): void;
/*
* NotificationHub functions
*/
public createNotificationHub(hubPath: string,
callback: ResultAndResponseCallback): void;
public createNotificationHub(hubPath: string,
options: CreateNotificationHubOptions,
callback: ResultAndResponseCallback): void;
public getNotificationHub(hubPath: string,
callback: ResultAndResponseCallback): void;
public listNotificationHubs(callback: ResultAndResponseCallback): void;
public listNotificationHubs(options: ListNotificationHubsOptions,
callback: ResultAndResponseCallback): void;
public deleteNotificationHub(hubPath: string,
callback: ResponseCallback): void;
}
export = ServiceBusService;

View File

@ -0,0 +1,12 @@
import ServiceBusServiceClient = require('azure-sb/lib/servicebusserviceclient');
declare class ServiceBusServiceBase extends ServiceBusServiceClient {
constructor(configOrNamespaceOrConnectionString: string,
accessKey?: string,
issuer?: string,
acsNamespace?: string,
host?: string,
authenticationProvider?: object);
}
export = ServiceBusServiceBase;

View File

@ -0,0 +1,14 @@
/// <reference types="node" />
import EventEmitter = NodeJS.EventEmitter;
declare class ServiceBusServiceClient extends EventEmitter {
constructor(accessKey?: string,
issuer?: string,
sharedAccessKeyName?: string,
sharedAccessKeyValue?: string,
host?: string,
acsHost?: string,
authenticationProvider?: object);
}
export = ServiceBusServiceClient;

377
types/azure-sb/lib/wnsservice.d.ts vendored Normal file
View File

@ -0,0 +1,377 @@
import NotificationHubService = require('azure-sb/lib/notificationhubservice');
import Callback = Azure.ServiceBus.ResponseCallback;
import { Azure } from 'azure-sb';
import ListNotificationHubsOptions = Azure.ServiceBus.ListNotificationHubsOptions;
import Dictionary = Azure.ServiceBus.Dictionary;
type Payload = Partial<{
text1: string;
text2: string;
text3: string;
text4: string;
image1src: string;
image1alt: string;
image2src: string;
image2alt: string;
image3src: string;
image3alt: string;
image4src: string;
image4alt: string;
lang: string;
type: string;
}>;
interface Options {
headers: Dictionary<string>;
}
type badges =
'none'
| 'activity'
| 'alert'
| 'available'
| 'away'
| 'busy'
| 'newMessage'
| 'paused'
| 'playing'
| 'unavailable'
| 'error'
| 'attention';
type types = 'wns/toast' | 'wns/badge' | 'wns/tile' | 'wns/raw';
declare class WnsService {
constructor(service: NotificationHubService);
public notificationHubService: NotificationHubService;
sendTileSquareBlock(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquareText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquareText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquareText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquareText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText05(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText06(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText07(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText08(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText09(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText10(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideText11(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquareImage(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquarePeekImageAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquarePeekImageAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquarePeekImageAndText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileSquarePeekImageAndText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideImage(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideImageCollection(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideImageAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideImageAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideBlockAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideBlockAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideSmallImageAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideSmallImageAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideSmallImageAndText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideSmallImageAndText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWideSmallImageAndText05(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection05(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageCollection06(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImageAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage05(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendTileWidePeekImage06(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastImageAndText01(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastImageAndText02(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastImageAndText03(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendToastImageAndText04(tags: string | string[],
payload: any,
optionsOrCallback: Options | Callback,
callback?: Callback): void;
sendBadge(tags: badges | badges[],
value: string | number,
callback?: Callback): void;
sendBadge(tags: badges | badges[],
value: string | number,
options: Options,
callback?: Callback): void;
sendRaw(tags: string | string[],
payload: any,
callback?: Callback): void;
sendRaw(tags: string | string[],
payload: any,
options: Options,
callback?: Callback): void;
send(tags: string | string[],
payload: string,
type: types,
callback?: Callback): void;
send(tags: string | string[],
payload: string,
type: types,
options: Options,
callback: Callback): void;
createNativeRegistration(channel: string,
tags: string | string[],
callback: Callback): void;
createNativeRegistration(channel: string,
tags: string | string[],
options: Options,
callback: Callback): void;
createOrUpdateNativeRegistration(registrationId: string,
channel: string,
tags: string | string[],
callback: Callback): void;
createOrUpdateNativeRegistration(registrationId: string,
channel: string,
tags: string | string[],
options: Options,
callback: Callback): void;
listRegistrationsByChannel(channel: string,
callback: Callback): void;
listRegistrationsByChannel(channel: string,
options: ListNotificationHubsOptions,
callback: Callback): void;
}
export = WnsService;

21
types/azure-sb/lib/wrapservice.d.ts vendored Normal file
View File

@ -0,0 +1,21 @@
import { Azure } from 'azure-sb';
declare class WrapService {
constructor(acsHost: string, issuer?: string, accessKey?: string);
public issuer?: string;
public accessKey?: string;
public authenticationProvider: {
signRequest(webResource: any, callback: () => void): void;
};
public strictSSL: boolean;
public wrapAccessToken(uri: string,
callback: Azure.ServiceBus.ResponseCallback): void;
public wrapAccessToken(uri: string,
options: object,
callback: Azure.ServiceBus.ResponseCallback): void;
}
export = WrapService;

View File

@ -17,7 +17,26 @@
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"azure-sb-tests.ts"
"lib/servicebusservice.d.ts",
"lib/wrapservice.d.ts",
"lib/servicebusservicebase.d.ts",
"lib/notificationhubservice.d.ts",
"lib/models/topicresult.d.ts",
"lib/models/queuemessageresult.d.ts",
"lib/models/acstokenresult.d.ts",
"lib/models/registrationresult.d.ts",
"lib/models/ruleresult.d.ts",
"lib/models/queueresult.d.ts",
"lib/models/subscriptionresult.d.ts",
"lib/models/notificationhubresult.d.ts",
"lib/models/resourceresult.d.ts",
"lib/servicebusserviceclient.d.ts",
"lib/gcmservice.d.ts",
"lib/wnsservice.d.ts",
"lib/mpnservice.d.ts",
"lib/apnsservice.d.ts",
"azure-sb-tests.ts",
"index.d.ts"
]
}
}